├── .env.example ├── .gitignore ├── README.md ├── app ├── abis │ ├── BARA.json │ ├── CAW.json │ ├── CRORA.json │ ├── CROfam.json │ ├── Contract.json │ ├── Croginal.json │ ├── DEXRouter.json │ ├── ENiG.json │ ├── FFTheBozos.json │ ├── Factory.json │ ├── MERY.json │ ├── MOON.json │ ├── Pair.json │ ├── REAPER.json │ ├── Staking.json │ ├── TURTLE.json │ ├── Tokens.ts │ ├── USDC.json │ ├── USDT.json │ ├── WCRO.json │ ├── WETH.json │ └── abi.json ├── components │ ├── ActionButton.tsx │ ├── bottomBar.tsx │ ├── liquidity │ │ ├── ShowPercent.tsx │ │ └── removeLiquidity.tsx │ ├── provider.tsx │ ├── staking │ │ ├── TotalLockedValue.tsx │ │ └── YourLockedValue.tsx │ └── swap │ │ ├── ActionButton.tsx │ │ ├── inputLoadingGif.tsx │ │ ├── inputTag.tsx │ │ ├── loadingGif.tsx │ │ ├── setSlippageButton.tsx │ │ ├── setSlippageModal.tsx │ │ ├── showBalance.tsx │ │ ├── tokenModal.tsx │ │ └── topBar.tsx ├── config │ ├── config.ts │ ├── index.ts │ └── wagmi.ts ├── favicon.ico ├── fonts │ ├── GeistMonoVF.woff │ └── GeistVF.woff ├── globals.css ├── layout.tsx ├── liquidity │ ├── add │ │ └── page.tsx │ ├── import │ │ └── page.tsx │ ├── page.tsx │ └── viewpool │ │ └── page.tsx ├── page.tsx ├── staking │ ├── page.tsx │ └── page_.tsx ├── swap │ └── page.tsx └── types │ ├── constants.ts │ ├── index.ts │ └── pair.ts ├── next.config.mjs ├── package-lock.json ├── package.json ├── postcss.config.mjs ├── public ├── img │ ├── MintPageBackground.webp │ ├── cronosproject.webp │ ├── logo.png │ ├── swapping.gif │ └── token_icons │ │ ├── ADA.png │ │ ├── AGENTFUN.png │ │ ├── ARY.png │ │ ├── BALLZ.png │ │ ├── BARA.png │ │ ├── BORED.png │ │ ├── BUI.png │ │ ├── BUTT.png │ │ ├── CAW.png │ │ ├── CHRISP.png │ │ ├── CLOVE.png │ │ ├── CRO.png │ │ ├── CRO1.png │ │ ├── CROAK.png │ │ ├── CRONAN.png │ │ ├── CRORA.png │ │ ├── Croginal.png │ │ ├── DOGE.png │ │ ├── Dofi.png │ │ ├── DougeRug.png │ │ ├── ELMO.png │ │ ├── ENiG.png │ │ ├── ETF.png │ │ ├── FAF.png │ │ ├── FFTB.png │ │ ├── FFTBozos.png │ │ ├── FROGS.png │ │ ├── GAINZ.png │ │ ├── GM.png │ │ ├── GRNSTX V2.png │ │ ├── H2.png │ │ ├── HAM.png │ │ ├── HOOT.png │ │ ├── LEX.png │ │ ├── LION.png │ │ ├── MEERKAT.png │ │ ├── MERY.png │ │ ├── MOON.png │ │ ├── MTRX.png │ │ ├── NEURO.png │ │ ├── PAPACRO.png │ │ ├── PUUSH.png │ │ ├── REAPER.png │ │ ├── RETRIB.png │ │ ├── RTRD.png │ │ ├── SHIB.png │ │ ├── SOL.png │ │ ├── STAB.png │ │ ├── TRUMP.png │ │ ├── TURTLE.png │ │ ├── USDC.png │ │ ├── USDT.png │ │ ├── WCRO.png │ │ ├── WETH.png │ │ ├── WIG.png │ │ ├── WINE.png │ │ ├── WW.png │ │ ├── XRP.png │ │ ├── chillkris.png │ │ └── empty.png └── sounds │ ├── dexswap-dex1.mp3 │ └── dexswap-dex2.mp3 ├── tailwind.config.ts └── tsconfig.json /.env.example: -------------------------------------------------------------------------------- 1 | NEXT_PUBLIC_WOLFSWAP_API_KEY = "API key for your project" 2 | NEXT_PUBLIC_FEE_WALLET = "swap fee wallet address" 3 | NEXT_PUBLIC_DEX_ROUTER = "router address" 4 | NEXT_PUBLIC_DEX_FACTORY = "factory address" -------------------------------------------------------------------------------- /.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 | .yarn/install-state.gz 8 | 9 | # testing 10 | /coverage 11 | 12 | # next.js 13 | /.next/ 14 | /out/ 15 | 16 | # production 17 | /build 18 | 19 | # misc 20 | .DS_Store 21 | *.pem 22 | 23 | # debug 24 | npm-debug.log* 25 | yarn-debug.log* 26 | yarn-error.log* 27 | 28 | # local env files 29 | .env*.local 30 | .env 31 | 32 | # vercel 33 | .vercel 34 | 35 | # typescript 36 | *.tsbuildinfo 37 | next-env.d.ts 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 🔭 EVM-Dex **Swap-Liquidity-Staking** Platform 🔭 2 | 3 | _EVM-Dex **Swap-Liquidity-Staking** Platform_ is a decentralized exchange (DEX) platform built to support token swaps, staking, and liquidity management across all EVM-compatible blockchains. This project provides a toolkit for developers to implement and customize their own decentralized exchange solutions with integrated features like staking contracts and liquidity pool management. 4 | Also can intergrate with other dex swap like wolfswap and uniswap so that provide users the best swap. 5 | 6 | 7 | ![Untitled](https://github.com/user-attachments/assets/7d7a3a5b-e032-46e1-8978-3a24efc39ba7) 8 | 9 | 10 | ## Features 11 | 12 | - **Token Swaps**: Allows users to swap tokens on any EVM chain using their own router or can intergrate with other swaps. 13 | - **Staking**: Supports staking on customizable contracts and provide rewards. 14 | - **Liquidity Management**: Users can add and remove liquidity on their own factory and router. 15 | - **Cross-Chain Compatibility**: Can be deployed across all EVM-compatible blockchains (Ethereum, Binance Smart Chain, Polygon, Avalanche, etc.). 16 | - **Fully Decentralized**: No centralized intermediary, fully trustless. 17 | 18 | 19 | ** Project can help you launch new tokens and also provide bots to increase volume like volume bot or other services. 20 | 21 | 22 | ## Installation 23 | 24 | This is just Frontend code. 25 | To get started with EVM-Dex-Swap, clone this repository and install dependencies. 26 | 27 | ```bash 28 | git clone https://github.com/yourusername/EVM-dex-swap.git 29 | cd EVM-dex-swap 30 | npm install 31 | ``` 32 | 33 | Frontend is opensource. 34 | To get more functions for frontend, swap & liquidity & staking smart contracts and liquidity-admin-managemant site, Feel free to contact Me! 35 | 36 | # 👨‍💻 Author 37 | ### 📞 Telegram: [0xOpsDev](https://t.me/its0xopsdev) 38 | https://t.me/its0xopsdev 39 | 40 | 41 | -------------------------------------------------------------------------------- /app/abis/BARA.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/CAW.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ClaimNotStarted","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[],"name":"InvalidTimestamps","type":"error"},{"inputs":[],"name":"NoContribution","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"RecipientsAmountsMismatch","type":"error"},{"inputs":[],"name":"SaleAlreadyEnded","type":"error"},{"inputs":[],"name":"SaleNotStarted","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"contributor","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountContributed","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotalCROContributed","type":"uint256"}],"name":"ContributionUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"SALE_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"caw","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"cawcaw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimStartTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"croContributions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"earlycrow","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"saleEndTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"saleStartTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_claimStartTimestamp","type":"uint256"}],"name":"setClaimStartTimestamp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_saleStartTimestamp","type":"uint256"},{"internalType":"uint256","name":"_saleEndTimestamp","type":"uint256"}],"name":"setSalePeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalCROContributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"withdrawCro","outputs":[],"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/CRORA.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/CROfam.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/Contract.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "inputs": [], 4 | "stateMutability": "nonpayable", 5 | "type": "constructor" 6 | }, 7 | { 8 | "inputs": [ 9 | { 10 | "internalType": "address", 11 | "name": "owner", 12 | "type": "address" 13 | } 14 | ], 15 | "name": "OwnableInvalidOwner", 16 | "type": "error" 17 | }, 18 | { 19 | "inputs": [ 20 | { 21 | "internalType": "address", 22 | "name": "account", 23 | "type": "address" 24 | } 25 | ], 26 | "name": "OwnableUnauthorizedAccount", 27 | "type": "error" 28 | }, 29 | { 30 | "anonymous": false, 31 | "inputs": [ 32 | { 33 | "indexed": true, 34 | "internalType": "address", 35 | "name": "previousOwner", 36 | "type": "address" 37 | }, 38 | { 39 | "indexed": true, 40 | "internalType": "address", 41 | "name": "newOwner", 42 | "type": "address" 43 | } 44 | ], 45 | "name": "OwnershipTransferred", 46 | "type": "event" 47 | }, 48 | { 49 | "inputs": [], 50 | "name": "ARY", 51 | "outputs": [ 52 | { 53 | "internalType": "address", 54 | "name": "", 55 | "type": "address" 56 | } 57 | ], 58 | "stateMutability": "view", 59 | "type": "function" 60 | }, 61 | { 62 | "inputs": [], 63 | "name": "CUSDC", 64 | "outputs": [ 65 | { 66 | "internalType": "address", 67 | "name": "", 68 | "type": "address" 69 | } 70 | ], 71 | "stateMutability": "view", 72 | "type": "function" 73 | }, 74 | { 75 | "inputs": [], 76 | "name": "CUSDT", 77 | "outputs": [ 78 | { 79 | "internalType": "address", 80 | "name": "", 81 | "type": "address" 82 | } 83 | ], 84 | "stateMutability": "view", 85 | "type": "function" 86 | }, 87 | { 88 | "inputs": [], 89 | "name": "DEXFACTORY", 90 | "outputs": [ 91 | { 92 | "internalType": "address", 93 | "name": "", 94 | "type": "address" 95 | } 96 | ], 97 | "stateMutability": "view", 98 | "type": "function" 99 | }, 100 | { 101 | "inputs": [], 102 | "name": "DEXROUTER", 103 | "outputs": [ 104 | { 105 | "internalType": "address", 106 | "name": "", 107 | "type": "address" 108 | } 109 | ], 110 | "stateMutability": "view", 111 | "type": "function" 112 | }, 113 | { 114 | "inputs": [], 115 | "name": "WCRO", 116 | "outputs": [ 117 | { 118 | "internalType": "address", 119 | "name": "", 120 | "type": "address" 121 | } 122 | ], 123 | "stateMutability": "view", 124 | "type": "function" 125 | }, 126 | { 127 | "inputs": [ 128 | { 129 | "internalType": "uint256", 130 | "name": "", 131 | "type": "uint256" 132 | } 133 | ], 134 | "name": "addresses", 135 | "outputs": [ 136 | { 137 | "internalType": "address", 138 | "name": "", 139 | "type": "address" 140 | } 141 | ], 142 | "stateMutability": "view", 143 | "type": "function" 144 | }, 145 | { 146 | "inputs": [], 147 | "name": "clearVolume", 148 | "outputs": [], 149 | "stateMutability": "nonpayable", 150 | "type": "function" 151 | }, 152 | { 153 | "inputs": [], 154 | "name": "competition_started", 155 | "outputs": [ 156 | { 157 | "internalType": "bool", 158 | "name": "", 159 | "type": "bool" 160 | } 161 | ], 162 | "stateMutability": "view", 163 | "type": "function" 164 | }, 165 | { 166 | "inputs": [], 167 | "name": "deposit", 168 | "outputs": [], 169 | "stateMutability": "payable", 170 | "type": "function" 171 | }, 172 | { 173 | "inputs": [], 174 | "name": "feePercent", 175 | "outputs": [ 176 | { 177 | "internalType": "uint256", 178 | "name": "", 179 | "type": "uint256" 180 | } 181 | ], 182 | "stateMutability": "view", 183 | "type": "function" 184 | }, 185 | { 186 | "inputs": [], 187 | "name": "feeReceiver", 188 | "outputs": [ 189 | { 190 | "internalType": "address", 191 | "name": "", 192 | "type": "address" 193 | } 194 | ], 195 | "stateMutability": "view", 196 | "type": "function" 197 | }, 198 | { 199 | "inputs": [], 200 | "name": "getUserVolumes", 201 | "outputs": [ 202 | { 203 | "components": [ 204 | { 205 | "internalType": "address", 206 | "name": "user", 207 | "type": "address" 208 | }, 209 | { 210 | "internalType": "uint256", 211 | "name": "volume", 212 | "type": "uint256" 213 | } 214 | ], 215 | "internalType": "struct Volume[]", 216 | "name": "", 217 | "type": "tuple[]" 218 | } 219 | ], 220 | "stateMutability": "view", 221 | "type": "function" 222 | }, 223 | { 224 | "inputs": [], 225 | "name": "owner", 226 | "outputs": [ 227 | { 228 | "internalType": "address", 229 | "name": "", 230 | "type": "address" 231 | } 232 | ], 233 | "stateMutability": "view", 234 | "type": "function" 235 | }, 236 | { 237 | "inputs": [], 238 | "name": "renounceOwnership", 239 | "outputs": [], 240 | "stateMutability": "nonpayable", 241 | "type": "function" 242 | }, 243 | { 244 | "inputs": [ 245 | { 246 | "internalType": "address", 247 | "name": "_feeReceiver", 248 | "type": "address" 249 | }, 250 | { 251 | "internalType": "uint256", 252 | "name": "_feePercent", 253 | "type": "uint256" 254 | } 255 | ], 256 | "name": "setFeeData", 257 | "outputs": [], 258 | "stateMutability": "nonpayable", 259 | "type": "function" 260 | }, 261 | { 262 | "inputs": [], 263 | "name": "startCompetition", 264 | "outputs": [], 265 | "stateMutability": "nonpayable", 266 | "type": "function" 267 | }, 268 | { 269 | "inputs": [], 270 | "name": "stopCompetition", 271 | "outputs": [], 272 | "stateMutability": "nonpayable", 273 | "type": "function" 274 | }, 275 | { 276 | "inputs": [ 277 | { 278 | "internalType": "address", 279 | "name": "toToken", 280 | "type": "address" 281 | }, 282 | { 283 | "internalType": "uint256", 284 | "name": "amountOutMin", 285 | "type": "uint256" 286 | } 287 | ], 288 | "name": "swapCROForToken", 289 | "outputs": [], 290 | "stateMutability": "payable", 291 | "type": "function" 292 | }, 293 | { 294 | "inputs": [ 295 | { 296 | "internalType": "address", 297 | "name": "fromToken", 298 | "type": "address" 299 | }, 300 | { 301 | "internalType": "uint256", 302 | "name": "amountIn", 303 | "type": "uint256" 304 | }, 305 | { 306 | "internalType": "uint256", 307 | "name": "amountOutMin", 308 | "type": "uint256" 309 | } 310 | ], 311 | "name": "swapTokenForCRO", 312 | "outputs": [], 313 | "stateMutability": "nonpayable", 314 | "type": "function" 315 | }, 316 | { 317 | "inputs": [ 318 | { 319 | "internalType": "address", 320 | "name": "fromToken", 321 | "type": "address" 322 | }, 323 | { 324 | "internalType": "address", 325 | "name": "toToken", 326 | "type": "address" 327 | }, 328 | { 329 | "internalType": "uint256", 330 | "name": "amountIn", 331 | "type": "uint256" 332 | }, 333 | { 334 | "internalType": "uint256", 335 | "name": "amountOutMin", 336 | "type": "uint256" 337 | } 338 | ], 339 | "name": "swapTokenForToken", 340 | "outputs": [], 341 | "stateMutability": "nonpayable", 342 | "type": "function" 343 | }, 344 | { 345 | "inputs": [ 346 | { 347 | "internalType": "address", 348 | "name": "newOwner", 349 | "type": "address" 350 | } 351 | ], 352 | "name": "transferOwnership", 353 | "outputs": [], 354 | "stateMutability": "nonpayable", 355 | "type": "function" 356 | }, 357 | { 358 | "inputs": [ 359 | { 360 | "internalType": "address", 361 | "name": "", 362 | "type": "address" 363 | } 364 | ], 365 | "name": "userVolume", 366 | "outputs": [ 367 | { 368 | "internalType": "uint256", 369 | "name": "", 370 | "type": "uint256" 371 | } 372 | ], 373 | "stateMutability": "view", 374 | "type": "function" 375 | }, 376 | { 377 | "inputs": [ 378 | { 379 | "internalType": "uint256", 380 | "name": "wad", 381 | "type": "uint256" 382 | } 383 | ], 384 | "name": "withdraw", 385 | "outputs": [], 386 | "stateMutability": "nonpayable", 387 | "type": "function" 388 | }, 389 | { 390 | "stateMutability": "payable", 391 | "type": "receive" 392 | } 393 | ] -------------------------------------------------------------------------------- /app/abis/Croginal.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/DEXRouter.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_WETH","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"amountADesired","type":"uint256"},{"internalType":"uint256","name":"amountBDesired","type":"uint256"},{"internalType":"uint256","name":"amountAMin","type":"uint256"},{"internalType":"uint256","name":"amountBMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidity","outputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"amountB","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amountTokenDesired","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidityETH","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountETH","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"reserveIn","type":"uint256"},{"internalType":"uint256","name":"reserveOut","type":"uint256"}],"name":"getAmountIn","outputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"reserveIn","type":"uint256"},{"internalType":"uint256","name":"reserveOut","type":"uint256"}],"name":"getAmountOut","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"}],"name":"getAmountsIn","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"}],"name":"getAmountsOut","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"reserveA","type":"uint256"},{"internalType":"uint256","name":"reserveB","type":"uint256"}],"name":"quote","outputs":[{"internalType":"uint256","name":"amountB","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountAMin","type":"uint256"},{"internalType":"uint256","name":"amountBMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidity","outputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"amountB","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidityETH","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidityETHSupportingFeeOnTransferTokens","outputs":[{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermit","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens","outputs":[{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountAMin","type":"uint256"},{"internalType":"uint256","name":"amountBMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityWithPermit","outputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"amountB","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapETHForExactTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactETHForTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactETHForTokensSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForETH","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForETHSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokensSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"amountInMax","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapTokensForExactETH","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"amountInMax","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapTokensForExactTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}] -------------------------------------------------------------------------------- /app/abis/ENiG.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/FFTheBozos.json: -------------------------------------------------------------------------------- 1 | [{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/Factory.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "inputs": [ 4 | { "internalType": "address", "name": "_feeToSetter", "type": "address" } 5 | ], 6 | "payable": false, 7 | "stateMutability": "nonpayable", 8 | "type": "constructor" 9 | }, 10 | { 11 | "anonymous": false, 12 | "inputs": [ 13 | { 14 | "indexed": true, 15 | "internalType": "address", 16 | "name": "token0", 17 | "type": "address" 18 | }, 19 | { 20 | "indexed": true, 21 | "internalType": "address", 22 | "name": "token1", 23 | "type": "address" 24 | }, 25 | { 26 | "indexed": false, 27 | "internalType": "address", 28 | "name": "pair", 29 | "type": "address" 30 | }, 31 | { 32 | "indexed": false, 33 | "internalType": "uint256", 34 | "name": "", 35 | "type": "uint256" 36 | } 37 | ], 38 | "name": "PairCreated", 39 | "type": "event" 40 | }, 41 | { 42 | "constant": true, 43 | "inputs": [], 44 | "name": "INIT_CODE_PAIR_HASH", 45 | "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], 46 | "payable": false, 47 | "stateMutability": "view", 48 | "type": "function" 49 | }, 50 | { 51 | "constant": true, 52 | "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], 53 | "name": "allPairs", 54 | "outputs": [{ "internalType": "address", "name": "", "type": "address" }], 55 | "payable": false, 56 | "stateMutability": "view", 57 | "type": "function" 58 | }, 59 | { 60 | "constant": true, 61 | "inputs": [], 62 | "name": "allPairsLength", 63 | "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], 64 | "payable": false, 65 | "stateMutability": "view", 66 | "type": "function" 67 | }, 68 | { 69 | "constant": false, 70 | "inputs": [ 71 | { "internalType": "address", "name": "tokenA", "type": "address" }, 72 | { "internalType": "address", "name": "tokenB", "type": "address" } 73 | ], 74 | "name": "createPair", 75 | "outputs": [ 76 | { "internalType": "address", "name": "pair", "type": "address" } 77 | ], 78 | "payable": false, 79 | "stateMutability": "nonpayable", 80 | "type": "function" 81 | }, 82 | { 83 | "constant": true, 84 | "inputs": [], 85 | "name": "feeTo", 86 | "outputs": [{ "internalType": "address", "name": "", "type": "address" }], 87 | "payable": false, 88 | "stateMutability": "view", 89 | "type": "function" 90 | }, 91 | { 92 | "constant": true, 93 | "inputs": [], 94 | "name": "feeToSetter", 95 | "outputs": [{ "internalType": "address", "name": "", "type": "address" }], 96 | "payable": false, 97 | "stateMutability": "view", 98 | "type": "function" 99 | }, 100 | { 101 | "constant": true, 102 | "inputs": [ 103 | { "internalType": "address", "name": "", "type": "address" }, 104 | { "internalType": "address", "name": "", "type": "address" } 105 | ], 106 | "name": "getPair", 107 | "outputs": [{ "internalType": "address", "name": "", "type": "address" }], 108 | "payable": false, 109 | "stateMutability": "view", 110 | "type": "function" 111 | }, 112 | { 113 | "constant": false, 114 | "inputs": [ 115 | { "internalType": "address", "name": "_feeTo", "type": "address" } 116 | ], 117 | "name": "setFeeTo", 118 | "outputs": [], 119 | "payable": false, 120 | "stateMutability": "nonpayable", 121 | "type": "function" 122 | }, 123 | { 124 | "constant": false, 125 | "inputs": [ 126 | { "internalType": "address", "name": "_feeToSetter", "type": "address" } 127 | ], 128 | "name": "setFeeToSetter", 129 | "outputs": [], 130 | "payable": false, 131 | "stateMutability": "nonpayable", 132 | "type": "function" 133 | } 134 | ] 135 | -------------------------------------------------------------------------------- /app/abis/MERY.json: -------------------------------------------------------------------------------- 1 | [{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/MOON.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/Pair.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint112","name":"reserve0","type":"uint112"},{"indexed":false,"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"Sync","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MINIMUM_LIQUIDITY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"burn","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint112","name":"_reserve0","type":"uint112"},{"internalType":"uint112","name":"_reserve1","type":"uint112"},{"internalType":"uint32","name":"_blockTimestampLast","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_token0","type":"address"},{"internalType":"address","name":"_token1","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"kLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"price0CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"price1CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"skim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount0Out","type":"uint256"},{"internalType":"uint256","name":"amount1Out","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"swap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"sync","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token0","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token1","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/REAPER.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/Staking.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256","name":"_lockDurationInDays","type":"uint256"},{"internalType":"uint256","name":"_exitPenaltyPerc","type":"uint256"},{"internalType":"bool","name":"_canCompoundOrStakeMore","type":"bool"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"Compound","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EmergencyWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[{"internalType":"contract IBEP20","name":"_stakingToken","type":"address"},{"internalType":"uint256","name":"apr","type":"uint256"}],"name":"calculateNewRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"canCompoundOrStakeMore","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_stakingToken","type":"address"},{"internalType":"uint256","name":"apr","type":"uint256"}],"name":"claimRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_stakingToken","type":"address"},{"internalType":"uint256","name":"apr","type":"uint256"}],"name":"compound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_stakingToken","type":"address"},{"internalType":"uint256","name":"apr","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_stakingToken","type":"address"}],"name":"emergencyRewardWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_stakingToken","type":"address"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exitPenaltyPerc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IBEP20","name":"_stakingToken","type":"address"}],"name":"getPidfromPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_stakingToken","type":"address"}],"name":"getTotalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"address","name":"_stakingToken","type":"address"}],"name":"getUserInfo","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"rewardDebt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"holderUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lockDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_stakingToken","type":"address"},{"internalType":"uint256","name":"apr","type":"uint256"}],"name":"pendingReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"poolInfo","outputs":[{"internalType":"contract IBEP20","name":"lpToken","type":"address"},{"internalType":"uint256","name":"allocPoint","type":"uint256"},{"internalType":"uint256","name":"lastRewardTimestamp","type":"uint256"},{"internalType":"uint256","name":"accTokensPerShare","type":"uint256"},{"internalType":"uint256","name":"totalStake","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardToken","outputs":[{"internalType":"contract IBEP20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_stakingToken","type":"address"}],"name":"rewardsRemaining","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_stakingToken","type":"address"}],"name":"startReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_stakingToken","type":"address"}],"name":"stopReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"compoundEnabled","type":"bool"}],"name":"updateCanCompoundOrStakeMore","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPenaltyPerc","type":"uint256"}],"name":"updateExitPenalty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"daysForLock","type":"uint256"}],"name":"updateLockDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newTokenAddress","type":"address"}],"name":"updateRewardingToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"userInfo","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"rewardDebt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_stakingToken","type":"address"},{"internalType":"uint256","name":"apr","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/TURTLE.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/Tokens.ts: -------------------------------------------------------------------------------- 1 | export const TOKEN_LIST = [ 2 | { "name": "CRO", "symbol": "CRO", "isNative": true, "address": "0x0000000000000000000000000000000000000000", "decimal": 18, "balance" : 0 }, 3 | { "name": "WCRO", "symbol": "WCRO", "isNative": false, "address": "0x5C7F8A570d578ED84E63fdFA7b1eE72dEae1AE23", "decimal": 18, "balance" : 0 }, 4 | { "name": "USDC", "symbol": "USDC", "isNative": false, "address": "0xc21223249ca28397b4b6541dffaecc539bff0c59", "decimal": 6, "balance" : 0 }, 5 | { "name": "USDT", "symbol": "USDT", "isNative": false, "address": "0x66e428c3f67a68878562e79A0234c1F83c208770", "decimal": 6, "balance" : 0 }, 6 | { "name": "Croginal Cats", "symbol": "Croginal", "isNative": false, "address": "0xD50f5739A09f36C6f97cC9a4849C5462Ba6129A3", "decimal": 18, "balance" : 0 }, 7 | { "name": "Capybara Nation", "symbol": "BARA", "isNative": false, "address": "0xF24409D155965ca87c45aD5BC084aD8aD3Be4f39", "decimal": 18, "balance" : 0 }, 8 | { "name": "MOON", "symbol": "MOON", "isNative": false, "address": "0x46E2B5423F6ff46A8A35861EC9DAfF26af77AB9A", "decimal": 18, "balance" : 0 }, 9 | { "name": "TURTLE", "symbol": "TURTLE", "isNative": false, "address": "0x8c9e2bef2962ce302ef578113eebec62920b7e57", "decimal": 18, "balance" : 0 }, 10 | { "name": "FFTheBozos", "symbol": "FFTBozos", "isNative": false, "address": "0x8eBB879557Db19D36E69b53B99f0ab938a703BEF", "decimal": 18, "balance" : 0 }, 11 | { "name": "Reaper's Squad", "symbol": "REAPER", "isNative": false, "address": "0x73712A912AE5e39634046F4409Ef57eac34E96BA", "decimal": 18, "balance" : 0 }, 12 | { "name": "CronosRebelAlliance", "symbol": "CRORA", "isNative": false, "address": "0x6932D52658687CBE9DAf357cdc5F911FE4F18950", "decimal": 18, "balance" : 0 }, 13 | { "name": "crow with kinfe", "symbol": "CAW", "isNative": false, "address": "0xcCcCcCcCdbEC186DC426F8B5628AF94737dF0E60", "decimal": 18, "balance" : 0 }, 14 | { "name": "Mistery", "symbol": "MERY", "isNative": false, "address": "0x3b41B27E74Dd366CE27cB389dc7877D4e1516d4d", "decimal": 18, "balance" : 0 }, 15 | { "name": "CROfam", "symbol": "RTRD", "isNative": false, "address": "0xea292deb7ac933f61580eee269f7ba3c2f23f5a0", "decimal": 18, "balance" : 0 }, 16 | { "name": "Enigma", "symbol": "ENiG", "isNative": false, "address": "0x4db44a08b23172fb9bB285474ec0518e565B6584", "decimal": 18, "balance" : 0 }, 17 | { "name": "Doofie", "symbol": "Dofi", "isNative": false, "address": "0x3475785Dbb1F35D84D1aaB6Ddd6978257f3F8274", "decimal": 18, "balance" : 0 }, 18 | { "name": "CroVino", "symbol": "WINE", "isNative": false, "address": "0xEc5DE11ecE7f27D5689Fb340851D77193357513d", "decimal": 18, "balance" : 0 }, 19 | { "name": "Puush Da Button", "symbol": "PUUSH", "isNative": false, "address": "0x288898a6057d2D4989c533E96Cb3bc30843c91D7", "decimal": 18, "balance" : 0 }, 20 | { "name": "just a chill kris", "symbol": "chillkris", "isNative": false, "address": "0x8189eb5FAed37d13F9b9F8B87927Ada483e63ECd", "decimal": 18, "balance" : 0 }, 21 | { "name": "RETRIBUTION", "symbol": "RETRIB", "isNative": false, "address": "0x6ad9893eB92F4916f703f660410a454f6Acc3FE1", "decimal": 18, "balance" : 0 }, 22 | { "name": "crocw/knife", "symbol": "STAB", "isNative": false, "address": "0x1EBd45a0415bA286f10Babd9E27c69F62B7dB7d7", "decimal": 18, "balance" : 0 }, 23 | { "name": "CRONAN", "symbol": "CRONAN", "isNative": false, "address": "0xfEBB06bCD4AA3b21a939E33bDe089c1B54E59EF0", "decimal": 18, "balance" : 0 }, 24 | { "name": "Elons Wig", "symbol": "WIG", "isNative": false, "address": "0x282080d3c9e6b34953737800B93FDAaB28e6dBcc", "decimal": 18, "balance" : 0 }, 25 | { "name": "Papa Smerf", "symbol": "PAPACRO", "isNative": false, "address": "0x061D2F9F1ca6fC368fa34AbA1E8767d6234C27b8", "decimal": 18, "balance" : 0 }, 26 | { "name": "GreenStix V2", "symbol": "GRNSTX V2", "isNative": false, "address": "0x16a19Ae876272fb9Cc8dF78a116C63Cc1562270b", "decimal": 18, "balance" : 0 }, 27 | { "name": "Magic Internet Money", "symbol": "MEERKAT", "isNative": false, "address": "0xB6a298895547cb08E3c1F9bb9E01c84e104a7495", "decimal": 18, "balance" : 0 }, 28 | { "name": "EL Mo", "symbol": "ELMO", "isNative": false, "address": "0x344C8cC3B6c26FF096398845147A8e6Ea1A922d9", "decimal": 18, "balance" : 0 }, 29 | { "name": "Bored Cat Wif Couch", "symbol": "BORED", "isNative": false, "address": "0xD3Ab98E84bbD69F0CeA74f6BC01FBad375C03d07", "decimal": 18, "balance" : 0 }, 30 | { "name": "Clove the Pig", "symbol": "CLOVE", "isNative": false, "address": "0x8A795f3801AC51A8099724D3265F6Cc0Fd76F40B", "decimal": 18, "balance" : 0 }, 31 | { "name": "Dougie Ruggie", "symbol": "DougeRug", "isNative": false, "address": "0xaEEEDffD97e112f9D2F1dAA0e7044dB78645DD5e", "decimal": 18, "balance" : 0 }, 32 | { "name": "AgentFun.AI", "symbol": "AGENTFUN", "isNative": false, "address": "0x96733708C4157218B6E6889eb9E16B1df7873061", "decimal": 18, "balance" : 0 }, 33 | { "name": "GoodMorning", "symbol": "GM", "isNative": false, "address": "0x7492450cc8897a4e444Ad972eB1619251EF15C23", "decimal": 18, "balance" : 0 }, 34 | { "name": "Lex The Husky", "symbol": "LEX", "isNative": false, "address": "0x25B7449E2416e0Ef0f244f6cC34eb31C4902d9Cb", "decimal": 18, "balance" : 0 }, 35 | { "name": "Bui Boy", "symbol": "BUI", "isNative": false, "address": "0xC6F67Bf5A83b062c0cde06543551740BF804C775", "decimal": 18, "balance" : 0 }, 36 | { "name": "NeurotiCat", "symbol": "NEURO", "isNative": false, "address": "0xCFE223d06b86568C24ffd17E8ac748DbAC096b3b", "decimal": 18, "balance" : 0 }, 37 | { "name": "Ballz of Steel", "symbol": "BALLZ", "isNative": false, "address": "0xB157c8560984EBa102334c5Eb4F0416952747a6e", "decimal": 18, "balance" : 0 }, 38 | { "name": "Lionel The Lion by agentfun.ai", "symbol": "LION", "isNative": false, "address": "0x88Ed62A68e1eaABdfc8bA96e10a68561Ab9579b5", "decimal": 18, "balance" : 0 }, 39 | { "name": "H2Token", "symbol": "H2", "isNative": false, "address": "0xd2eE4bD0d1BE7e84160dC459006f6E0970f8313C", "decimal": 18, "balance" : 0 }, 40 | { "name": "Croakey", "symbol": "CROAK", "isNative": false, "address": "0xed70e1b02a63fAfD5ECE7c0a2A1B12d4b424B4A8", "decimal": 18, "balance" : 0 }, 41 | { "name": "Frog and Friends", "symbol": "FAF", "isNative": false, "address": "0xBf004bD24b13f79aD2861290fe3507599d879845", "decimal": 18, "balance" : 0 }, 42 | { "name": "RumHam", "symbol": "HAM", "isNative": false, "address": "0xD4Bf11c2f75e5E4574FEb931Cbc8268885f792f9", "decimal": 18, "balance" : 0 }, 43 | { "name": "Dogecoin", "symbol": "DOGE", "isNative": false, "address": "0x1a8E39ae59e5556B56b76fCBA98d22c9ae557396", "decimal": 8, "balance" : 0 }, 44 | { "name": "XRP", "symbol": "XRP", "isNative": false, "address": "0xb9Ce0dd29C91E02d4620F57a66700Fc5e41d6D15", "decimal": 6, "balance" : 0 }, 45 | { "name": "SOL", "symbol": "SOL", "isNative": false, "address": "0xc9DE0F3e08162312528FF72559db82590b481800", "decimal": 9, "balance" : 0 }, 46 | { "name": "ADA", "symbol": "ADA", "isNative": false, "address": "0x0e517979C2c1c1522ddB0c73905e0D39b3F990c0", "decimal": 6, "balance" : 0 }, 47 | { "name": "SHIBA INU", "symbol": "SHIB", "isNative": false, "address": "0xbED48612BC69fA1CaB67052b42a95FB30C1bcFee", "decimal": 18, "balance" : 0 }, 48 | { "name": "END THE FUD", "symbol": "ETF", "isNative": false, "address": "0x0e45B5878d8F0430319Ff18b499387963cc648C2", "decimal": 18, "balance" : 0 }, 49 | { "name": "HOOTIE", "symbol": "HOOT", "isNative": false, "address": "0xC2bde06d1113dde0dF653B9BF85141ACc26bC322", "decimal": 18, "balance" : 0 }, 50 | { "name": "CHRISP - Christmas Pigeon", "symbol": "CHRISP", "isNative": false, "address": "0xAde735A9D3f6ce15792806A1682D72B0cD0dE5b9", "decimal": 18, "balance" : 0 }, 51 | { "name": "Aryioshin", "symbol": "ARY", "isNative": false, "address": "0x41bc026dABe978bc2FAfeA1850456511ca4B01bc", "decimal": 18, "balance" : 0 }, 52 | { "name": "Buttman on Cro", "symbol": "BUTT", "isNative": false, "address": "0x2dfA528939D38a3654ad44a4748BE591e283a32f", "decimal": 18, "balance" : 0 }, 53 | { "name": "FROGS", "symbol": "FROGS", "isNative": false, "address": "0x88bf399d2bbbe7ba3c1ebef2ac83ae7571ff10d7", "decimal": 18, "balance" : 0 }, 54 | { "name": "MatrixOnCronos", "symbol": "MTRX", "isNative": false, "address": "0x3Ef9F4312930921B003494bC707Ab797c4ab32B7", "decimal": 18, "balance" : 0 }, 55 | { "name": "Monkey Muscle", "symbol": "GAINZ", "isNative": false, "address": "0xF7b1095D2af6C81c2d88f0ab44c7c2341BFfc411", "decimal": 18, "balance" : 0 }, 56 | { "name": "FORTUNE FAVOURS THE BRAVE", "symbol": "FFTB", "isNative": false, "address": "0xd677944Df705924AF369d2FCcf4A989f343DbCDf", "decimal": 18, "balance" : 0 }, 57 | { "name": "Womp Womp", "symbol": "WW", "isNative": false, "address": "0xE7C74b4F5ee1382edB86b55D18Ff6B31a496e82F", "decimal": 18, "balance" : 0 }, 58 | { "name": "Official Trump", "symbol": "TRUMP", "isNative": false, "address": "0xd1D7A0Ff6Cd3d494038b7FB93dbAeF624Da6f417", "decimal": 18, "balance" : 0 }, 59 | ] 60 | 61 | export const CRO = TOKEN_LIST[0]; 62 | export const CROGINAL = TOKEN_LIST[4]; 63 | export const NATIVE_TOKEN = TOKEN_LIST[1]; 64 | export const WCRO = TOKEN_LIST[0]; 65 | -------------------------------------------------------------------------------- /app/abis/USDC.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_denom","type":"string"},{"internalType":"uint8","name":"_decimal","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"Start","type":"event"},{"anonymous":false,"inputs":[],"name":"Stop","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"dst","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bridge_fee","type":"uint256"}],"name":"__CronosSendToEthereum","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"string","name":"recipient","type":"string"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"__CronosSendToIbc","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract DSAuthority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn_by_cronos_module","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint_by_cronos_module","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"move","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"native_denom","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"pull","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"push","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"bridge_fee","type":"uint256"}],"name":"send_to_ethereum","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"recipient","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"send_to_ibc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract DSAuthority","name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name_","type":"string"}],"name":"setName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/USDT.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_denom","type":"string"},{"internalType":"uint8","name":"_decimal","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"Start","type":"event"},{"anonymous":false,"inputs":[],"name":"Stop","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"dst","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bridge_fee","type":"uint256"}],"name":"__CronosSendToEthereum","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"string","name":"recipient","type":"string"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"__CronosSendToIbc","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract DSAuthority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn_by_cronos_module","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint_by_cronos_module","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"move","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"native_denom","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"pull","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"push","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"bridge_fee","type":"uint256"}],"name":"send_to_ethereum","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"recipient","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"send_to_ibc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract DSAuthority","name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name_","type":"string"}],"name":"setName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /app/abis/WCRO.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "anonymous": false, 4 | "inputs": [ 5 | { 6 | "indexed": true, 7 | "internalType": "address", 8 | "name": "src", 9 | "type": "address" 10 | }, 11 | { 12 | "indexed": true, 13 | "internalType": "address", 14 | "name": "guy", 15 | "type": "address" 16 | }, 17 | { 18 | "indexed": false, 19 | "internalType": "uint256", 20 | "name": "wad", 21 | "type": "uint256" 22 | } 23 | ], 24 | "name": "Approval", 25 | "type": "event" 26 | }, 27 | { 28 | "anonymous": false, 29 | "inputs": [ 30 | { 31 | "indexed": true, 32 | "internalType": "address", 33 | "name": "dst", 34 | "type": "address" 35 | }, 36 | { 37 | "indexed": false, 38 | "internalType": "uint256", 39 | "name": "wad", 40 | "type": "uint256" 41 | } 42 | ], 43 | "name": "Deposit", 44 | "type": "event" 45 | }, 46 | { 47 | "anonymous": false, 48 | "inputs": [ 49 | { 50 | "indexed": true, 51 | "internalType": "address", 52 | "name": "src", 53 | "type": "address" 54 | }, 55 | { 56 | "indexed": true, 57 | "internalType": "address", 58 | "name": "dst", 59 | "type": "address" 60 | }, 61 | { 62 | "indexed": false, 63 | "internalType": "uint256", 64 | "name": "wad", 65 | "type": "uint256" 66 | } 67 | ], 68 | "name": "Transfer", 69 | "type": "event" 70 | }, 71 | { 72 | "anonymous": false, 73 | "inputs": [ 74 | { 75 | "indexed": true, 76 | "internalType": "address", 77 | "name": "src", 78 | "type": "address" 79 | }, 80 | { 81 | "indexed": false, 82 | "internalType": "uint256", 83 | "name": "wad", 84 | "type": "uint256" 85 | } 86 | ], 87 | "name": "Withdrawal", 88 | "type": "event" 89 | }, 90 | { 91 | "inputs": [ 92 | { 93 | "internalType": "address", 94 | "name": "", 95 | "type": "address" 96 | }, 97 | { 98 | "internalType": "address", 99 | "name": "", 100 | "type": "address" 101 | } 102 | ], 103 | "name": "allowance", 104 | "outputs": [ 105 | { 106 | "internalType": "uint256", 107 | "name": "", 108 | "type": "uint256" 109 | } 110 | ], 111 | "stateMutability": "view", 112 | "type": "function" 113 | }, 114 | { 115 | "inputs": [ 116 | { 117 | "internalType": "address", 118 | "name": "guy", 119 | "type": "address" 120 | }, 121 | { 122 | "internalType": "uint256", 123 | "name": "wad", 124 | "type": "uint256" 125 | } 126 | ], 127 | "name": "approve", 128 | "outputs": [ 129 | { 130 | "internalType": "bool", 131 | "name": "", 132 | "type": "bool" 133 | } 134 | ], 135 | "stateMutability": "nonpayable", 136 | "type": "function" 137 | }, 138 | { 139 | "inputs": [ 140 | { 141 | "internalType": "address", 142 | "name": "", 143 | "type": "address" 144 | } 145 | ], 146 | "name": "balanceOf", 147 | "outputs": [ 148 | { 149 | "internalType": "uint256", 150 | "name": "", 151 | "type": "uint256" 152 | } 153 | ], 154 | "stateMutability": "view", 155 | "type": "function" 156 | }, 157 | { 158 | "inputs": [], 159 | "name": "decimals", 160 | "outputs": [ 161 | { 162 | "internalType": "uint8", 163 | "name": "", 164 | "type": "uint8" 165 | } 166 | ], 167 | "stateMutability": "view", 168 | "type": "function" 169 | }, 170 | { 171 | "inputs": [], 172 | "name": "deposit", 173 | "outputs": [], 174 | "stateMutability": "payable", 175 | "type": "function" 176 | }, 177 | { 178 | "inputs": [], 179 | "name": "name", 180 | "outputs": [ 181 | { 182 | "internalType": "string", 183 | "name": "", 184 | "type": "string" 185 | } 186 | ], 187 | "stateMutability": "view", 188 | "type": "function" 189 | }, 190 | { 191 | "inputs": [], 192 | "name": "symbol", 193 | "outputs": [ 194 | { 195 | "internalType": "string", 196 | "name": "", 197 | "type": "string" 198 | } 199 | ], 200 | "stateMutability": "view", 201 | "type": "function" 202 | }, 203 | { 204 | "inputs": [], 205 | "name": "totalSupply", 206 | "outputs": [ 207 | { 208 | "internalType": "uint256", 209 | "name": "", 210 | "type": "uint256" 211 | } 212 | ], 213 | "stateMutability": "view", 214 | "type": "function" 215 | }, 216 | { 217 | "inputs": [ 218 | { 219 | "internalType": "address", 220 | "name": "dst", 221 | "type": "address" 222 | }, 223 | { 224 | "internalType": "uint256", 225 | "name": "wad", 226 | "type": "uint256" 227 | } 228 | ], 229 | "name": "transfer", 230 | "outputs": [ 231 | { 232 | "internalType": "bool", 233 | "name": "", 234 | "type": "bool" 235 | } 236 | ], 237 | "stateMutability": "nonpayable", 238 | "type": "function" 239 | }, 240 | { 241 | "inputs": [ 242 | { 243 | "internalType": "address", 244 | "name": "src", 245 | "type": "address" 246 | }, 247 | { 248 | "internalType": "address", 249 | "name": "dst", 250 | "type": "address" 251 | }, 252 | { 253 | "internalType": "uint256", 254 | "name": "wad", 255 | "type": "uint256" 256 | } 257 | ], 258 | "name": "transferFrom", 259 | "outputs": [ 260 | { 261 | "internalType": "bool", 262 | "name": "", 263 | "type": "bool" 264 | } 265 | ], 266 | "stateMutability": "nonpayable", 267 | "type": "function" 268 | }, 269 | { 270 | "inputs": [ 271 | { 272 | "internalType": "uint256", 273 | "name": "wad", 274 | "type": "uint256" 275 | } 276 | ], 277 | "name": "withdraw", 278 | "outputs": [], 279 | "stateMutability": "nonpayable", 280 | "type": "function" 281 | }, 282 | { 283 | "stateMutability": "payable", 284 | "type": "receive" 285 | } 286 | ] -------------------------------------------------------------------------------- /app/abis/WETH.json: -------------------------------------------------------------------------------- 1 | [{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"guy","type":"address"},{"name":"wad","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"wad","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"src","type":"address"},{"indexed":true,"name":"guy","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"src","type":"address"},{"indexed":true,"name":"dst","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"dst","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"src","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Withdrawal","type":"event"}] -------------------------------------------------------------------------------- /app/abis/abi.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "inputs": [ 4 | { 5 | "internalType": "address", 6 | "name": "_tokenAddress", 7 | "type": "address" 8 | }, 9 | { 10 | "internalType": "uint256", 11 | "name": "_apr", 12 | "type": "uint256" 13 | }, 14 | { 15 | "internalType": "uint256", 16 | "name": "_lockDurationInDays", 17 | "type": "uint256" 18 | }, 19 | { 20 | "internalType": "uint256", 21 | "name": "_exitPenaltyPerc", 22 | "type": "uint256" 23 | }, 24 | { 25 | "internalType": "bool", 26 | "name": "_canCompoundOrStakeMore", 27 | "type": "bool" 28 | } 29 | ], 30 | "stateMutability": "nonpayable", 31 | "type": "constructor" 32 | }, 33 | { 34 | "anonymous": false, 35 | "inputs": [ 36 | { 37 | "indexed": true, 38 | "internalType": "address", 39 | "name": "user", 40 | "type": "address" 41 | }, 42 | { 43 | "indexed": false, 44 | "internalType": "uint256", 45 | "name": "amount", 46 | "type": "uint256" 47 | } 48 | ], 49 | "name": "Claim", 50 | "type": "event" 51 | }, 52 | { 53 | "anonymous": false, 54 | "inputs": [ 55 | { 56 | "indexed": true, 57 | "internalType": "address", 58 | "name": "user", 59 | "type": "address" 60 | } 61 | ], 62 | "name": "Compound", 63 | "type": "event" 64 | }, 65 | { 66 | "anonymous": false, 67 | "inputs": [ 68 | { 69 | "indexed": true, 70 | "internalType": "address", 71 | "name": "user", 72 | "type": "address" 73 | }, 74 | { 75 | "indexed": false, 76 | "internalType": "uint256", 77 | "name": "amount", 78 | "type": "uint256" 79 | } 80 | ], 81 | "name": "Deposit", 82 | "type": "event" 83 | }, 84 | { 85 | "anonymous": false, 86 | "inputs": [ 87 | { 88 | "indexed": true, 89 | "internalType": "address", 90 | "name": "user", 91 | "type": "address" 92 | }, 93 | { 94 | "indexed": false, 95 | "internalType": "uint256", 96 | "name": "amount", 97 | "type": "uint256" 98 | } 99 | ], 100 | "name": "EmergencyWithdraw", 101 | "type": "event" 102 | }, 103 | { 104 | "anonymous": false, 105 | "inputs": [ 106 | { 107 | "indexed": true, 108 | "internalType": "address", 109 | "name": "previousOwner", 110 | "type": "address" 111 | }, 112 | { 113 | "indexed": true, 114 | "internalType": "address", 115 | "name": "newOwner", 116 | "type": "address" 117 | } 118 | ], 119 | "name": "OwnershipTransferred", 120 | "type": "event" 121 | }, 122 | { 123 | "anonymous": false, 124 | "inputs": [ 125 | { 126 | "indexed": true, 127 | "internalType": "address", 128 | "name": "user", 129 | "type": "address" 130 | }, 131 | { 132 | "indexed": false, 133 | "internalType": "uint256", 134 | "name": "amount", 135 | "type": "uint256" 136 | } 137 | ], 138 | "name": "Withdraw", 139 | "type": "event" 140 | }, 141 | { 142 | "inputs": [], 143 | "name": "apr", 144 | "outputs": [ 145 | { 146 | "internalType": "uint256", 147 | "name": "", 148 | "type": "uint256" 149 | } 150 | ], 151 | "stateMutability": "view", 152 | "type": "function" 153 | }, 154 | { 155 | "inputs": [], 156 | "name": "calculateNewRewards", 157 | "outputs": [ 158 | { 159 | "internalType": "uint256", 160 | "name": "", 161 | "type": "uint256" 162 | } 163 | ], 164 | "stateMutability": "view", 165 | "type": "function" 166 | }, 167 | { 168 | "inputs": [], 169 | "name": "canCompoundOrStakeMore", 170 | "outputs": [ 171 | { 172 | "internalType": "bool", 173 | "name": "", 174 | "type": "bool" 175 | } 176 | ], 177 | "stateMutability": "view", 178 | "type": "function" 179 | }, 180 | { 181 | "inputs": [], 182 | "name": "claimRewards", 183 | "outputs": [], 184 | "stateMutability": "nonpayable", 185 | "type": "function" 186 | }, 187 | { 188 | "inputs": [], 189 | "name": "compound", 190 | "outputs": [], 191 | "stateMutability": "nonpayable", 192 | "type": "function" 193 | }, 194 | { 195 | "inputs": [ 196 | { 197 | "internalType": "uint256", 198 | "name": "_amount", 199 | "type": "uint256" 200 | } 201 | ], 202 | "name": "deposit", 203 | "outputs": [], 204 | "stateMutability": "nonpayable", 205 | "type": "function" 206 | }, 207 | { 208 | "inputs": [ 209 | { 210 | "internalType": "uint256", 211 | "name": "_amount", 212 | "type": "uint256" 213 | } 214 | ], 215 | "name": "emergencyRewardWithdraw", 216 | "outputs": [], 217 | "stateMutability": "nonpayable", 218 | "type": "function" 219 | }, 220 | { 221 | "inputs": [], 222 | "name": "emergencyWithdraw", 223 | "outputs": [], 224 | "stateMutability": "nonpayable", 225 | "type": "function" 226 | }, 227 | { 228 | "inputs": [], 229 | "name": "exitPenaltyPerc", 230 | "outputs": [ 231 | { 232 | "internalType": "uint256", 233 | "name": "", 234 | "type": "uint256" 235 | } 236 | ], 237 | "stateMutability": "view", 238 | "type": "function" 239 | }, 240 | { 241 | "inputs": [ 242 | { 243 | "internalType": "address", 244 | "name": "", 245 | "type": "address" 246 | } 247 | ], 248 | "name": "holderUnlockTime", 249 | "outputs": [ 250 | { 251 | "internalType": "uint256", 252 | "name": "", 253 | "type": "uint256" 254 | } 255 | ], 256 | "stateMutability": "view", 257 | "type": "function" 258 | }, 259 | { 260 | "inputs": [], 261 | "name": "lockDuration", 262 | "outputs": [ 263 | { 264 | "internalType": "uint256", 265 | "name": "", 266 | "type": "uint256" 267 | } 268 | ], 269 | "stateMutability": "view", 270 | "type": "function" 271 | }, 272 | { 273 | "inputs": [], 274 | "name": "massUpdatePools", 275 | "outputs": [], 276 | "stateMutability": "nonpayable", 277 | "type": "function" 278 | }, 279 | { 280 | "inputs": [], 281 | "name": "owner", 282 | "outputs": [ 283 | { 284 | "internalType": "address", 285 | "name": "", 286 | "type": "address" 287 | } 288 | ], 289 | "stateMutability": "view", 290 | "type": "function" 291 | }, 292 | { 293 | "inputs": [ 294 | { 295 | "internalType": "address", 296 | "name": "_user", 297 | "type": "address" 298 | } 299 | ], 300 | "name": "pendingReward", 301 | "outputs": [ 302 | { 303 | "internalType": "uint256", 304 | "name": "", 305 | "type": "uint256" 306 | } 307 | ], 308 | "stateMutability": "view", 309 | "type": "function" 310 | }, 311 | { 312 | "inputs": [ 313 | { 314 | "internalType": "uint256", 315 | "name": "", 316 | "type": "uint256" 317 | } 318 | ], 319 | "name": "poolInfo", 320 | "outputs": [ 321 | { 322 | "internalType": "contract IBEP20", 323 | "name": "lpToken", 324 | "type": "address" 325 | }, 326 | { 327 | "internalType": "uint256", 328 | "name": "allocPoint", 329 | "type": "uint256" 330 | }, 331 | { 332 | "internalType": "uint256", 333 | "name": "lastRewardTimestamp", 334 | "type": "uint256" 335 | }, 336 | { 337 | "internalType": "uint256", 338 | "name": "accTokensPerShare", 339 | "type": "uint256" 340 | } 341 | ], 342 | "stateMutability": "view", 343 | "type": "function" 344 | }, 345 | { 346 | "inputs": [], 347 | "name": "renounceOwnership", 348 | "outputs": [], 349 | "stateMutability": "nonpayable", 350 | "type": "function" 351 | }, 352 | { 353 | "inputs": [], 354 | "name": "rewardToken", 355 | "outputs": [ 356 | { 357 | "internalType": "contract IBEP20", 358 | "name": "", 359 | "type": "address" 360 | } 361 | ], 362 | "stateMutability": "view", 363 | "type": "function" 364 | }, 365 | { 366 | "inputs": [], 367 | "name": "rewardsRemaining", 368 | "outputs": [ 369 | { 370 | "internalType": "uint256", 371 | "name": "", 372 | "type": "uint256" 373 | } 374 | ], 375 | "stateMutability": "view", 376 | "type": "function" 377 | }, 378 | { 379 | "inputs": [], 380 | "name": "stakingToken", 381 | "outputs": [ 382 | { 383 | "internalType": "contract IBEP20", 384 | "name": "", 385 | "type": "address" 386 | } 387 | ], 388 | "stateMutability": "view", 389 | "type": "function" 390 | }, 391 | { 392 | "inputs": [], 393 | "name": "startReward", 394 | "outputs": [], 395 | "stateMutability": "nonpayable", 396 | "type": "function" 397 | }, 398 | { 399 | "inputs": [], 400 | "name": "stopReward", 401 | "outputs": [], 402 | "stateMutability": "nonpayable", 403 | "type": "function" 404 | }, 405 | { 406 | "inputs": [], 407 | "name": "totalStaked", 408 | "outputs": [ 409 | { 410 | "internalType": "uint256", 411 | "name": "", 412 | "type": "uint256" 413 | } 414 | ], 415 | "stateMutability": "view", 416 | "type": "function" 417 | }, 418 | { 419 | "inputs": [ 420 | { 421 | "internalType": "address", 422 | "name": "newOwner", 423 | "type": "address" 424 | } 425 | ], 426 | "name": "transferOwnership", 427 | "outputs": [], 428 | "stateMutability": "nonpayable", 429 | "type": "function" 430 | }, 431 | { 432 | "inputs": [ 433 | { 434 | "internalType": "uint256", 435 | "name": "newApr", 436 | "type": "uint256" 437 | } 438 | ], 439 | "name": "updateApr", 440 | "outputs": [], 441 | "stateMutability": "nonpayable", 442 | "type": "function" 443 | }, 444 | { 445 | "inputs": [ 446 | { 447 | "internalType": "bool", 448 | "name": "compoundEnabled", 449 | "type": "bool" 450 | } 451 | ], 452 | "name": "updateCanCompoundOrStakeMore", 453 | "outputs": [], 454 | "stateMutability": "nonpayable", 455 | "type": "function" 456 | }, 457 | { 458 | "inputs": [ 459 | { 460 | "internalType": "uint256", 461 | "name": "newPenaltyPerc", 462 | "type": "uint256" 463 | } 464 | ], 465 | "name": "updateExitPenalty", 466 | "outputs": [], 467 | "stateMutability": "nonpayable", 468 | "type": "function" 469 | }, 470 | { 471 | "inputs": [ 472 | { 473 | "internalType": "uint256", 474 | "name": "daysForLock", 475 | "type": "uint256" 476 | } 477 | ], 478 | "name": "updateLockDuration", 479 | "outputs": [], 480 | "stateMutability": "nonpayable", 481 | "type": "function" 482 | }, 483 | { 484 | "inputs": [ 485 | { 486 | "internalType": "address", 487 | "name": "", 488 | "type": "address" 489 | } 490 | ], 491 | "name": "userInfo", 492 | "outputs": [ 493 | { 494 | "internalType": "uint256", 495 | "name": "amount", 496 | "type": "uint256" 497 | }, 498 | { 499 | "internalType": "uint256", 500 | "name": "rewardDebt", 501 | "type": "uint256" 502 | } 503 | ], 504 | "stateMutability": "view", 505 | "type": "function" 506 | }, 507 | { 508 | "inputs": [], 509 | "name": "withdraw", 510 | "outputs": [], 511 | "stateMutability": "nonpayable", 512 | "type": "function" 513 | } 514 | ] -------------------------------------------------------------------------------- /app/components/ActionButton.tsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import { ConnectButton } from '@rainbow-me/rainbowkit'; 4 | import { useSwitchChain, useChainId, } from 'wagmi'; 5 | // import { base, cronos, cronosTestnet, mainnet } from 'viem/chains'; 6 | import { base, cronos, cronosTestnet, mainnet } from 'viem/chains'; 7 | import Image from 'next/image'; 8 | 9 | export default function ConnectWalletButton({ swap } : any) { 10 | const { chains, switchChain, error } = useSwitchChain(); 11 | const chainId = useChainId(); 12 | 13 | return ( 14 | 15 | {({ 16 | account, 17 | chain, 18 | openAccountModal, 19 | openChainModal, 20 | openConnectModal, 21 | authenticationStatus, 22 | mounted, 23 | }) => { 24 | // Note: If your app doesn't use authentication, you 25 | // can remove all 'authenticationStatus' checks 26 | const ready = mounted && authenticationStatus !== 'loading'; 27 | const connected = 28 | ready && 29 | account && 30 | chain && 31 | (!authenticationStatus || 32 | authenticationStatus === 'authenticated'); 33 | 34 | const switchChainHandle = async () => { 35 | switchChain({ chainId: cronos.id }) 36 | } 37 | 38 | return ( 39 |
49 | {(() => { 50 | if (!connected) { 51 | return ( 52 | 59 | ); 60 | } 61 | 62 | // console.log("wfwf", chainId, cronos.id, chainId, cronosTestnet.id) 63 | if (chainId != cronos.id && chainId != cronosTestnet.id) { 64 | return ( 65 | 72 | ) 73 | } 74 | 75 | if (chain.unsupported) { 76 | return ( 77 | 81 | ); 82 | } 83 | 84 | return ( 85 |
86 | 95 |
96 | ); 97 | })()} 98 |
99 | ); 100 | }} 101 |
102 | ) 103 | } -------------------------------------------------------------------------------- /app/components/bottomBar.tsx: -------------------------------------------------------------------------------- 1 | import Image from "next/image"; 2 | 3 | export default function BottomBar() { 4 | return ( 5 | <> 6 |
7 | 8 |
12 | Image 17 |
18 |
19 | 20 | ); 21 | } 22 | -------------------------------------------------------------------------------- /app/components/liquidity/ShowPercent.tsx: -------------------------------------------------------------------------------- 1 | import { useEffect } from "react"; 2 | 3 | const showPercent = ( 4 | baseAmount: any, 5 | quoteAmount: any, 6 | isCreatedPair: any, 7 | fixedVal: any 8 | ) => { 9 | if (fixedVal > 0) return fixedVal; 10 | if ( 11 | ( 12 | baseAmount === "" || 13 | quoteAmount === "" || 14 | baseAmount === 0 || 15 | quoteAmount === 0 16 | ) && !isCreatedPair 17 | ) 18 | return `---`; 19 | // if (isCreatedPair > 0) { 20 | // console.log("iscreated pair is bigger"); 21 | // const amtOut = getAmountsOut(baseToken, quoteToken); 22 | // return amtOut; 23 | // } 24 | // const resOut: any = await getAmountsOutFromDEX(quoteToken, baseToken, 1); 25 | // console.log("TTTTTTTTTTTT", resOut.result); 26 | if ( 27 | baseAmount == "" || 28 | baseAmount == 0 || 29 | quoteAmount == "" || 30 | quoteAmount == 0 31 | ) 32 | return 0; 33 | const res: any = (quoteAmount / baseAmount).toFixed(4); 34 | if(isNaN(res)) return 0; 35 | return res; 36 | }; 37 | 38 | const showTokenName = (token: any) => { 39 | if (token === -1) return; 40 | return `${token.symbol}`; 41 | }; 42 | 43 | export default function ShowPercent(props: any) { 44 | const { 45 | baseToken, 46 | baseAmount, 47 | quoteToken, 48 | quoteAmount, 49 | isCreatedPair, 50 | fixedVal, 51 | } = props; 52 | 53 | useEffect(() => { 54 | showPercent(baseAmount, quoteAmount, isCreatedPair, fixedVal); 55 | }, [isCreatedPair]); 56 | 57 | return ( 58 | <> 59 |
60 |

61 | {showPercent(baseAmount, quoteAmount, isCreatedPair, fixedVal)} 62 |

63 |

64 | {showTokenName(quoteToken)} 65 | {<> / } 66 | {showTokenName(baseToken)} 67 |

68 |
69 | 70 | ); 71 | } 72 | -------------------------------------------------------------------------------- /app/components/liquidity/removeLiquidity.tsx: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | import ShowBalance from "../swap/showBalance"; 3 | import { BiRefresh } from "react-icons/bi"; 4 | 5 | export default function RemoveLiquidity(props: any) { 6 | const { amount, setAmount, Remove } = props; 7 | const [ balance, setBalance ] = useState(0); 8 | 9 | const handleAmountChange = (e: React.ChangeEvent) => { 10 | const value: any = e.target.value; 11 | console.log("Add liquidity:::", value); 12 | setAmount(value); 13 | }; 14 | 15 | const getBalance = async () => { 16 | // const abi = Abis[TOKEN_LIST[2].name]; 17 | 18 | // const tokenBalance = await readContract(config, { 19 | // abi, 20 | // functionName: "balanceOf", 21 | // address: tokenAddress as Address, 22 | // args: [address as Address], 23 | // }); 24 | // setBalance(balance); 25 | } 26 | 27 | return ( 28 | <> 29 |
30 | 31 | 35 |
36 | 42 | 50 | 51 | ); 52 | } 53 | -------------------------------------------------------------------------------- /app/components/provider.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import * as React from 'react'; 4 | import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; 5 | import { WagmiProvider } from 'wagmi'; 6 | import { RainbowKitProvider,darkTheme } from '@rainbow-me/rainbowkit'; 7 | 8 | import { config } from '../config/wagmi'; 9 | 10 | const queryClient = new QueryClient(); 11 | 12 | const customTheme = { 13 | ...darkTheme(), 14 | colors: { 15 | ...darkTheme().colors, 16 | accentColor: '#6144e5', // Purple color 17 | accentColorForeground: '#fff', 18 | // You can customize more colors if needed 19 | }, 20 | }; 21 | 22 | function Providers({ children }: { children: React.ReactNode }) { 23 | return ( 24 | 25 | 26 | 27 |
28 | {children} 29 |
30 |
31 |
32 |
33 | ); 34 | } 35 | 36 | export default Providers; -------------------------------------------------------------------------------- /app/components/staking/TotalLockedValue.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { formatGwei, parseEther, parseGwei } from "viem"; 4 | import { formatEther } from "viem"; 5 | 6 | export default function TotalLockedValue(props: any) { 7 | const { value } = props; 8 | 9 | return ( 10 |
11 |
12 |

Total Staked

13 |
14 |
15 |

16 | {value !== undefined 17 | ? parseFloat(formatEther(value)).toFixed(2) 18 | : "Loading..."} 19 |

20 |
21 |
22 | ); 23 | } 24 | -------------------------------------------------------------------------------- /app/components/staking/YourLockedValue.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { formatGwei, parseEther, parseGwei } from "viem"; 4 | import { formatEther } from "viem"; 5 | 6 | export default function YourLockedValue(props: any) { 7 | const { value } = props; 8 | 9 | return ( 10 |
11 |
12 |

Staked amount :

13 |
14 |
15 |

16 | {value !== undefined 17 | ? parseFloat(formatEther(value)).toFixed(2) 18 | : "..."} 19 |

20 |
21 |
22 | ); 23 | } 24 | -------------------------------------------------------------------------------- /app/components/swap/ActionButton.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { ConnectButton } from "@rainbow-me/rainbowkit"; 4 | import { useSwitchChain, useChainId } from "wagmi"; 5 | import { cronos } from "viem/chains"; 6 | import Image from "next/image"; 7 | 8 | export default function ConnectWalletButton({ 9 | callback, 10 | text, 11 | }: { 12 | callback: (() => Promise) | undefined; 13 | text?: string; 14 | }) { 15 | const { chains, switchChain, error } = useSwitchChain(); 16 | const chainId = useChainId(); 17 | 18 | return ( 19 | 20 | {({ 21 | account, 22 | chain, 23 | openAccountModal, 24 | openChainModal, 25 | openConnectModal, 26 | authenticationStatus, 27 | mounted, 28 | }) => { 29 | // Note: If your app doesn't use authentication, you 30 | // can remove all 'authenticationStatus' checks 31 | const ready = mounted && authenticationStatus !== "loading"; 32 | const connected = 33 | ready && 34 | account && 35 | chain && 36 | (!authenticationStatus || authenticationStatus === "authenticated"); 37 | 38 | const switchChainHandle = async () => { 39 | switchChain({ chainId: cronos.id }); 40 | }; 41 | 42 | return ( 43 |
53 | {(() => { 54 | if (!connected) { 55 | return ( 56 | 64 | ); 65 | } 66 | if (chainId != cronos.id) { 67 | return ( 68 | 76 | ); 77 | } 78 | 79 | if (chain.unsupported) { 80 | return ( 81 | 88 | ); 89 | } 90 | 91 | return ( 92 | 103 | ); 104 | })()} 105 |
106 | ); 107 | }} 108 |
109 | ); 110 | } 111 | -------------------------------------------------------------------------------- /app/components/swap/inputLoadingGif.tsx: -------------------------------------------------------------------------------- 1 | import Image from "next/image"; 2 | 3 | export default function InputLoadingGif(props: any) { 4 | const { isLoading } = props; 5 | return ( 6 |
11 |
12 | 13 |
14 |
15 | ); 16 | } 17 | -------------------------------------------------------------------------------- /app/components/swap/inputTag.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { useEffect, useState } from "react"; 4 | import ShowBalance from "./showBalance"; 5 | import TokenModal from "./tokenModal"; 6 | import InputLoadingGif from "./inputLoadingGif"; 7 | import { MdOutlineKeyboardArrowDown } from "react-icons/md"; 8 | import Image from "next/image"; 9 | 10 | export default function InputTag(props: any) { 11 | const { 12 | balance, 13 | amount, 14 | setAmount, 15 | token, 16 | opToken, 17 | setToken, 18 | no, 19 | isAmountCalcing, 20 | setIsInsufficient, 21 | USDprice, 22 | showMAXbtn, 23 | } = props; 24 | 25 | const [isModalOpen, setIsModalOpen] = useState(false); 26 | const openModal = () => setIsModalOpen(true); 27 | const closeModal = () => setIsModalOpen(false); 28 | 29 | useEffect(() => { 30 | let bal = token.isNative ? balance - 5 : balance; 31 | if (amount > Number(bal) && !no) 32 | setIsInsufficient(true); //check input amount is valid 33 | else setIsInsufficient(false); 34 | }, [amount]); 35 | 36 | const handleAmountChange = (e: any) => { 37 | const value: number = e.target.value as number; 38 | setAmount(value); 39 | }; 40 | 41 | return ( 42 | <> 43 |
44 |
45 | 46 |
47 |
48 |
51 | 52 | 53 | 69 |
70 | {USDprice == 0 ? ( 71 | <> 72 | ) : ( 73 |

74 | ${Number(USDprice).toFixed(3)} 75 |

76 | )} 77 |
78 | {showMAXbtn ? ( 79 |
{ 81 | if (token.isNative) setAmount(balance - 5); 82 | else setAmount(balance); 83 | }} 84 | className="flex justify-items-end items-center pl-3 hover:cursor-pointer" 85 | > 86 |

87 | MAX 88 |

89 |
90 | ) : ( 91 | <> 92 | )} 93 |
94 | 111 | 119 |
120 |
121 | 122 | ); 123 | } 124 | -------------------------------------------------------------------------------- /app/components/swap/loadingGif.tsx: -------------------------------------------------------------------------------- 1 | import Image from "next/image"; 2 | 3 | export default function LoadingGif(props: any) { 4 | const { isLoading } = props; 5 | return ( 6 |
11 |
12 |
13 | 14 |
15 |
16 |
17 | ); 18 | } 19 | -------------------------------------------------------------------------------- /app/components/swap/setSlippageButton.tsx: -------------------------------------------------------------------------------- 1 | import { IoIosSettings } from "react-icons/io"; 2 | import { useState } from "react"; 3 | import SetSlippageModal from "./setSlippageModal"; 4 | 5 | export default function SetSlippageButton(props: any) { 6 | const { setSlippagePercent } = props; 7 | const [isModalOpen, setIsModalOpen] = useState(false); 8 | const openModal = () => setIsModalOpen(true); 9 | const closeModal = () => setIsModalOpen(false); 10 | 11 | return ( 12 | <> 13 | 17 | 23 | 24 | ); 25 | } 26 | -------------------------------------------------------------------------------- /app/components/swap/setSlippageModal.tsx: -------------------------------------------------------------------------------- 1 | // components/Modal.tsx 2 | "use client"; 3 | 4 | import React, { useState } from "react"; 5 | import { RiCloseLargeFill } from "react-icons/ri"; 6 | import Image from "next/image"; 7 | import { useEffect, useRef } from "react"; 8 | import { toast } from "react-toastify"; 9 | 10 | interface ModalProps { 11 | isOpen: boolean; 12 | onClose: () => void; 13 | title: string; 14 | setSlippagePercent: any; 15 | // children: React.ReactNode; 16 | } 17 | 18 | const SetSlippageModal: React.FC = ({ 19 | isOpen, 20 | onClose, 21 | title, 22 | setSlippagePercent, 23 | }) => { 24 | const modalRef = useRef(null); 25 | const [amount, setAmount] = useState(""); 26 | 27 | // Retrieve the slippage amount from local storage 28 | // const savedSlippage = window.localStorage.getItem('slippageAmount'); 29 | 30 | // Convert it back to a number 31 | // const slippageAmount : any = savedSlippage ? parseFloat(savedSlippage) : null; 32 | 33 | // setAmount(slippageAmount); 34 | 35 | const handleClickOutside = (event: MouseEvent) => { 36 | if (modalRef.current && !modalRef.current.contains(event.target as Node)) { 37 | onClose(); 38 | } 39 | }; 40 | 41 | useEffect(() => { 42 | const savedValue: any = window.localStorage.getItem("slippage"); 43 | setAmount(savedValue); 44 | }, []); 45 | 46 | useEffect(() => { 47 | // if (typeof amount === "number") { 48 | console.log("slippage Amount==", amount); 49 | 50 | if (amount != "") window.localStorage.setItem("slippage", amount); 51 | // } 52 | }, [amount]); 53 | 54 | useEffect(() => { 55 | if (isOpen) { 56 | document.addEventListener("mousedown", handleClickOutside); 57 | } else { 58 | document.removeEventListener("mousedown", handleClickOutside); 59 | } 60 | 61 | // setAmount(slippageAmount) 62 | 63 | return () => { 64 | document.removeEventListener("mousedown", handleClickOutside); 65 | }; 66 | }, [isOpen]); 67 | 68 | if (!isOpen) return null; 69 | 70 | const handleAmountChange = (e: React.ChangeEvent) => { 71 | const val: any = e.target.value; 72 | console.log("val", val); 73 | setAmount(val); 74 | }; 75 | 76 | return ( 77 |
78 |
82 |
83 |

