├── app
├── types
│ ├── constants.ts
│ ├── index.ts
│ └── pair.ts
├── favicon.ico
├── fonts
│ ├── GeistVF.woff
│ └── GeistMonoVF.woff
├── config
│ ├── config.ts
│ ├── wagmi.ts
│ └── index.ts
├── components
│ ├── swap
│ │ ├── showBalance.tsx
│ │ ├── inputLoadingGif.tsx
│ │ ├── loadingGif.tsx
│ │ ├── setSlippageButton.tsx
│ │ ├── topBar.tsx
│ │ ├── ActionButton.tsx
│ │ ├── inputTag.tsx
│ │ ├── setSlippageModal.tsx
│ │ └── tokenModal.tsx
│ ├── bottomBar.tsx
│ ├── staking
│ │ ├── TotalLockedValue.tsx
│ │ └── YourLockedValue.tsx
│ ├── provider.tsx
│ ├── liquidity
│ │ ├── removeLiquidity.tsx
│ │ └── ShowPercent.tsx
│ └── ActionButton.tsx
├── page.tsx
├── globals.css
├── layout.tsx
├── staking
│ └── page.tsx
├── abis
│ ├── WETH.json
│ ├── BARA.json
│ ├── ENiG.json
│ ├── CROfam.json
│ ├── Croginal.json
│ ├── TURTLE.json
│ ├── MOON.json
│ ├── MERY.json
│ ├── FFTheBozos.json
│ ├── Factory.json
│ ├── CRORA.json
│ ├── REAPER.json
│ ├── WCRO.json
│ ├── CAW.json
│ ├── Staking.json
│ ├── USDC.json
│ ├── USDT.json
│ ├── Pair.json
│ ├── Tokens.ts
│ ├── Contract.json
│ ├── abi.json
│ └── DEXRouter.json
├── liquidity
│ ├── page.tsx
│ └── viewpool
│ │ └── page.tsx
└── swap
│ └── page.tsx
├── public
├── img
│ ├── logo.png
│ ├── swapping.gif
│ ├── cronosproject.webp
│ ├── token_icons
│ │ ├── ADA.png
│ │ ├── ARY.png
│ │ ├── BUI.png
│ │ ├── CAW.png
│ │ ├── CRO.png
│ │ ├── ETF.png
│ │ ├── FAF.png
│ │ ├── GM.png
│ │ ├── H2.png
│ │ ├── HAM.png
│ │ ├── LEX.png
│ │ ├── SOL.png
│ │ ├── WIG.png
│ │ ├── WW.png
│ │ ├── XRP.png
│ │ ├── BALLZ.png
│ │ ├── BARA.png
│ │ ├── BORED.png
│ │ ├── BUTT.png
│ │ ├── CLOVE.png
│ │ ├── CRO1.png
│ │ ├── CROAK.png
│ │ ├── CRORA.png
│ │ ├── DOGE.png
│ │ ├── Dofi.png
│ │ ├── ELMO.png
│ │ ├── ENiG.png
│ │ ├── FFTB.png
│ │ ├── FROGS.png
│ │ ├── GAINZ.png
│ │ ├── HOOT.png
│ │ ├── LION.png
│ │ ├── MERY.png
│ │ ├── MOON.png
│ │ ├── MTRX.png
│ │ ├── NEURO.png
│ │ ├── PUUSH.png
│ │ ├── RTRD.png
│ │ ├── SHIB.png
│ │ ├── STAB.png
│ │ ├── TRUMP.png
│ │ ├── USDC.png
│ │ ├── USDT.png
│ │ ├── WCRO.png
│ │ ├── WETH.png
│ │ ├── WINE.png
│ │ ├── empty.png
│ │ ├── AGENTFUN.png
│ │ ├── CHRISP.png
│ │ ├── CRONAN.png
│ │ ├── Croginal.png
│ │ ├── DougeRug.png
│ │ ├── FFTBozos.png
│ │ ├── MEERKAT.png
│ │ ├── PAPACRO.png
│ │ ├── REAPER.png
│ │ ├── RETRIB.png
│ │ ├── TURTLE.png
│ │ ├── GRNSTX V2.png
│ │ └── chillkris.png
│ └── MintPageBackground.webp
└── sounds
│ ├── dexswap-dex1.mp3
│ └── dexswap-dex2.mp3
├── next.config.mjs
├── postcss.config.mjs
├── .env.example
├── .gitignore
├── tsconfig.json
├── tailwind.config.ts
├── package.json
└── README.md
/app/types/constants.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/app/favicon.ico
--------------------------------------------------------------------------------
/public/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/logo.png
--------------------------------------------------------------------------------
/app/fonts/GeistVF.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/app/fonts/GeistVF.woff
--------------------------------------------------------------------------------
/next.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {};
3 |
4 | export default nextConfig;
5 |
--------------------------------------------------------------------------------
/public/img/swapping.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/swapping.gif
--------------------------------------------------------------------------------
/app/fonts/GeistMonoVF.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/app/fonts/GeistMonoVF.woff
--------------------------------------------------------------------------------
/public/img/cronosproject.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/cronosproject.webp
--------------------------------------------------------------------------------
/public/img/token_icons/ADA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/ADA.png
--------------------------------------------------------------------------------
/public/img/token_icons/ARY.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/ARY.png
--------------------------------------------------------------------------------
/public/img/token_icons/BUI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/BUI.png
--------------------------------------------------------------------------------
/public/img/token_icons/CAW.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/CAW.png
--------------------------------------------------------------------------------
/public/img/token_icons/CRO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/CRO.png
--------------------------------------------------------------------------------
/public/img/token_icons/ETF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/ETF.png
--------------------------------------------------------------------------------
/public/img/token_icons/FAF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/FAF.png
--------------------------------------------------------------------------------
/public/img/token_icons/GM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/GM.png
--------------------------------------------------------------------------------
/public/img/token_icons/H2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/H2.png
--------------------------------------------------------------------------------
/public/img/token_icons/HAM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/HAM.png
--------------------------------------------------------------------------------
/public/img/token_icons/LEX.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/LEX.png
--------------------------------------------------------------------------------
/public/img/token_icons/SOL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/SOL.png
--------------------------------------------------------------------------------
/public/img/token_icons/WIG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/WIG.png
--------------------------------------------------------------------------------
/public/img/token_icons/WW.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/WW.png
--------------------------------------------------------------------------------
/public/img/token_icons/XRP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/XRP.png
--------------------------------------------------------------------------------
/public/sounds/dexswap-dex1.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/sounds/dexswap-dex1.mp3
--------------------------------------------------------------------------------
/public/sounds/dexswap-dex2.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/sounds/dexswap-dex2.mp3
--------------------------------------------------------------------------------
/public/img/token_icons/BALLZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/BALLZ.png
--------------------------------------------------------------------------------
/public/img/token_icons/BARA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/BARA.png
--------------------------------------------------------------------------------
/public/img/token_icons/BORED.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/BORED.png
--------------------------------------------------------------------------------
/public/img/token_icons/BUTT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/BUTT.png
--------------------------------------------------------------------------------
/public/img/token_icons/CLOVE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/CLOVE.png
--------------------------------------------------------------------------------
/public/img/token_icons/CRO1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/CRO1.png
--------------------------------------------------------------------------------
/public/img/token_icons/CROAK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/CROAK.png
--------------------------------------------------------------------------------
/public/img/token_icons/CRORA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/CRORA.png
--------------------------------------------------------------------------------
/public/img/token_icons/DOGE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/DOGE.png
--------------------------------------------------------------------------------
/public/img/token_icons/Dofi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/Dofi.png
--------------------------------------------------------------------------------
/public/img/token_icons/ELMO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/ELMO.png
--------------------------------------------------------------------------------
/public/img/token_icons/ENiG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/ENiG.png
--------------------------------------------------------------------------------
/public/img/token_icons/FFTB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/FFTB.png
--------------------------------------------------------------------------------
/public/img/token_icons/FROGS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/FROGS.png
--------------------------------------------------------------------------------
/public/img/token_icons/GAINZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/GAINZ.png
--------------------------------------------------------------------------------
/public/img/token_icons/HOOT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/HOOT.png
--------------------------------------------------------------------------------
/public/img/token_icons/LION.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/LION.png
--------------------------------------------------------------------------------
/public/img/token_icons/MERY.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/MERY.png
--------------------------------------------------------------------------------
/public/img/token_icons/MOON.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/MOON.png
--------------------------------------------------------------------------------
/public/img/token_icons/MTRX.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/MTRX.png
--------------------------------------------------------------------------------
/public/img/token_icons/NEURO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/NEURO.png
--------------------------------------------------------------------------------
/public/img/token_icons/PUUSH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/PUUSH.png
--------------------------------------------------------------------------------
/public/img/token_icons/RTRD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/RTRD.png
--------------------------------------------------------------------------------
/public/img/token_icons/SHIB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/SHIB.png
--------------------------------------------------------------------------------
/public/img/token_icons/STAB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/STAB.png
--------------------------------------------------------------------------------
/public/img/token_icons/TRUMP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/TRUMP.png
--------------------------------------------------------------------------------
/public/img/token_icons/USDC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/USDC.png
--------------------------------------------------------------------------------
/public/img/token_icons/USDT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/USDT.png
--------------------------------------------------------------------------------
/public/img/token_icons/WCRO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/WCRO.png
--------------------------------------------------------------------------------
/public/img/token_icons/WETH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/WETH.png
--------------------------------------------------------------------------------
/public/img/token_icons/WINE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/WINE.png
--------------------------------------------------------------------------------
/public/img/token_icons/empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/empty.png
--------------------------------------------------------------------------------
/app/types/index.ts:
--------------------------------------------------------------------------------
1 | export type Token = { name: string, symbol: string, isNative: boolean, address: string, decimal: number, balance: number }
--------------------------------------------------------------------------------
/public/img/MintPageBackground.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/MintPageBackground.webp
--------------------------------------------------------------------------------
/public/img/token_icons/AGENTFUN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/AGENTFUN.png
--------------------------------------------------------------------------------
/public/img/token_icons/CHRISP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/CHRISP.png
--------------------------------------------------------------------------------
/public/img/token_icons/CRONAN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/CRONAN.png
--------------------------------------------------------------------------------
/public/img/token_icons/Croginal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/Croginal.png
--------------------------------------------------------------------------------
/public/img/token_icons/DougeRug.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/DougeRug.png
--------------------------------------------------------------------------------
/public/img/token_icons/FFTBozos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/FFTBozos.png
--------------------------------------------------------------------------------
/public/img/token_icons/MEERKAT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/MEERKAT.png
--------------------------------------------------------------------------------
/public/img/token_icons/PAPACRO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/PAPACRO.png
--------------------------------------------------------------------------------
/public/img/token_icons/REAPER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/REAPER.png
--------------------------------------------------------------------------------
/public/img/token_icons/RETRIB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/RETRIB.png
--------------------------------------------------------------------------------
/public/img/token_icons/TURTLE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/TURTLE.png
--------------------------------------------------------------------------------
/public/img/token_icons/GRNSTX V2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/GRNSTX V2.png
--------------------------------------------------------------------------------
/public/img/token_icons/chillkris.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d0sc4u/evm-dex-swap-staking-liquidity/HEAD/public/img/token_icons/chillkris.png
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/.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"
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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/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/inputLoadingGif.tsx:
--------------------------------------------------------------------------------
1 | import Image from "next/image";
2 |
3 | export default function InputLoadingGif(props: any) {
4 | const { isLoading } = props;
5 | return (
6 |
15 | );
16 | }
17 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/.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 |
--------------------------------------------------------------------------------
/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 |
17 | );
18 | }
19 |
--------------------------------------------------------------------------------
/app/components/bottomBar.tsx:
--------------------------------------------------------------------------------
1 | import Image from "next/image";
2 |
3 | export default function BottomBar() {
4 | return (
5 | <>
6 |
7 |
8 |
12 |

17 |
18 |
19 | >
20 | );
21 | }
22 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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/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;
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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/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 |

59 |
60 |
*/}
61 |
62 |
63 |
64 | );
65 | }
66 |
--------------------------------------------------------------------------------
/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 | 
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 | DM me on telegram for full working version of this project
38 | ### 📞 Telegram: [d0sc4u](https://t.me/d0sc4u)
39 | https://t.me/d0sc4u
40 |
41 |
42 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 |
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/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/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 | | No |
100 | Pool |
101 |
102 |
103 |
104 | {userPool.map((item, index) => (
105 |
111 | | {index + 1} |
112 |
113 |
120 | {item.token1}
121 | /
122 |
129 | {item.token2}
130 | |
131 |
132 | ))}
133 |
134 |
135 |
136 | {/* )} */}
137 |
138 |
139 |
140 | >
141 | );
142 | }
143 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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/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/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/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 |
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/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/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"}]
--------------------------------------------------------------------------------