84 | {title} 85 |

86 | 90 |
91 | 92 |
93 |
94 | 101 |
102 |
103 |
setAmount("0.5")} 105 | className="sm:w-[65px] w-[30%] sm:h-[35px] h-[34px] border rounded-l-lg border-black-border text-center items-center hover:bg-gray-bright hover:cursor-pointer" 106 | > 107 |

108 | 0.5% 109 |

110 |
111 |
setAmount("1")} 113 | className="sm:w-[65px] w-[30%] sm:h-[35px] h-[34px] border border-black-border text-center items-center hover:bg-gray-bright hover:cursor-pointer" 114 | > 115 |

1%

116 |
117 |
setAmount("3")} 119 | className="sm:w-[65px] w-[30%] sm:h-[35px] h-[34px] border rounded-r-lg border-black-border text-center items-center hover:bg-gray-bright hover:cursor-pointer" 120 | > 121 |

3%

122 |
123 |
124 |
125 |
126 | 142 |
143 |
144 |
145 | ); 146 | }; 147 | 148 | export default SetSlippageModal; 149 | -------------------------------------------------------------------------------- /app/components/swap/showBalance.tsx: -------------------------------------------------------------------------------- 1 | export default function ShowBalance(props: any) { 2 | const { balance } = props; 3 | // const showBalance = !isNaN(Number(balance?.formatted)) ? Number(balance?.formatted).toFixed(3) : '0'; 4 | const showBalance = !isNaN(Number(balance)) ? Number(balance).toFixed(3) : '0'; 5 | return ( 6 |

7 | Balance: {showBalance} 8 |

9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /app/components/swap/tokenModal.tsx: -------------------------------------------------------------------------------- 1 | // components/Modal.tsx 2 | "use client"; 3 | 4 | import React, { useCallback, useState } from "react"; 5 | import { RiCloseLargeFill } from "react-icons/ri"; 6 | import Image from "next/image"; 7 | import { useEffect, useRef } from "react"; 8 | import { useTokenBalances } from "@/app/hooks/useTokenBalances"; 9 | import { optopia } from "wagmi/chains"; 10 | import { ZeroAddress } from "ethers"; 11 | 12 | interface ModalProps { 13 | isOpen: boolean; 14 | onClose: () => void; 15 | title: string; 16 | opToken: any; 17 | otherToken: any; 18 | setToken: any; 19 | // children: React.ReactNode; 20 | } 21 | 22 | const TokenModal: React.FC = ({ 23 | isOpen, 24 | onClose, 25 | title, 26 | opToken, 27 | otherToken, 28 | setToken, 29 | }) => { 30 | const modalRef = useRef(null); 31 | const [searchStr, setSearchStr] = useState(""); 32 | const { tokens, isLoading } = useTokenBalances(); 33 | const [filteredTokens, setFilteredTokens] = useState(undefined); 34 | 35 | const filterTokens = useCallback(() => { 36 | if(tokens == undefined) return; 37 | console.log("🚀 ~ filterTokens ~ tokens:", tokens) 38 | 39 | const filtered = tokens?.filter((token) => { 40 | return ( 41 | (strstr(token.symbol, searchStr) || 42 | strstr(token.symbol, searchStr) || 43 | strstr(token.address, searchStr)) && 44 | (otherToken.address.toLowerCase() != token.address.toLowerCase()) && 45 | (opToken.address.toLowerCase() != token.address.toLowerCase()) 46 | // true 47 | ); 48 | }); 49 | setFilteredTokens(filtered); 50 | }, [searchStr, tokens, otherToken, opToken]); 51 | 52 | useEffect(() => { 53 | filterTokens(); 54 | }, [searchStr, tokens, isLoading, otherToken, opToken]) 55 | 56 | const handleClickOutside = (event: MouseEvent) => { 57 | if (modalRef.current && !modalRef.current.contains(event.target as Node)) { 58 | onClose(); 59 | } 60 | }; 61 | 62 | useEffect(() => { 63 | if (isOpen) { 64 | document.addEventListener("mousedown", handleClickOutside); 65 | } else { 66 | document.removeEventListener("mousedown", handleClickOutside); 67 | } 68 | 69 | return () => { 70 | document.removeEventListener("mousedown", handleClickOutside); 71 | }; 72 | }, [isOpen]); 73 | 74 | if (!isOpen) return null; 75 | 76 | const handleSearch = (e: React.ChangeEvent) => { 77 | const val: any = e.target.value; 78 | setSearchStr(val); 79 | }; 80 | 81 | function strstr(string1: string, string2: string): boolean { 82 | return string1.toLowerCase().includes(string2.toLowerCase()); 83 | } 84 | 85 | const abbreviateAddress = (address: any) => { 86 | if (address == "" || address == ZeroAddress) return ``; 87 | return `${address.slice(0, 6)}...${address.slice(-4)}`; 88 | }; 89 | 90 | return ( 91 |
96 |
102 |
103 |

104 | {title} 105 |

106 | 110 |
111 |
112 | 118 |
119 |
120 | {filteredTokens?.length == 0 ? ( 121 |
122 |

123 | No results found. 124 |

125 |
126 | ) : ( 127 | filteredTokens?.map((item, index) => { 128 | return ( 129 |
133 |
134 | 140 |
141 |
{ 143 | setToken(item); 144 | onClose(); 145 | }} 146 | className="group flex flex-col w-full gap-2 rounded-lg pl-3 data-[focus]:bg-white/10 hover:cursor-pointer" 147 | > 148 | {/*
*/} 149 |
150 |

151 | {item.symbol} 152 |

153 |

154 | {item.balance} 155 |

156 |
157 |
158 |

159 | {item.name} 160 |

161 |

162 | {abbreviateAddress(item.address)} 163 |

164 |
165 | {/*
*/} 166 |
167 |
168 | ); 169 | }) 170 | )} 171 |
172 |
173 |
174 | ); 175 | }; 176 | 177 | export default TokenModal; 178 | -------------------------------------------------------------------------------- /app/components/swap/topBar.tsx: -------------------------------------------------------------------------------- 1 | import { ConnectButton } from "@rainbow-me/rainbowkit"; 2 | import Image from "next/image"; 3 | import { useState } from "react"; 4 | import { toast } from "react-toastify"; 5 | import { Menu, MenuButton, MenuItem, MenuItems } from "@headlessui/react"; 6 | import { IoIosArrowDown } from "react-icons/io"; 7 | import { FaXTwitter } from "react-icons/fa6"; 8 | import { IoLogoYoutube } from "react-icons/io5"; 9 | import { FaInstagramSquare } from "react-icons/fa"; 10 | import { AiFillHome } from "react-icons/ai"; 11 | import { IoMdHelpCircle } from "react-icons/io"; 12 | import { VscGitStashApply } from "react-icons/vsc"; 13 | 14 | export default function TopBar() { 15 | 16 | return ( 17 |
18 |
19 | 20 |
21 |
22 | 23 | 24 | 25 |
26 |
27 | ); 28 | } 29 | -------------------------------------------------------------------------------- /app/config/config.ts: -------------------------------------------------------------------------------- 1 | import { http, createConfig } from '@wagmi/core' 2 | import { cronos } from '@wagmi/core/chains' 3 | 4 | export const configMy = createConfig({ 5 | chains: [cronos], 6 | transports: { 7 | [cronos.id]: http(), 8 | }, 9 | }) -------------------------------------------------------------------------------- /app/config/index.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | import { cronos } from "viem/chains" 4 | import { TOKEN_LIST } from "@/app/abis/Tokens" 5 | import { Address } from "viem"; 6 | 7 | //For test 0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9 8 | 9 | export interface IToken { 10 | name: string; 11 | isNative: boolean; 12 | address: string; 13 | decimal: number; 14 | } 15 | 16 | const routerAddr = process.env.NEXT_PUBLIC_DEX_ROUTER; 17 | const factoryAddr = process.env.NEXT_PUBLIC_DEX_FACTORY; 18 | 19 | export const WCRO = { name: "WCRO", isNative: false, address: "0x5C7F8A570d578ED84E63fdFA7b1eE72dEae1AE23", decimal: 18 } 20 | export const WETH = { name: "WETH", isNative: false, address: "0xc0660235ab5a50acab67334c1e2e586915062447", decimal: 18 } 21 | // export const DEXRouter = "0x758919217d8A29bC57899050853d4b3fd359bC2A" 22 | export const DEXRouter = routerAddr as Address; 23 | 24 | export const CONTRACT_ADDRESS = "0x17B094Db1195411872a973fc1482746E6F7Ec976" //will be change 25 | 26 | // export const FACTORY = "0x8e8985c56cbfeBA12ec49fCA5891201333F012E5"; 27 | export const FACTORY = factoryAddr as Address; 28 | 29 | // export const STAKING_ADDRESS = "0xa69609e2D236a43857A4243B2403Ab8dd1b3c5a6"; //sepolia 30 | // export const STAKING_ADDRESS = "0xC6c8058A6118205963D3d1F6F6Cb396577F9e4d4"; //cronos 31 | export const STAKING_ADDRESS = "0x4BA43e9717a0E6eF828AfaDC6808B5d91dBdf118"; //cronos 32 | 33 | export const nativeCoin = TOKEN_LIST[0] 34 | export const currentChain = cronos; 35 | 36 | export const fee = 0.3; // 100 37 | 38 | export const cronosConfig = { 39 | chainId: 25, 40 | chainName: 'Cronos', 41 | network: 'cronos', 42 | nativeCurrency: { 43 | decimals: 18, 44 | name: 'Cronos', 45 | symbol: 'CRO', 46 | }, 47 | rpcUrls: [ 48 | 'https://cronos.blockpi.network/v1/rpc/public' 49 | ], 50 | blockExplorerUrls: [ 51 | 'https://cronoscan.com' 52 | ] 53 | } -------------------------------------------------------------------------------- /app/config/wagmi.ts: -------------------------------------------------------------------------------- 1 | import { getDefaultConfig } from "@rainbow-me/rainbowkit"; 2 | import { 3 | cronos, 4 | } from "wagmi/chains"; 5 | 6 | export const config = getDefaultConfig({ 7 | appName: "EVM-dex | swap | liquidity | vault", 8 | // projectId: 'YOUR_PROJECT_ID', 9 | projectId: "51a8a52bcc0730097ea92eed587f88cb", 10 | chains: [cronos], 11 | ssr: true, 12 | }); 13 | -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/app/favicon.ico -------------------------------------------------------------------------------- /app/fonts/GeistMonoVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/app/fonts/GeistMonoVF.woff -------------------------------------------------------------------------------- /app/fonts/GeistVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/app/fonts/GeistVF.woff -------------------------------------------------------------------------------- /app/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | :root { 6 | --background: #222427; 7 | --foreground: #171717; 8 | } 9 | 10 | @media (prefers-color-scheme: dark) { 11 | :root { 12 | --background: #222427; 13 | --foreground: #ffffff; 14 | } 15 | } 16 | 17 | body { 18 | color: var(--foreground); 19 | background: var(--background); 20 | font-family: Arial, Helvetica, sans-serif; 21 | } 22 | 23 | @layer utilities { 24 | .text-balance { 25 | text-wrap: balance; 26 | } 27 | } 28 | 29 | .two-arrrow-icon { 30 | content: "\f362"; 31 | } 32 | 33 | .numberInput { 34 | -moz-appearance: textfield; /* Firefox */ 35 | } 36 | 37 | .numberInput::-webkit-outer-spin-button, 38 | .numberInput::-webkit-inner-spin-button { 39 | -webkit-appearance: none; /* Safari and Chrome */ 40 | margin: 0; 41 | } 42 | 43 | /* width */ 44 | ::-webkit-scrollbar { 45 | width: 10px; 46 | } 47 | 48 | /* Track */ 49 | ::-webkit-scrollbar-track { 50 | background: #212428; 51 | } 52 | 53 | /* Handle */ 54 | ::-webkit-scrollbar-thumb { 55 | background: #727272; 56 | border-radius: 5px; 57 | } 58 | 59 | /* Handle on hover */ 60 | ::-webkit-scrollbar-thumb:hover { 61 | background: #555; 62 | } 63 | 64 | .toast-message { 65 | width: fit-content; 66 | } 67 | 68 | .bg-blur-black { 69 | position: absolute; 70 | top: 0; 71 | left: 0; 72 | right: 0; 73 | bottom: 0; 74 | background-color: rgba(50, 50, 50, 0.5); /* Black overlay with opacity */ 75 | backdrop-filter: blur(10px); /* Adjust the blur intensity */ 76 | /* z-index: -1; */ 77 | } -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from "next"; 2 | import localFont from "next/font/local"; 3 | import "./globals.css"; 4 | import { ToastContainer } from "react-toastify"; 5 | import "react-toastify/dist/ReactToastify.css"; 6 | import Providers from "./components/provider"; 7 | import "@rainbow-me/rainbowkit/styles.css"; 8 | import Image from "next/image"; 9 | 10 | const geistSans = localFont({ 11 | src: "./fonts/GeistVF.woff", 12 | variable: "--font-geist-sans", 13 | weight: "100 900", 14 | }); 15 | const geistMono = localFont({ 16 | src: "./fonts/GeistMonoVF.woff", 17 | variable: "--font-geist-mono", 18 | weight: "100 900", 19 | }); 20 | 21 | export const metadata: Metadata = { 22 | title: "EVM-dex | swap | liquidity | vault", 23 | description: "Generated by create next app", 24 | }; 25 | 26 | export default function RootLayout({ 27 | children, 28 | }: Readonly<{ 29 | children: React.ReactNode; 30 | }>) { 31 | return ( 32 | 33 | 36 | 37 | {children} 38 | 47 | 48 | 49 | {/*
50 |
54 | Image 59 |
60 |
*/} 61 | 62 | 63 | 64 | ); 65 | } 66 | -------------------------------------------------------------------------------- /app/liquidity/page.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import Image from "next/image"; 4 | import { useRouter } from "next/navigation"; 5 | import TopBar from "../components/swap/topBar"; 6 | import { FiDownload } from "react-icons/fi"; 7 | import { IoMdAdd } from "react-icons/io"; 8 | import BottomBar from "../components/bottomBar"; 9 | 10 | export default function Home() { 11 | const router = useRouter(); 12 | 13 | return ( 14 | <> 15 | 16 |
17 |

18 | Swap your tokens or provide liquidity! 19 |

20 |
21 |
22 |
23 |
24 |
{ 26 | router.push("/swap"); 27 | }} 28 | className="w-[50%] h-[33px] border rounded-l-lg border-black-border text-center items-center hover:cursor-pointer" 29 | > 30 |

Swap

31 |
32 |
33 |

Liquidity

34 |
35 |
{ 37 | router.push("/staking"); 38 | }} 39 | className="w-[50%] h-[33px] border rounded-r-lg border-black-border text-center items-center hover:cursor-pointer" 40 | > 41 |

Vault

42 |
43 |
44 | 45 | 46 |
47 |
{ 49 | router.push("/liquidity/import"); 50 | }} 51 | className="flex items-center text-[17px] hover:cursor-pointer hover:underline" 52 | > 53 | 54 |

View pool

55 |
56 |
{ 58 | router.push("/liquidity/add"); 59 | }} 60 | className="flex items-center text-[17px] hover:cursor-pointer hover:underline" 61 | > 62 | 63 |

Add liquidity

64 |
65 |
66 |
67 |

68 | Import pool to see your liquidity or remove liquidity. 69 |

70 |

71 | Add liquidity to add your liquidity from tokens. 72 |

73 |
74 | 75 | 76 |
77 |
78 | 79 | 80 | ); 81 | } 82 | -------------------------------------------------------------------------------- /app/liquidity/viewpool/page.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import Image from "next/image"; 4 | import { useEffect, useState } from "react"; 5 | import { useRouter } from "next/navigation"; 6 | import TopBar from "@/app/components/swap/topBar"; 7 | import { GoArrowLeft } from "react-icons/go"; 8 | import { 9 | getPairInfoFromBackend, 10 | getTokenBalanceByAddress, 11 | convertBignitTofloat, 12 | } from "@/app/utils/actions"; 13 | import * as React from "react"; 14 | import { LPPair } from "@/app/types/pair"; 15 | import { useAccount } from "wagmi"; 16 | import { Address } from "viem"; 17 | import { erc20Abi } from "viem"; 18 | import { config } from "@/app/config/wagmi"; 19 | import { multicall } from "@wagmi/core"; 20 | import LoadingGif from "@/app/components/swap/loadingGif"; 21 | import BottomBar from "@/app/components/bottomBar"; 22 | 23 | export default function Home() { 24 | const router = useRouter(); 25 | const { address } = useAccount(); 26 | 27 | const [isSwapping, setIsSwapping] = useState(false); 28 | const [userPool, setUserPool] = useState([]); // pool that user have 29 | 30 | useEffect(() => { 31 | const load = async () => { 32 | setIsSwapping(true); 33 | let pairInfo: any = await getPairInfoFromBackend(); 34 | const contracts: any[] = []; 35 | for (let i = 0; i < pairInfo.length; i++) { 36 | // let balance: any = await getTokenBalanceByAddress( 37 | // pairInfo[i].pairAddress, 38 | // address as Address 39 | // ); 40 | contracts.push( 41 | { 42 | abi: erc20Abi, 43 | functionName: "balanceOf", 44 | address: pairInfo[i].pairAddress as Address, 45 | args: [address as Address], 46 | } 47 | // { 48 | // abi: erc20Abi, 49 | // functionName: "decimals", 50 | // address: pairInfo[i].pairAddress as Address, 51 | // } 52 | ); 53 | } 54 | const resultofCall: any = await multicall(config, { contracts }); 55 | const userPool: any[] = []; 56 | for (let i = 0; i < resultofCall.length; i++) { 57 | if (resultofCall[i].result > 0) userPool.push(pairInfo[i]); 58 | } 59 | setUserPool(userPool); 60 | setIsSwapping(false); 61 | // if (tokenBalance.result != undefined && decimals.result != undefined) { 62 | // const formatedTokenBalance = convertBignitTofloat( 63 | // tokenBalance[i].result, 64 | // decimals[i].result 65 | // ); 66 | // return formatedTokenBalance; 67 | // } 68 | // return 0; 69 | // console.log("@:", pairInfo[i].pairAddress, balance); 70 | }; 71 | load(); 72 | }, []); 73 | 74 | return ( 75 | <> 76 | 77 |
78 |

79 | Swap your tokens or provide liquidity! 80 |

81 |
82 |
83 |
84 |
85 |
{ 87 | router.push("/liquidity/import"); 88 | }} 89 | className="flex items-center text-[17px] hover:cursor-pointer" 90 | > 91 | 92 |
93 |
94 |
95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | {userPool.map((item, index) => ( 105 | 111 | 112 | 131 | 132 | ))} 133 | 134 |
NoPool
{index + 1} 113 | 120 | {item.token1} 121 |

/

122 | 129 | {item.token2} 130 |
135 |
136 | {/* )} */} 137 |
138 |
139 | 140 | 141 | ); 142 | } 143 | -------------------------------------------------------------------------------- /app/page.tsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import { useRouter } from "next/navigation"; 4 | import { useEffect } from "react"; 5 | import { ToastContainer } from "react-toastify"; 6 | 7 | function Page() { 8 | const router = useRouter(); 9 | 10 | useEffect(()=>{ 11 | router.push("/swap") 12 | },[]) 13 | 14 | return ( 15 |
16 | 17 |
18 | ); 19 | } 20 | 21 | export default Page; 22 | -------------------------------------------------------------------------------- /app/staking/page.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import { useRouter } from "next/navigation"; 3 | import TopBar from "../components/swap/topBar"; 4 | import Image from "next/image"; 5 | import BottomBar from "../components/bottomBar"; 6 | 7 | export default function Home() { 8 | const router = useRouter(); 9 | return ( 10 | <> 11 | 12 |
13 |

14 | Swap your tokens or provide liquidity! 15 |

16 |
17 |
18 | {/* */} 19 | 20 |
21 |
22 |
{ 25 | router.push("/swap"); 26 | }} 27 | > 28 |

Swap

29 |
30 |
{ 32 | router.push("/liquidity"); 33 | }} 34 | className="w-[50%] h-[33px] border border-black-border text-center items-center hover:cursor-pointer" 35 | > 36 |

Liquidity

37 |
38 |
40 |

Vault

41 |
42 |
43 |
44 | Coming Soon... 45 |
46 |
47 |
48 | 49 | 50 | 51 | ); 52 | } 53 | -------------------------------------------------------------------------------- /app/swap/page.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import Image from "next/image"; 4 | import { useEffect, useState } from "react"; 5 | import { AiOutlineSwap } from "react-icons/ai"; 6 | import { useRouter } from "next/navigation"; 7 | import { CRO, CROGINAL } from "../abis/Tokens"; 8 | import ActionButton from "../components/swap/ActionButton"; 9 | import { useAccount, useBalance } from "wagmi"; 10 | import InputTag from "../components/swap/inputTag"; 11 | import TopBar from "../components/swap/topBar"; 12 | import { Address } from "viem"; 13 | import { useChainId } from "wagmi"; 14 | import { cronos } from "wagmi/chains"; 15 | import SetSlippageButton from "../components/swap/setSlippageButton"; 16 | import useSwapStatus from "../hooks/useSwapStatus"; 17 | import { usePlayDEX } from "../hooks/usePlayDEX"; 18 | import { useUSDprice } from "../hooks/useUSDprice"; 19 | import { useTokenBalance } from "../hooks/useTokenBalance"; 20 | import BottomBar from "../components/bottomBar"; 21 | 22 | export default function Home() { 23 | const [baseToken, setBaseToken] = useState(CRO); 24 | const [quoteToken, setQuoteToken] = useState(CROGINAL); 25 | const [baseAmount, setBaseAmount] = useState(0); 26 | const { isConnected, address } = useAccount(); 27 | const [slippagePercent, setSlippagePercent] = useState(0.5); 28 | const [quoteAmount, setQuoteAmount] = useState(0); 29 | const btnArray: number[] = [10, 25, 50, 75, 100]; 30 | const router = useRouter(); 31 | const chainId = useChainId(); 32 | const [isInsufficient, setIsInsufficient] = useState(false); 33 | 34 | const basePrice = useUSDprice(baseToken, baseAmount); 35 | const quotePrice = useUSDprice(quoteToken, quoteAmount); 36 | 37 | const { estimateFee, approveStatus, isSwapping, isAmountCalcing, callback } = 38 | useSwapStatus( 39 | baseToken, 40 | quoteToken, 41 | baseAmount, 42 | slippagePercent, 43 | quoteAmount, 44 | setQuoteAmount 45 | ); 46 | 47 | // const isSoundSuccess = usePlayDEX(isSwapSuccess, isSwapping, baseAmount, quoteAmount, baseToken, quoteToken); 48 | 49 | // const { data: baseBalance } = useBalance({ 50 | // address: address, 51 | // token: baseToken.isNative ? undefined : (baseToken.address as Address), 52 | // }); 53 | 54 | // const { data: quoteBalance } = useBalance({ 55 | // address: address, 56 | // token: quoteToken.isNative ? undefined : (quoteToken.address as Address), 57 | // }); 58 | const baseBalance = useTokenBalance(baseToken, isSwapping); 59 | const quoteBalance = useTokenBalance(quoteToken, isSwapping); 60 | 61 | const swapBaseAndQuote = () => { 62 | setBaseToken(quoteToken); 63 | setQuoteToken(baseToken); 64 | setBaseAmount(quoteAmount); 65 | }; 66 | 67 | return ( 68 | <> 69 | 70 |
71 |

72 | Swap your tokens or provide liquidity! 73 |

74 |
75 |
76 | {/* */} 77 | 78 |
79 |
80 |
81 |

Swap

82 |
83 |
{ 85 | router.push("/liquidity"); 86 | }} 87 | className="w-[50%] h-[33px] border border-black-border text-center items-center hover:cursor-pointer" 88 | > 89 |

Liquidity

90 |
91 |
{ 93 | router.push("/staking"); 94 | }} 95 | className="w-[50%] h-[33px] border rounded-r-lg border-black-border text-center items-center hover:cursor-pointer" 96 | > 97 |

Vault

98 |
99 |
100 | 101 |
102 | 103 |
104 | 118 |
119 |
120 | {btnArray.map((item, index) => ( 121 | 139 | ))} 140 |
141 |
142 | 148 |
149 |
150 | { }} 161 | USDprice={quotePrice} 162 | showMAXbtn={false} 163 | /> 164 | 165 |
166 | {!isConnected || chainId != cronos.id ? ( 167 | 168 | ) : baseAmount == 0 ? ( 169 | <> 170 | 175 | 176 | ) : isSwapping ? ( 177 | 182 | ) : isInsufficient ? ( 183 | 188 | ) : approveStatus == 1 ? ( 189 | 190 | 191 | 192 | ) : approveStatus == 2 ? ( 193 | 198 | ) : approveStatus == 3 ? ( 199 | 200 | ) : ( 201 | 206 | )} 207 |
208 | {baseAmount > 0 ? ( 209 |
210 |
211 |

212 | {`Minimum output`} 213 |

214 |

215 | {`${((quoteAmount * (100 - slippagePercent)) / 100).toFixed( 216 | 3 217 | )}`} 218 |

219 |
220 | 221 |
222 |

223 | {`Expected output`} 224 |

225 |

226 | {`${Number(quoteAmount).toFixed(3)}`} 227 |

228 |
229 |
230 | ) : ( 231 | <> 232 | )} 233 |
234 |
235 | 236 | 237 | ); 238 | } 239 | -------------------------------------------------------------------------------- /app/types/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/app/types/constants.ts -------------------------------------------------------------------------------- /app/types/index.ts: -------------------------------------------------------------------------------- 1 | export type Token = { name: string, symbol: string, isNative: boolean, address: string, decimal: number, balance: number } -------------------------------------------------------------------------------- /app/types/pair.ts: -------------------------------------------------------------------------------- 1 | export type LPPair = { 2 | token1: string; 3 | token2: string; 4 | balance1: number; 5 | balance2: number; 6 | amount1: number; 7 | amount2: number; 8 | totalAmount: number; 9 | pairAddress: string; 10 | }; 11 | -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = {}; 3 | 4 | export default nextConfig; 5 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "croginalcat", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "@emotion/react": "^11.13.3", 13 | "@emotion/styled": "^11.13.0", 14 | "@fortawesome/fontawesome-svg-core": "^6.6.0", 15 | "@fortawesome/free-solid-svg-icons": "^6.6.0", 16 | "@fortawesome/react-fontawesome": "^0.2.2", 17 | "@headlessui/react": "^2.1.8", 18 | "@mui/material": "^6.1.3", 19 | "@nextui-org/react": "^2.4.8", 20 | "@rainbow-me/rainbowkit": "^2.1.7", 21 | "@uniswap/v2-core": "^1.0.1", 22 | "alchemy-sdk": "^3.5.0", 23 | "cors": "^2.8.5", 24 | "dotenv": "^16.4.5", 25 | "ethers": "^6.13.3", 26 | "express": "^4.21.1", 27 | "lucide-react": "^0.446.0", 28 | "next": "14.2.13", 29 | "pino-pretty": "^13.0.0", 30 | "primeicons": "^7.0.0", 31 | "primereact": "^10.8.4", 32 | "react": "^18", 33 | "react-dom": "^18", 34 | "react-icons": "^5.3.0", 35 | "react-toastify": "^10.0.5", 36 | "wagmi": "^2.12.16" 37 | }, 38 | "devDependencies": { 39 | "@types/cors": "^2.8.17", 40 | "@types/node": "^20", 41 | "@types/react": "^18", 42 | "@types/react-dom": "^18", 43 | "encoding": "^0.1.13", 44 | "postcss": "^8", 45 | "tailwindcss": "^3.4.1", 46 | "typescript": "^5" 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('postcss-load-config').Config} */ 2 | const config = { 3 | plugins: { 4 | tailwindcss: {}, 5 | }, 6 | }; 7 | 8 | export default config; 9 | -------------------------------------------------------------------------------- /public/img/MintPageBackground.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/MintPageBackground.webp -------------------------------------------------------------------------------- /public/img/cronosproject.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/cronosproject.webp -------------------------------------------------------------------------------- /public/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/logo.png -------------------------------------------------------------------------------- /public/img/swapping.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/swapping.gif -------------------------------------------------------------------------------- /public/img/token_icons/ADA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/ADA.png -------------------------------------------------------------------------------- /public/img/token_icons/AGENTFUN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/AGENTFUN.png -------------------------------------------------------------------------------- /public/img/token_icons/ARY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/ARY.png -------------------------------------------------------------------------------- /public/img/token_icons/BALLZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/BALLZ.png -------------------------------------------------------------------------------- /public/img/token_icons/BARA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/BARA.png -------------------------------------------------------------------------------- /public/img/token_icons/BORED.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/BORED.png -------------------------------------------------------------------------------- /public/img/token_icons/BUI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/BUI.png -------------------------------------------------------------------------------- /public/img/token_icons/BUTT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/BUTT.png -------------------------------------------------------------------------------- /public/img/token_icons/CAW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/CAW.png -------------------------------------------------------------------------------- /public/img/token_icons/CHRISP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/CHRISP.png -------------------------------------------------------------------------------- /public/img/token_icons/CLOVE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/CLOVE.png -------------------------------------------------------------------------------- /public/img/token_icons/CRO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/CRO.png -------------------------------------------------------------------------------- /public/img/token_icons/CRO1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/CRO1.png -------------------------------------------------------------------------------- /public/img/token_icons/CROAK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/CROAK.png -------------------------------------------------------------------------------- /public/img/token_icons/CRONAN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/CRONAN.png -------------------------------------------------------------------------------- /public/img/token_icons/CRORA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/CRORA.png -------------------------------------------------------------------------------- /public/img/token_icons/Croginal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/Croginal.png -------------------------------------------------------------------------------- /public/img/token_icons/DOGE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/DOGE.png -------------------------------------------------------------------------------- /public/img/token_icons/Dofi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/Dofi.png -------------------------------------------------------------------------------- /public/img/token_icons/DougeRug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/DougeRug.png -------------------------------------------------------------------------------- /public/img/token_icons/ELMO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/ELMO.png -------------------------------------------------------------------------------- /public/img/token_icons/ENiG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/ENiG.png -------------------------------------------------------------------------------- /public/img/token_icons/ETF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/ETF.png -------------------------------------------------------------------------------- /public/img/token_icons/FAF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/FAF.png -------------------------------------------------------------------------------- /public/img/token_icons/FFTB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/FFTB.png -------------------------------------------------------------------------------- /public/img/token_icons/FFTBozos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/FFTBozos.png -------------------------------------------------------------------------------- /public/img/token_icons/FROGS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/FROGS.png -------------------------------------------------------------------------------- /public/img/token_icons/GAINZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/GAINZ.png -------------------------------------------------------------------------------- /public/img/token_icons/GM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/GM.png -------------------------------------------------------------------------------- /public/img/token_icons/GRNSTX V2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/GRNSTX V2.png -------------------------------------------------------------------------------- /public/img/token_icons/H2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/H2.png -------------------------------------------------------------------------------- /public/img/token_icons/HAM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/HAM.png -------------------------------------------------------------------------------- /public/img/token_icons/HOOT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/HOOT.png -------------------------------------------------------------------------------- /public/img/token_icons/LEX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/LEX.png -------------------------------------------------------------------------------- /public/img/token_icons/LION.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/LION.png -------------------------------------------------------------------------------- /public/img/token_icons/MEERKAT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/MEERKAT.png -------------------------------------------------------------------------------- /public/img/token_icons/MERY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/MERY.png -------------------------------------------------------------------------------- /public/img/token_icons/MOON.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/MOON.png -------------------------------------------------------------------------------- /public/img/token_icons/MTRX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/MTRX.png -------------------------------------------------------------------------------- /public/img/token_icons/NEURO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/NEURO.png -------------------------------------------------------------------------------- /public/img/token_icons/PAPACRO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/PAPACRO.png -------------------------------------------------------------------------------- /public/img/token_icons/PUUSH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/PUUSH.png -------------------------------------------------------------------------------- /public/img/token_icons/REAPER.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/REAPER.png -------------------------------------------------------------------------------- /public/img/token_icons/RETRIB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/RETRIB.png -------------------------------------------------------------------------------- /public/img/token_icons/RTRD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/RTRD.png -------------------------------------------------------------------------------- /public/img/token_icons/SHIB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/SHIB.png -------------------------------------------------------------------------------- /public/img/token_icons/SOL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/SOL.png -------------------------------------------------------------------------------- /public/img/token_icons/STAB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/STAB.png -------------------------------------------------------------------------------- /public/img/token_icons/TRUMP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/TRUMP.png -------------------------------------------------------------------------------- /public/img/token_icons/TURTLE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/TURTLE.png -------------------------------------------------------------------------------- /public/img/token_icons/USDC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/USDC.png -------------------------------------------------------------------------------- /public/img/token_icons/USDT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/USDT.png -------------------------------------------------------------------------------- /public/img/token_icons/WCRO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/WCRO.png -------------------------------------------------------------------------------- /public/img/token_icons/WETH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/WETH.png -------------------------------------------------------------------------------- /public/img/token_icons/WIG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/WIG.png -------------------------------------------------------------------------------- /public/img/token_icons/WINE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/WINE.png -------------------------------------------------------------------------------- /public/img/token_icons/WW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/WW.png -------------------------------------------------------------------------------- /public/img/token_icons/XRP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/XRP.png -------------------------------------------------------------------------------- /public/img/token_icons/chillkris.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/chillkris.png -------------------------------------------------------------------------------- /public/img/token_icons/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/img/token_icons/empty.png -------------------------------------------------------------------------------- /public/sounds/dexswap-dex1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/sounds/dexswap-dex1.mp3 -------------------------------------------------------------------------------- /public/sounds/dexswap-dex2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xopsdev/EVM-dex-swap/62dd10eab769fe907308d4b3fba01cf0bc881427/public/sounds/dexswap-dex2.mp3 -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "tailwindcss"; 2 | const { nextui } = require("@nextui-org/react"); 3 | 4 | const config: Config = { 5 | content: [ 6 | "./pages/**/*.{js,ts,jsx,tsx,mdx}", 7 | "./components/**/*.{js,ts,jsx,tsx,mdx}", 8 | "./app/**/*.{js,ts,jsx,tsx,mdx}", 9 | ], 10 | theme: { 11 | extend: { 12 | colors: { 13 | background: "var(--background)", 14 | foreground: "var(--foreground)", 15 | "banner-color" : "#0F1213", 16 | "banner" : "#0F1213", 17 | "black-1": "#242425", 18 | "black-2" : "#222427", 19 | "black-3": "#353739", 20 | "black-border": "#43474A", 21 | "balance" : "#8e9aa3", 22 | "red-1" : "#ff3862", 23 | "purple" : "#6144e5", 24 | "purple-bright" : "#7370FE", 25 | "purple-txt" : "#5F3AAD", 26 | "gray" : "#7774", 27 | "gray-bright" : "#313132", 28 | "gray-txt" : "#6D6D6D", 29 | "gray-txt-1" : "#808080", 30 | "yellow" : "#E4731E", 31 | "modal" : "#212428", 32 | "modal-title" : "#2a3039", 33 | "menu": "#1A1B1F", 34 | }, 35 | borderWidth: { 36 | DEFAULT: '1px', 37 | '0': '0', 38 | '2': '2px', 39 | '3': '3px', 40 | '4': '4px', 41 | '6': '6px', 42 | '8': '8px', 43 | } 44 | }, 45 | }, 46 | plugins: [], 47 | }; 48 | export default config; 49 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["dom", "dom.iterable", "esnext"], 4 | "allowJs": true, 5 | "skipLibCheck": true, 6 | "strict": true, 7 | "noEmit": true, 8 | "esModuleInterop": true, 9 | "module": "esnext", 10 | "moduleResolution": "bundler", 11 | "resolveJsonModule": true, 12 | "isolatedModules": true, 13 | "jsx": "preserve", 14 | "incremental": true, 15 | "plugins": [ 16 | { 17 | "name": "next" 18 | } 19 | ], 20 | "paths": { 21 | "@/*": ["./*"] 22 | } 23 | }, 24 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], 25 | "exclude": ["node_modules"] 26 | } 27 | --------------------------------------------------------------------------------