diff --git a/.env b/.env new file mode 100644 index 0000000..237fcd1 --- /dev/null +++ b/.env @@ -0,0 +1,3 @@ +AUTH_DOMAIN=dev-l56jkgi4.us.auth0.com +AUTH_CLIENT_ID=xuG9f6l8ewKSXdJozsT2Ps8bABtlLbRb +AUTH_AUDIENCE=https://xstake.com.br/ diff --git a/Gemfile b/Gemfile index 15228a4..40349f0 100644 --- a/Gemfile +++ b/Gemfile @@ -23,7 +23,6 @@ gem "graphql" gem "tailwindcss-rails" group :development, :test do - gem "graphql_playground-rails" gem "pry-byebug", platforms: [:mri, :mingw, :x64_mingw] gem "capybara" gem "rspec-rails" @@ -34,11 +33,10 @@ group :development, :test do end group :development do + gem "dotenv-rails" gem "graphql_playground-rails" gem "web-console", ">= 4.1.0" gem "listen", "~> 3.3" - # gem "rack-mini-profiler", "~> b2.0" - gem "spring" end diff --git a/Gemfile.lock b/Gemfile.lock index 895fa12..42e8f19 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -102,6 +102,10 @@ GEM devise-i18n (1.10.0) devise (>= 4.8.0) diff-lcs (1.4.4) + dotenv (2.7.6) + dotenv-rails (2.7.6) + dotenv (= 2.7.6) + railties (>= 3.2) erubi (1.10.0) ffi (1.15.3) globalid (0.5.2) @@ -302,6 +306,7 @@ DEPENDENCIES devise devise-bootstrap-views (~> 1.0) devise-i18n + dotenv-rails graphql graphql_playground-rails jbuilder (~> 2.7) diff --git a/app/javascript/modules.d.ts b/app/javascript/modules.d.ts new file mode 100644 index 0000000..6258855 --- /dev/null +++ b/app/javascript/modules.d.ts @@ -0,0 +1,8 @@ +declare module "@rails/ujs" +declare module "turbolinks" +declare module "@rails/activestorage" + +declare module '*.png' { + const png: string + export default png +} diff --git a/app/javascript/packs/application.ts b/app/javascript/packs/application.ts index a994c1c..b0da7eb 100644 --- a/app/javascript/packs/application.ts +++ b/app/javascript/packs/application.ts @@ -13,4 +13,3 @@ // ActiveStorage.start() import "stylesheets/application" -import './src/index' \ No newline at end of file diff --git a/app/javascript/packs/react.ts b/app/javascript/packs/react.ts new file mode 100644 index 0000000..2e22d37 --- /dev/null +++ b/app/javascript/packs/react.ts @@ -0,0 +1 @@ +import '../src/index' \ No newline at end of file diff --git a/app/javascript/packs/src/App.tsx b/app/javascript/packs/src/App.tsx deleted file mode 100644 index ff62190..0000000 --- a/app/javascript/packs/src/App.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react" -import { - BrowserRouter as Router, - Switch, - Route, -} from "react-router-dom"; - -export const App = () => ( - - - -
About!
-
- -
Hello World!
-
-
-
-) \ No newline at end of file diff --git a/app/javascript/src/App.tsx b/app/javascript/src/App.tsx new file mode 100644 index 0000000..38a7b52 --- /dev/null +++ b/app/javascript/src/App.tsx @@ -0,0 +1,30 @@ +import React from "react" +import { + BrowserRouter as Router, + Switch, + Route, +} from "react-router-dom"; +import { AppContext } from "./contexts/AppContext"; +import { AuthProvider } from "./contexts/AuthProvider"; +import { Home } from "./pages"; + +export const App = () => { + return ( + + +
+ + + +
Hello World!
+
+ + + +
+
+
+
+
+ ) +} \ No newline at end of file diff --git a/app/javascript/src/components/Container.tsx b/app/javascript/src/components/Container.tsx new file mode 100644 index 0000000..dca682e --- /dev/null +++ b/app/javascript/src/components/Container.tsx @@ -0,0 +1,17 @@ +import * as React from "react"; +import cx from "classnames"; + +export type ContainerProps = { + className?: string; +}; + +export const Container = ({ + children, + className, +}: React.PropsWithChildren) => { + return ( +
+
{children}
+
+ ); +}; diff --git a/app/javascript/src/components/Header.tsx b/app/javascript/src/components/Header.tsx new file mode 100644 index 0000000..8f81ce2 --- /dev/null +++ b/app/javascript/src/components/Header.tsx @@ -0,0 +1,11 @@ +import * as React from "react"; + +export type HeaderProps = {}; + +export const Header = ({ children }: React.PropsWithChildren) => { + return ( +
+ {children} +
+ ); +}; diff --git a/app/javascript/src/components/Navbar.tsx b/app/javascript/src/components/Navbar.tsx new file mode 100644 index 0000000..c6f6f13 --- /dev/null +++ b/app/javascript/src/components/Navbar.tsx @@ -0,0 +1,62 @@ +import * as React from "react"; +import { useAuth0 } from "@auth0/auth0-react"; +import XStakeLogo from '../images/logo.png' +import { useAppContext } from "../contexts/AppContext"; + +export const Navbar = () => { + const { setSideNavExpanded } = useAppContext() + + const handleExpandSideNav = () => { + setSideNavExpanded((prevState) => !prevState); + }; + + const { loginWithRedirect, logout, isAuthenticated } = useAuth0(); + + return ( + + ); +}; diff --git a/app/javascript/src/components/PoolListing.tsx b/app/javascript/src/components/PoolListing.tsx new file mode 100644 index 0000000..b44c66a --- /dev/null +++ b/app/javascript/src/components/PoolListing.tsx @@ -0,0 +1,50 @@ +import React from "react"; + +import { pools } from "../constants/Pools"; + +export const PoolListing = () => { + return ( +
+ {pools + .filter((pool) => !pool.isFinished) + .sort((a, b) => (a.sortOrder ?? 0) - (b.sortOrder ?? 0)) + .map((pool) => ( +
+
+ {`${pool.earningToken.symbol} +
+

+ Investir:{" "} + {pool.stakingToken.symbol} +

+

+ Receber:{" "} + {pool.earningToken.symbol} +

+
+ Rendimento: +
+
+
+
+ ))} +
+ ); +}; diff --git a/app/javascript/src/components/SideNav.tsx b/app/javascript/src/components/SideNav.tsx new file mode 100644 index 0000000..209dafd --- /dev/null +++ b/app/javascript/src/components/SideNav.tsx @@ -0,0 +1,57 @@ +import * as React from "react"; +import cx from "classnames"; +import { useAppContext } from "../contexts/AppContext"; + +type MenuItem = { + label: string; +}; + +const MenuItems: MenuItem[] = [ + { + label: "Início", + }, + { + label: "Stake", + }, + { + label: "Carteira", + }, +]; + + +export const SideNav = () => { + const { sideNavExpanded, setSideNavExpanded } = useAppContext() + + const handleCloseSideNav = () => { + setSideNavExpanded(false); + }; + + return ( +
+
handleCloseSideNav()} + className={cx( + "xl:hidden absolute w-full h-full bg-black bg-opacity-60 backdrop-filter backdrop-blur-sm z-30 transition-all duration-500", + !sideNavExpanded && "opacity-0" + )} + /> + +
+ ); +}; diff --git a/app/javascript/src/constants/Pools.ts b/app/javascript/src/constants/Pools.ts new file mode 100644 index 0000000..6074bed --- /dev/null +++ b/app/javascript/src/constants/Pools.ts @@ -0,0 +1,2637 @@ +// https://github.com/pancakeswap/pancake-frontend/blob/develop/src/config/constants/pools.ts +import type { PoolConfig } from "../types"; +import { tokens } from "./pancake/Tokens"; + +// eslint-disable-next-line no-restricted-syntax +export enum PoolCategory { + "COMMUNITY" = "Community", + "CORE" = "Core", + "BINANCE" = "Binance", + "AUTO" = "Auto", +} + +export const pools: PoolConfig[] = [ + { + sousId: 0, + stakingToken: tokens.cake, + earningToken: tokens.cake, + contractAddress: { + 97: "0xd3af5fe61dbaf8f73149bfcfa9fb653ff096029a", + 56: "0x73feaa1eE314F8c655E354234017bE2193C9E24E", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "10", + sortOrder: 1, + isFinished: false, + }, + { + sousId: 198, + stakingToken: tokens.cake, + earningToken: tokens.trx, + contractAddress: { + 97: "", + 56: "0xb2b62f88ab82ed0bb4ab4da60d9dc9acf9e816e5", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "9.6643", + }, + { + sousId: 197, + stakingToken: tokens.cake, + earningToken: tokens.chess, + contractAddress: { + 97: "", + 56: "0xd1812e7e28c39e78727592de030fc0e7c366d61a", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.4286", + }, + { + sousId: 196, + stakingToken: tokens.cake, + earningToken: tokens.titan, + contractAddress: { + 97: "", + 56: "0x97058cf9b36c9ef1622485cef22e72d6fea32a36", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.08912", + }, + { + sousId: 195, + stakingToken: tokens.cake, + earningToken: tokens.harmony, + contractAddress: { + 97: "", + 56: "0xe595456846155e23b24cc9cbee910ee97027db6d", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "3.0092", + }, + { + sousId: 194, + stakingToken: tokens.cake, + earningToken: tokens.mask, + contractAddress: { + 97: "", + 56: "0xae611c6d4d3ca2cee44cd34eb7aac29d5a387fcf", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.06423", + }, + { + sousId: 193, + stakingToken: tokens.cake, + earningToken: tokens.dvi, + contractAddress: { + 97: "", + 56: "0x135827eaf9746573c0b013f18ee12f138b9b0384", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.7233", + }, + { + sousId: 192, + stakingToken: tokens.cake, + earningToken: tokens.gum, + contractAddress: { + 97: "", + 56: "0x09b8a5f51c9e245402057851ada274174fa00e2a", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.67129", + }, + { + sousId: 191, + stakingToken: tokens.cake, + earningToken: tokens.adx, + contractAddress: { + 97: "", + 56: "0x53a2d1db049b5271c6b6db020dba0e8a7c4eb90d", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.7523", + }, + { + sousId: 190, + stakingToken: tokens.cake, + earningToken: tokens.suter, + contractAddress: { + 97: "", + 56: "0x4da8da81647ee0aa7350e9959f3e4771eb753da0", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "69.9074", + }, + { + sousId: 189, + stakingToken: tokens.cake, + earningToken: tokens.bscpad, + contractAddress: { + 97: "", + 56: "0x0446b8f8474c590d2249a4acdd6eedbc2e004bca", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.3877", + }, + { + sousId: 188, + stakingToken: tokens.cake, + earningToken: tokens.rabbit, + contractAddress: { + 97: "", + 56: "0x391240A007Bfd8A59bA74978D691219a76c64c5C", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "3.993", + }, + { + sousId: 187, + stakingToken: tokens.cake, + earningToken: tokens.waultx, + contractAddress: { + 97: "", + 56: "0x017DEa5C58c2Bcf57FA73945073dF7AD4052a71C", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "7.9108", + }, + { + sousId: 186, + stakingToken: tokens.cake, + earningToken: tokens.wex, + contractAddress: { + 97: "", + 56: "0x6Bd94783caCef3fb7eAa9284f1631c464479829f", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "11.574", + }, + { + sousId: 185, + stakingToken: tokens.cake, + earningToken: tokens.form, + contractAddress: { + 97: "", + 56: "0x7c71723fB1F9Cfb250B702cfc4eBd5D9Ab2E83d9", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "1.4467", + }, + { + sousId: 184, + stakingToken: tokens.cake, + earningToken: tokens.orbs, + contractAddress: { + 97: "", + 56: "0x9C8813d7D0A61d30610a7A5FdEF9109e196a3D77", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "3.8946", + }, + { + sousId: 183, + stakingToken: tokens.cake, + earningToken: tokens.$dg, + contractAddress: { + 97: "", + 56: "0xa07a91da6d10173f33c294803684bceede325957", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.00135", + }, + { + sousId: 182, + stakingToken: tokens.cake, + earningToken: tokens.woo, + contractAddress: { + 97: "", + 56: "0x88c321d444c88acf3e747dc90f20421b97648903", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.3854", + }, + { + sousId: 181, + stakingToken: tokens.cake, + earningToken: tokens.woo, + contractAddress: { + 97: "", + 56: "0x3c7234c496d76133b48bd6a342e7aea4f8d87fc8", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.0003854", + }, + { + sousId: 180, + stakingToken: tokens.cake, + earningToken: tokens.htb, + contractAddress: { + 97: "", + 56: "0x64473c33c360f315cab38674f1633505d1d8dcb2", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "5.2083", + }, + { + sousId: 179, + stakingToken: tokens.cake, + earningToken: tokens.jgn, + contractAddress: { + 97: "", + 56: "0x5cc7a19a50be2a6b2540ebcd55bd728e732e59c3", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.1001", + }, + { + sousId: 178, + stakingToken: tokens.cake, + earningToken: tokens.dft, + contractAddress: { + 97: "", + 56: "0x2666e2494e742301ffc8026e476acc1710a775ed", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "1.7361", + }, + { + sousId: 177, + stakingToken: tokens.cake, + earningToken: tokens.hai, + contractAddress: { + 97: "", + 56: "0x6ac2213F09A404c86AFf506Aa51B6a5BF1F6e24E", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "1.3078", + }, + { + sousId: 176, + stakingToken: tokens.cake, + earningToken: tokens.o3, + contractAddress: { + 97: "", + 56: "0x35BD47263f7E57368Df76339903C53bAa99076e1", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.107638", + }, + { + sousId: 175, + stakingToken: tokens.cake, + earningToken: tokens.ampl, + contractAddress: { + 97: "", + 56: "0x62dEc3A560D2e8A84D30752bA454f97b26757877", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.398", + }, + { + sousId: 174, + stakingToken: tokens.cake, + earningToken: tokens.oddz, + contractAddress: { + 97: "", + 56: "0x44d1f81e80e43e935d66d65874354ef91e5e49f6", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.4843", + }, + { + sousId: 173, + stakingToken: tokens.cake, + earningToken: tokens.bondly, + contractAddress: { + 97: "", + 56: "0x4ea43fce546975aae120c9eeceb172500be4a02b", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.6741", + }, + { + sousId: 172, + stakingToken: tokens.cake, + earningToken: tokens.marsh, + contractAddress: { + 97: "", + 56: "0x567fd708e788e51b68666b9310ee9df163d60fae", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.1108", + }, + { + sousId: 171, + stakingToken: tokens.cake, + earningToken: tokens.mbox, + contractAddress: { + 97: "", + 56: "0x36f9452083fc9bc469a31e7966b873f402292433", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.4803", + }, + { + sousId: 170, + stakingToken: tokens.cake, + earningToken: tokens.ata, + contractAddress: { + 97: "", + 56: "0xc612680457751d0d01b5d901ad08132a3b001900", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "1.7361", + }, + { + sousId: 169, + stakingToken: tokens.cake, + earningToken: tokens.mx, + contractAddress: { + 97: "", + 56: "0x336bcd59f2b6eb7221a99f7a50fd03c6bf9a306b", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.27777", + }, + { + sousId: 168, + stakingToken: tokens.cake, + earningToken: tokens.bcfx, + contractAddress: { + 97: "", + 56: "0x2b3974dda76b2d408b7d680a27fbb0393e3cf0e1", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.6944", + }, + { + sousId: 167, + stakingToken: tokens.cake, + earningToken: tokens.qkc, + contractAddress: { + 97: "", + 56: "0xfa67f97eeee6de55d179ecabbfe701f27d9a1ed9", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "15.9143", + }, + { + sousId: 166, + stakingToken: tokens.cake, + earningToken: tokens.ktn, + contractAddress: { + 97: "", + 56: "0x48852322a185dc5fc733ff8c8d7c6dcbd2b3b2a2", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.01215", + }, + { + sousId: 165, + stakingToken: tokens.cake, + earningToken: tokens.mtrg, + contractAddress: { + 97: "", + 56: "0xf4d0f71698f58f221911515781b05e808a8635cb", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.05613", + }, + { + sousId: 164, + stakingToken: tokens.cake, + earningToken: tokens.tusd, + contractAddress: { + 97: "", + 56: "0x9dceb1d92f7e0361d0766f3d98482424df857654", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.5787", + }, + { + sousId: 163, + stakingToken: tokens.cake, + earningToken: tokens.vrt, + contractAddress: { + 97: "", + 56: "0xb77f1425ec3a7c78b1a1e892f72332c8b5e8ffcb", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "40.5092", + }, + { + sousId: 162, + stakingToken: tokens.cake, + earningToken: tokens.kalm, + contractAddress: { + 97: "", + 56: "0xb9ff4da0954b300542e722097671ead8cf337c17", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.0868", + }, + { + sousId: 161, + stakingToken: tokens.cake, + earningToken: tokens.ez, + contractAddress: { + 97: "", + 56: "0xb19395702460261e51edf7a7b130109c64f13af9", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.01736", + }, + { + sousId: 160, + stakingToken: tokens.cake, + earningToken: tokens.kalm, + contractAddress: { + 97: "", + 56: "0x6e113ecb9ff2d271140f124c2cc5b5e4b5700c9f", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + isFinished: true, + tokenPerBlock: "0.00868", + }, + { + sousId: 159, + stakingToken: tokens.cake, + earningToken: tokens.popen, + contractAddress: { + 97: "", + 56: "0x7baf1763ce5d0da8c9d85927f08a8be9c481ce50", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.19097", + }, + { + sousId: 158, + stakingToken: tokens.cake, + earningToken: tokens.lien, + contractAddress: { + 97: "", + 56: "0x2b8d6c9c62bfc1bed84724165d3000e61d332cab", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.023148", + }, + { + sousId: 157, + stakingToken: tokens.cake, + earningToken: tokens.well, + contractAddress: { + 97: "", + 56: "0x8a06ff2748edcba3fb4e44a6bfda4e46769e557b", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.2025", + sortOrder: 999, + }, + { + sousId: 156, + stakingToken: tokens.cake, + earningToken: tokens.deri, + contractAddress: { + 97: "", + 56: "0x3eba95f5493349bbe0cad33eaae05dc6a7e26b90", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "1.6087", + sortOrder: 999, + }, + { + sousId: 155, + stakingToken: tokens.cake, + earningToken: tokens.chr, + contractAddress: { + 97: "", + 56: "0x593edbd14a5b7eec828336accca9c16cc12f04be", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "1.655", + sortOrder: 999, + }, + { + sousId: 154, + stakingToken: tokens.cake, + earningToken: tokens.cyc, + contractAddress: { + 97: "", + 56: "0xD714738837944C3c592477249E8edB724A76e068", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.00015914", + sortOrder: 999, + }, + { + sousId: 153, + stakingToken: tokens.cake, + earningToken: tokens.xend, + contractAddress: { + 97: "", + 56: "0x8ea9f2482b2f7b12744a831f81f8d08714adc093", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.31828", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 152, + stakingToken: tokens.cake, + earningToken: tokens.hget, + contractAddress: { + 97: "", + 56: "0x8e8125f871eb5ba9d55361365f5391ab437f9acc", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.03553", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 151, + stakingToken: tokens.cake, + earningToken: tokens.hotcross, + contractAddress: { + 97: "", + 56: "0x0e09205e993f78cd5b3a5df355ae98ee7d0b5834", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "3.4722", + isFinished: false, + }, + { + sousId: 150, + stakingToken: tokens.cake, + earningToken: tokens.rfox, + contractAddress: { + 97: "", + 56: "0xf9f00d41b1f4b3c531ff750a9b986c1a530f33d9", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "1.7361", + isFinished: false, + }, + { + sousId: 149, + stakingToken: tokens.cake, + earningToken: tokens.wmass, + contractAddress: { + 97: "", + 56: "0x4Af531EcD50167a9402Ce921ee6436dd4cFC04FD", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.24942", + isFinished: false, + }, + { + sousId: 148, + stakingToken: tokens.cake, + earningToken: tokens.ubxt, + contractAddress: { + 97: "", + 56: "0x9b4bac2d8f69853aa29cb45478c77fc54532ac22", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "2.4074", + isFinished: false, + }, + { + sousId: 147, + stakingToken: tokens.cake, + earningToken: tokens.btr, + contractAddress: { + 97: "", + 56: "0x20ee70a07ae1b475cb150dec27930d97915726ea", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "2.8935", + isFinished: false, + }, + { + sousId: 146, + stakingToken: tokens.cake, + earningToken: tokens.τdoge, + contractAddress: { + 97: "", + 56: "0x017556dffb8c6a52fd7f4788adf6fb339309c81b", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.868", + isFinished: false, + }, + { + sousId: 145, + stakingToken: tokens.cake, + earningToken: tokens.pmon, + contractAddress: { + 97: "", + 56: "0xdaa711ecf2ac0bff5c82fceeae96d0008791cc49", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.01261", + isFinished: false, + }, + { + sousId: 144, + stakingToken: tokens.cake, + earningToken: tokens.one, + contractAddress: { + 97: "", + 56: "0x74af842ecd0b6588add455a47aa21ed9ba794108", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "57.87", + isFinished: false, + }, + { + sousId: 143, + stakingToken: tokens.cake, + earningToken: tokens.fine, + contractAddress: { + 97: "", + 56: "0x42d41749d6e9a1c5b47e27f690d4531f181b2159", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.1342", + isFinished: false, + }, + { + sousId: 142, + stakingToken: tokens.doge, + earningToken: tokens.cake, + contractAddress: { + 97: "", + 56: "0xbebd44824631b55991fa5f2bf5c7a4ec96ff805b", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.01388", + isFinished: false, + }, + { + sousId: 141, + stakingToken: tokens.cake, + earningToken: tokens.bmxx, + contractAddress: { + 97: "", + 56: "0x55131f330c886e3f0cae389cedb23766ac9aa3ed", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.01331", + isFinished: false, + }, + { + sousId: 140, + stakingToken: tokens.cake, + earningToken: tokens.oin, + contractAddress: { + 97: "", + 56: "0x01453a74a94687fa3f99b80762435855a13664f4", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.3472", + isFinished: false, + }, + { + sousId: 139, + stakingToken: tokens.cake, + earningToken: tokens.hyfi, + contractAddress: { + 97: "", + 56: "0x0032ceb978fe5fc8a5d5d6f5adfc005e76397e29", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "2.8935", + isFinished: false, + }, + { + sousId: 138, + stakingToken: tokens.cake, + earningToken: tokens.kun, + contractAddress: { + 97: "", + 56: "0x439b46d467402cebc1a2fa05038b5b696b1f4417", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.23148", + isFinished: false, + }, + { + sousId: 137, + stakingToken: tokens.cake, + earningToken: tokens.math, + contractAddress: { + 97: "", + 56: "0x377ae5f933aa4cfa41fa03e2cae8a2befccf53b2", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.15798", + isFinished: false, + }, + { + sousId: 136, + stakingToken: tokens.cake, + earningToken: tokens.ust, + contractAddress: { + 97: "", + 56: "0xce3ebac3f549ebf1a174a6ac3b390c179422b5f6", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.17361", + isFinished: false, + }, + { + sousId: 135, + stakingToken: tokens.cake, + earningToken: tokens.win, + contractAddress: { + 97: "", + 56: "0xd26dec254c699935c286cd90e9841dcabf1af72d", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "462.96", + isFinished: false, + }, + { + sousId: 134, + stakingToken: tokens.cake, + earningToken: tokens.trx, + contractAddress: { + 97: "", + 56: "0x93e2867d9b74341c2d19101b7fbb81d6063cca4d", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "4.0509", + isFinished: false, + }, + { + sousId: 133, + stakingToken: tokens.cake, + earningToken: tokens.btt, + contractAddress: { + 97: "", + 56: "0x3b644e44033cff70bd6b771904225f3dd69dfb6d", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "79.86", + isFinished: false, + }, + { + sousId: 132, + stakingToken: tokens.cake, + earningToken: tokens.lmt, + contractAddress: { + 97: "", + 56: "0x0a687d7b951348d681f7ed5eea84c0ba7b9566dc", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.66145", + isFinished: false, + }, + { + sousId: 131, + stakingToken: tokens.cake, + earningToken: tokens.pnt, + contractAddress: { + 97: "", + 56: "0x417df1c0e6a498eb1f2247f99032a01d4fafe922", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.09548", + isFinished: false, + }, + { + sousId: 130, + stakingToken: tokens.cake, + earningToken: tokens.xmark, + contractAddress: { + 97: "", + 56: "0xdc8943d806f9dd64312d155284abf780455fd345", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.0298", + isFinished: false, + }, + { + sousId: 129, + stakingToken: tokens.cake, + earningToken: tokens.ramp, + contractAddress: { + 97: "", + 56: "0xa90a894e5bc20ab2be46c7e033a38f8b8eaa771a", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.4861", + isFinished: true, + }, + { + sousId: 128, + stakingToken: tokens.cake, + earningToken: tokens.hakka, + contractAddress: { + 97: "", + 56: "0x34ac807e34e534fe426da1e11f816422774aae1c", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "3.4722", + isFinished: false, + }, + { + sousId: 127, + stakingToken: tokens.cake, + earningToken: tokens.pbtc, + contractAddress: { + 97: "", + 56: "0x31fa2f516b77c4273168b284ac6d9def5aa6dafb", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.0000031", + isFinished: false, + }, + { + sousId: 126, + stakingToken: tokens.cake, + earningToken: tokens.lien, + contractAddress: { + 97: "", + 56: "0x7112f8988f075c7784666ab071927ae4109a8076", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.003472", + isFinished: false, + }, + { + sousId: 125, + stakingToken: tokens.cake, + earningToken: tokens.bbadger, + contractAddress: { + 97: "", + 56: "0x126dfbcef85c5bf335f8be99ca4006037f417892", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.00265278", + isFinished: false, + }, + { + sousId: 124, + stakingToken: tokens.cake, + earningToken: tokens.bdigg, + contractAddress: { + 97: "", + 56: "0x4f0ad2332b1f9983e8f63cbee617523bb7de5031", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.00000403", + isFinished: false, + }, + { + sousId: 123, + stakingToken: tokens.cake, + earningToken: tokens.bondly, + contractAddress: { + 97: "", + 56: "0x9483ca44324de06802576866b9d296f7614f45ac", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.4629", + isFinished: false, + }, + { + sousId: 122, + stakingToken: tokens.cake, + earningToken: tokens.xed, + contractAddress: { + 97: "", + 56: "0x72ceec6e2a142678e703ab0710de78bc819f4ce0", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.3472", + isFinished: false, + }, + { + sousId: 121, + stakingToken: tokens.cake, + earningToken: tokens.cgg, + contractAddress: { + 97: "", + 56: "0x1c6ed21d3313822ae73ed0d94811ffbbe543f341", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.10918", + isFinished: false, + }, + { + sousId: 120, + stakingToken: tokens.cake, + earningToken: tokens.perl, + contractAddress: { + 97: "", + 56: "0x1ac0d0333640f57327c83053c581340ebc829e30", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "1.1574", + isFinished: false, + }, + { + sousId: 119, + stakingToken: tokens.cake, + earningToken: tokens.arpa, + contractAddress: { + 97: "", + 56: "0xc707e5589aeb1dc117b0bb5a3622362f1812d4fc", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.949", + isFinished: false, + }, + { + sousId: 118, + stakingToken: tokens.cake, + earningToken: tokens.oddz, + contractAddress: { + 97: "", + 56: "0x22106cdcf9787969e1672d8e6a9c03a889cda9c5", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.11284", + isFinished: false, + }, + { + sousId: 117, + stakingToken: tokens.cake, + earningToken: tokens.dexe, + contractAddress: { + 97: "", + 56: "0x999b86e8bba3d4f05afb8155963999db70afa97f", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.009837", + isFinished: true, + }, + { + sousId: 116, + stakingToken: tokens.cake, + earningToken: tokens.dfd, + contractAddress: { + 97: "", + 56: "0xAF3EfE5fCEeBc603Eada6A2b0172be11f7405102", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.46296", + isFinished: false, + }, + { + sousId: 115, + stakingToken: tokens.cake, + earningToken: tokens.alpaca, + contractAddress: { + 97: "", + 56: "0xf73fdeb26a8c7a4abf3809d3db11a06ba5c13d0e", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.22743", + isFinished: false, + }, + { + sousId: 114, + stakingToken: tokens.cake, + earningToken: tokens.τbtc, + contractAddress: { + 97: "", + 56: "0xaac7171afc93f4b75e1268d208040b152ac65e32", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.00000608", + isFinished: false, + }, + { + sousId: 113, + stakingToken: tokens.cake, + earningToken: tokens.τbtc, + contractAddress: { + 97: "", + 56: "0x2c6017269b4324d016ca5d8e3267368652c18905", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.00000608", + isFinished: true, + }, + { + sousId: 112, + stakingToken: tokens.cake, + earningToken: tokens.swingby, + contractAddress: { + 97: "", + 56: "0x675434c68f2672c983e36cf10ed13a4014720b79", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.21527", + }, + { + sousId: 111, + stakingToken: tokens.cake, + earningToken: tokens.xed, + contractAddress: { + 97: "", + 56: "0x05d6c2d1d687eacfb5e6440d5a3511e91f2201a8", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.3472", + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 110, + stakingToken: tokens.cake, + earningToken: tokens.hakka, + contractAddress: { + 97: "", + 56: "0xd623a32da4a632ce01766c317d07cb2cad56949b", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "3.4722", + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 109, + stakingToken: tokens.cake, + earningToken: tokens.cgg, + contractAddress: { + 97: "", + 56: "0xdf75f38dbc98f9f26377414e567abcb8d57cca33", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.10918", + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 108, + stakingToken: tokens.cake, + earningToken: tokens.mix, + contractAddress: { + 97: "", + 56: "0xce64a930884b2c68cd93fc1c7c7cdc221d427692", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.3721", + }, + { + sousId: 107, + stakingToken: tokens.cake, + earningToken: tokens.suter, + contractAddress: { + 97: "", + 56: "0xc1E70edd0141c454b834Deac7ddDeA413424aEf9", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "15.3356", + }, + { + sousId: 106, + stakingToken: tokens.cake, + earningToken: tokens.broobee, + contractAddress: { + 97: "", + 56: "0x189d8228CdfDc404Bd9e5bD65ff958cb5fd8855c", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "14.4675", + }, + { + sousId: 105, + stakingToken: tokens.cake, + earningToken: tokens.hzn, + contractAddress: { + 97: "", + 56: "0x0196c582216e2463f052E2B07Ef8667Bec9Fb17a", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.6944", + }, + { + sousId: 104, + stakingToken: tokens.cake, + earningToken: tokens.alpa, + contractAddress: { + 97: "", + 56: "0x8f84106286c9c8A42bc3555C835E6e2090684ab7", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.23495", + }, + { + sousId: 103, + stakingToken: tokens.cake, + earningToken: tokens.perl, + contractAddress: { + 97: "", + 56: "0xa8d32b31ECB5142f067548Bf0424389eE98FaF26", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "1.1574", + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 102, + stakingToken: tokens.cake, + earningToken: tokens.tlm, + contractAddress: { + 97: "", + 56: "0xC59aa49aE508050c2dF653E77bE13822fFf02E9A", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "17.361", + }, + { + sousId: 101, + stakingToken: tokens.cake, + earningToken: tokens.jgn, + contractAddress: { + 97: "", + 56: "0x14AeA62384789EDA98f444cCb970F6730877d3F9", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.08796", + }, + { + sousId: 100, + stakingToken: tokens.cake, + earningToken: tokens.eps, + contractAddress: { + 97: "", + 56: "0xebb87dF24D65977cbe62538E4B3cFBD5d0308642", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.07716", + }, + { + sousId: 99, + stakingToken: tokens.cake, + earningToken: tokens.arpa, + contractAddress: { + 97: "", + 56: "0x40918EF8efFF4aA061656013a81E0e5A8A702eA7", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.949", + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 98, + stakingToken: tokens.cake, + earningToken: tokens.itam, + contractAddress: { + 97: "", + 56: "0x44eC1B26035865D9A7C130fD872670CD7Ebac2bC", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "3.096", + }, + { + sousId: 97, + stakingToken: tokens.cake, + earningToken: tokens.bondly, + contractAddress: { + 97: "", + 56: "0x1329ad151dE6C441184E32E108401126AE850937", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.4629", + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 96, + stakingToken: tokens.cake, + earningToken: tokens.tko, + contractAddress: { + 97: "", + 56: "0x9bbDc92474a7e7321B78dcDA5EF35f4981438760", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "1.1574", + }, + { + sousId: 95, + stakingToken: tokens.cake, + earningToken: tokens.apys, + contractAddress: { + 97: "", + 56: "0x46530d79b238f809e80313e73715b160c66677aF", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.09953", + }, + { + sousId: 94, + stakingToken: tokens.cake, + earningToken: tokens.hoo, + contractAddress: { + 97: "", + 56: "0x47fD853D5baD391899172892F91FAa6d0cd8A2Aa", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.489", + }, + { + sousId: 93, + stakingToken: tokens.cake, + earningToken: tokens.oddz, + contractAddress: { + 97: "", + 56: "0xe25aB6F05BBF6C1be953BF2d7df15B3e01b8e5a5", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.11284", + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 92, + stakingToken: tokens.cake, + earningToken: tokens.easy, + contractAddress: { + 97: "", + 56: "0xEB8Fd597921E3Dd37B0F103a2625F855e2C9b9B5", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.0072338", + }, + { + sousId: 91, + stakingToken: tokens.cake, + earningToken: tokens.nrv, + contractAddress: { + 97: "", + 56: "0xABFd8d1942628124aB971937154f826Bce86DcbC", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.15046", + }, + { + sousId: 90, + stakingToken: tokens.cake, + earningToken: tokens.dego, + contractAddress: { + 97: "", + 56: "0x526d3c204255f807C95a99b69596f2f9f72345e5", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.00405", + }, + { + sousId: 89, + stakingToken: tokens.cake, + earningToken: tokens.gum, + contractAddress: { + 97: "", + 56: "0xAa2082BeE04fc518300ec673F9497ffa6F669dB8", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.08912", + }, + { + sousId: 88, + stakingToken: tokens.cake, + earningToken: tokens.pbtc, + contractAddress: { + 97: "", + 56: "0x9096625Bc0d36F5EDa6d44e511641667d89C28f4", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.0000031", + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 87, + stakingToken: tokens.cake, + earningToken: tokens.dft, + contractAddress: { + 97: "", + 56: "0x78BD4dB48F8983c3C36C8EAFbEF38f6aC7B55285", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.6811", + }, + { + sousId: 86, + stakingToken: tokens.cake, + earningToken: tokens.swth, + contractAddress: { + 97: "", + 56: "0x35418e14F5aA615C4f020eFBa6e01C5DbF15AdD2", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "2.3148", + }, + { + sousId: 85, + stakingToken: tokens.cake, + earningToken: tokens.lien, + contractAddress: { + 97: "", + 56: "0x3c7cC49a35942fbD3C2ad428a6c22490cd709d03", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.003472", + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 84, + stakingToken: tokens.cake, + earningToken: tokens.zil, + contractAddress: { + 97: "", + 56: "0xF795739737ABcFE0273f4Dced076460fdD024Dd9", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "1.0995", + }, + { + sousId: 83, + stakingToken: tokens.cake, + earningToken: tokens.pcws, + contractAddress: { + 97: "", + 56: "0x06FF8960F7F4aE572A3f57FAe77B2882BE94Bf90", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.00434", + }, + { + sousId: 82, + stakingToken: tokens.cake, + earningToken: tokens.bbadger, + contractAddress: { + 97: "", + 56: "0xe4dD0C50fb314A8B2e84D211546F5B57eDd7c2b9", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.00265278", + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 81, + stakingToken: tokens.cake, + earningToken: tokens.bdigg, + contractAddress: { + 97: "", + 56: "0xb627A7e33Db571bE792B0b69c5C2f5a8160d5500", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.00000403", + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 80, + stakingToken: tokens.cake, + earningToken: tokens.lto, + contractAddress: { + 97: "", + 56: "0xadBfFA25594AF8Bc421ecaDF54D057236a99781e", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + sortOrder: 999, + tokenPerBlock: "0.2893", + }, + { + sousId: 79, + stakingToken: tokens.cake, + earningToken: tokens.mir, + contractAddress: { + 97: "", + 56: "0x3e31488f08EBcE6F2D8a2AA512aeFa49a3C7dFa7", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.01273", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 78, + stakingToken: tokens.cake, + earningToken: tokens.mir, + contractAddress: { + 97: "", + 56: "0x453a75908fb5a36d482d5f8fe88eca836f32ead5", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.01273", + sortOrder: 999, + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 77, + stakingToken: tokens.cake, + earningToken: tokens.trade, + contractAddress: { + 97: "", + 56: "0x509C99D73FB54b2c20689708b3F824147292D38e", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.4484", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 76, + stakingToken: tokens.cake, + earningToken: tokens.dusk, + contractAddress: { + 97: "", + 56: "0xF1bd5673Ea4a1C415ec84fa3E402F2F7788E7717", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.4629", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 75, + stakingToken: tokens.cake, + earningToken: tokens.bifi, + contractAddress: { + 97: "", + 56: "0xB4C68A1C565298834360BbFF1652284275120D47", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.00007234", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 74, + stakingToken: tokens.cake, + earningToken: tokens.txl, + contractAddress: { + 97: "", + 56: "0x153e62257F1AAe05d5d253a670Ca7585c8D3F94F", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.434027", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 73, + stakingToken: tokens.cake, + earningToken: tokens.cos, + contractAddress: { + 97: "", + 56: "0xF682D186168b4114ffDbF1291F19429310727151", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "5.787", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 72, + stakingToken: tokens.cake, + earningToken: tokens.bunny, + contractAddress: { + 97: "", + 56: "0xaDdAE5f4dB84847ac9d947AED1304A8e7D19f7cA", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.00289", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 71, + stakingToken: tokens.cake, + earningToken: tokens.alice, + contractAddress: { + 97: "", + 56: "0x4C32048628D0d32d4D6c52662FB4A92747782B56", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.14467", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 70, + stakingToken: tokens.cake, + earningToken: tokens.for, + contractAddress: { + 97: "", + 56: "0x47642101e8D8578C42765d7AbcFd0bA31868c523", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "2.8935", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 69, + stakingToken: tokens.cake, + earningToken: tokens.bux, + contractAddress: { + 97: "", + 56: "0x07F8217c68ed9b838b0b8B58C19c79bACE746e9A", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.5787", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 68, + stakingToken: tokens.cake, + earningToken: tokens.nuls, + contractAddress: { + 97: "", + 56: "0x580DC9bB9260A922E3A4355b9119dB990F09410d", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.0868", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 67, + stakingToken: tokens.cake, + earningToken: tokens.belt, + contractAddress: { + 97: "", + 56: "0x6f0037d158eD1AeE395e1c12d21aE8583842F472", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.00868", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 66, + stakingToken: tokens.cake, + earningToken: tokens.ramp, + contractAddress: { + 97: "", + 56: "0x423382f989C6C289c8D441000e1045e231bd7d90", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.4861", + sortOrder: 999, + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 65, + stakingToken: tokens.cake, + earningToken: tokens.bfi, + contractAddress: { + 97: "", + 56: "0x0A595623b58dFDe6eB468b613C11A7A8E84F09b9", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.0001157", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 64, + stakingToken: tokens.cake, + earningToken: tokens.dexe, + contractAddress: { + 97: "", + 56: "0x9E6dA246d369a41DC44673ce658966cAf487f7b2", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.009837", + sortOrder: 999, + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 63, + stakingToken: tokens.cake, + earningToken: tokens.bel, + contractAddress: { + 97: "", + 56: "0x2C0f449387b15793B9da27c2d945dBed83ab1B07", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.0549", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 62, + stakingToken: tokens.tpt, + earningToken: tokens.cake, + contractAddress: { + 97: "", + 56: "0x0c3D6892aa3b23811Af3bd1bbeA8b0740E8e4528", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.0462", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 61, + stakingToken: tokens.cake, + earningToken: tokens.tpt, + contractAddress: { + 97: "", + 56: "0x75C91844c5383A68b7d3A427A44C32E3ba66Fe45", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "3.616", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 60, + stakingToken: tokens.cake, + earningToken: tokens.watch, + contractAddress: { + 97: "", + 56: "0xC58954199E268505fa3D3Cb0A00b7207af8C2D1d", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.3472", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 59, + stakingToken: tokens.cake, + earningToken: tokens.xmark, + contractAddress: { + 97: "", + 56: "0xA5137e08C48167E363Be8Ec42A68f4F54330964E", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.0413", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 58, + stakingToken: tokens.cake, + earningToken: tokens.bmxx, + contractAddress: { + 97: "", + 56: "0x6F31B87f51654424Ce57E9F8243E27ed13846CDB", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.00248", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 57, + stakingToken: tokens.cake, + earningToken: tokens.iotx, + contractAddress: { + 97: "", + 56: "0xCE54BA909d23B9d4BE0Ff0d84e5aE83F0ADD8D9a", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "6.365", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 56, + stakingToken: tokens.cake, + earningToken: tokens.bor, + contractAddress: { + 97: "", + 56: "0x3e677dC00668d69c2A7724b9AFA7363e8A56994e", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.000395", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 55, + stakingToken: tokens.cake, + earningToken: tokens.bopen, + contractAddress: { + 97: "", + 56: "0x5Ac8406498dC1921735d559CeC271bEd23B294A7", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.0723", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 54, + stakingToken: tokens.sushi, + earningToken: tokens.cake, + contractAddress: { + 97: "", + 56: "0xb69b6e390cba1F68442A886bC89E955048DAe7E3", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.0367", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 53, + stakingToken: tokens.cake, + earningToken: tokens.dodo, + contractAddress: { + 97: "", + 56: "0xae3001ddb18A6A57BEC2C19D71680437CA87bA1D", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.0578", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 52, + stakingToken: tokens.cake, + earningToken: tokens.swingby, + contractAddress: { + 97: "", + 56: "0x02aa767e855b8e80506fb47176202aA58A95315a", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.13", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 51, + stakingToken: tokens.cake, + earningToken: tokens.bry, + contractAddress: { + 97: "", + 56: "0x1c736F4FB20C7742Ee83a4099fE92abA61dFca41", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.1157", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 50, + stakingToken: tokens.cake, + earningToken: tokens.zee, + contractAddress: { + 97: "", + 56: "0x02861B607a5E87daf3FD6ec19DFB715F1b371379", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.1736", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 49, + stakingToken: tokens.cake, + earningToken: tokens.swgb, + contractAddress: { + 97: "", + 56: "0x73e4E8d010289267dEe3d1Fc48974B60363963CE", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.899", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 48, + stakingToken: tokens.comp, + earningToken: tokens.cake, + contractAddress: { + 97: "", + 56: "0xE0565fBb109A3f3f8097D8A9D931277bfd795072", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.055", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 47, + stakingToken: tokens.comp, + earningToken: tokens.cake, + contractAddress: { + 97: "", + 56: "0xc3693e3cbc3514d5d07EA5b27A721F184F617900", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.55", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 46, + stakingToken: tokens.cake, + earningToken: tokens.sfp, + contractAddress: { + 97: "", + 56: "0x2B02d43967765b18E31a9621da640588f3550EFD", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.6", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 45, + stakingToken: tokens.cake, + earningToken: tokens.lina, + contractAddress: { + 97: "", + 56: "0x212bb602418C399c29D52C55100fD6bBa12bea05", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.983", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 44, + stakingToken: tokens.cake, + earningToken: tokens.lina, + contractAddress: { + 97: "", + 56: "0x04aE8ca68A116278026fB721c06dCe709eD7013C", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.0983", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 43, + stakingToken: tokens.cake, + earningToken: tokens.lit, + contractAddress: { + 97: "", + 56: "0x1714bAAE9DD4738CDEA07756427FA8d4F08D9479", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.231", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 42, + stakingToken: tokens.cake, + earningToken: tokens.hget, + contractAddress: { + 97: "", + 56: "0xcCD0b93cC6ce3dC6dFaA9DB68f70e5C8455aC5bd", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.0138", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 41, + stakingToken: tokens.cake, + earningToken: tokens.bdo, + contractAddress: { + 97: "", + 56: "0x9cB24e9460351bC51d4066BC6AEd1F3809b02B78", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.075", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 40, + stakingToken: tokens.cake, + earningToken: tokens.egld, + contractAddress: { + 97: "", + 56: "0x2dcf4cDFf4Dd954683Fe0a6123077f8a025b66cF", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.001215", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 39, + stakingToken: tokens.cake, + earningToken: tokens.ust, + contractAddress: { + 97: "", + 56: "0x6EFa207ACdE6e1caB77c1322CbdE9628929ba88F", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.1157", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 38, + stakingToken: tokens.cake, + earningToken: tokens.wsote, + contractAddress: { + 97: "", + 56: "0xD0b738eC507571176D40f28bd56a0120E375f73a", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.23", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 37, + stakingToken: tokens.cake, + earningToken: tokens.front, + contractAddress: { + 97: "", + 56: "0xf7a31366732F08E8e6B88519dC3E827e04616Fc9", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.2546", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 36, + stakingToken: tokens.cake, + earningToken: tokens.helmet, + contractAddress: { + 97: "", + 56: "0x9F23658D5f4CEd69282395089B0f8E4dB85C6e79", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.81", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 35, + stakingToken: tokens.cake, + earningToken: tokens.btcst, + contractAddress: { + 97: "", + 56: "0xB6fd2724cc9c90DD31DA35DbDf0300009dceF97d", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.011574", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 34, + stakingToken: tokens.cake, + earningToken: tokens.bscx, + contractAddress: { + 97: "", + 56: "0x108BFE84Ca8BCe0741998cb0F60d313823cEC143", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.17361", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 33, + stakingToken: tokens.cake, + earningToken: tokens.ten, + contractAddress: { + 97: "", + 56: "0x4A26b082B432B060B1b00A84eE4E823F04a6f69a", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.05787", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 32, + stakingToken: tokens.cake, + earningToken: tokens.balbt, + contractAddress: { + 97: "", + 56: "0x3cc08B7C6A31739CfEd9d8d38b484FDb245C79c8", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.4166", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 31, + stakingToken: tokens.cake, + earningToken: tokens.asr, + contractAddress: { + 97: "", + 56: "0xd18E1AEb349ef0a6727eCe54597D98D263e05CAB", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.01", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 30, + stakingToken: tokens.cake, + earningToken: tokens.atm, + contractAddress: { + 97: "", + 56: "0x68C7d180bD8F7086D91E65A422c59514e4aFD638", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.01", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 29, + stakingToken: tokens.cake, + earningToken: tokens.og, + contractAddress: { + 97: "", + 56: "0xbE65d7e42E05aD2c4ad28769dc9c5b4b6EAff2C7", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.01", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 28, + stakingToken: tokens.cake, + earningToken: tokens.reef, + contractAddress: { + 97: "", + 56: "0x1500fa1afbfe4f4277ed0345cdf12b2c9ca7e139", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "115.74", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 27, + stakingToken: tokens.cake, + earningToken: tokens.ditto, + contractAddress: { + 97: "", + 56: "0x624ef5C2C6080Af188AF96ee5B3160Bb28bb3E02", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.01157", + sortOrder: 999, + isFinished: false, + }, + { + sousId: 26, + stakingToken: tokens.twt, + earningToken: tokens.cake, + contractAddress: { + 97: "", + 56: "0x0554a5D083Abf2f056ae3F6029e1714B9A655174", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.248", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 24, + stakingToken: tokens.cake, + earningToken: tokens.juv, + contractAddress: { + 97: "", + 56: "0x543467B17cA5De50c8BF7285107A36785Ab57E56", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.02", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 25, + stakingToken: tokens.cake, + earningToken: tokens.psg, + contractAddress: { + 97: "", + 56: "0x65aFEAFaec49F23159e897EFBDCe19D94A86A1B6", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.02", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 21, + stakingToken: tokens.cake, + earningToken: tokens.vai, + contractAddress: { + 97: "", + 56: "0x1AD34D8d4D79ddE88c9B6b8490F8fC67831f2CAe", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.104", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 20, + stakingToken: tokens.bnb, + earningToken: tokens.cake, + contractAddress: { + 97: "", + 56: "0x555Ea72d7347E82C614C16f005fA91cAf06DCB5a", + }, + poolCategory: PoolCategory.BINANCE, + harvest: true, + tokenPerBlock: "0.5", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 19, + stakingToken: tokens.cake, + earningToken: tokens.bnb, + contractAddress: { + 97: "", + 56: "0x326D754c64329aD7cb35744770D56D0E1f3B3124", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.0041", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 18, + stakingToken: tokens.cake, + earningToken: tokens.blink, + contractAddress: { + 97: "", + 56: "0x42Afc29b2dEa792974d1e9420696870f1Ca6d18b", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "23.14", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 17, + stakingToken: tokens.cake, + earningToken: tokens.blink, + contractAddress: { + 97: "", + 56: "0xBb2B66a2c7C2fFFB06EA60BeaD69741b3f5BF831", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "23.14", + sortOrder: 999, + isFinished: true, + enableEmergencyWithdraw: true, + }, + { + sousId: 16, + stakingToken: tokens.cake, + earningToken: tokens.unfi, + contractAddress: { + 97: "", + 56: "0xFb1088Dae0f03C5123587d2babb3F307831E6367", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.02893", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 15, + stakingToken: tokens.cake, + earningToken: tokens.twt, + contractAddress: { + 97: "", + 56: "0x9c4EBADa591FFeC4124A7785CAbCfb7068fED2fb", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "5", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 14, + stakingToken: tokens.cake, + earningToken: tokens.hard, + contractAddress: { + 97: "", + 56: "0x90F995b9d46b32c4a1908A8c6D0122e392B3Be97", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.346", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 13, + stakingToken: tokens.cake, + earningToken: tokens.broobee, + contractAddress: { + 97: "", + 56: "0xdc8c45b7F3747Ca9CaAEB3fa5e0b5FCE9430646b", + }, + poolCategory: PoolCategory.COMMUNITY, + harvest: true, + tokenPerBlock: "12.5", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 12, + stakingToken: tokens.cake, + earningToken: tokens.stax, + contractAddress: { + 97: "0xd3af5fe61dbaf8f73149bfcfa9fb653ff096029a", + 56: "0xFF02241a2A1d2a7088A344309400E9fE74772815", + }, + poolCategory: PoolCategory.COMMUNITY, + harvest: true, + tokenPerBlock: "0.2", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 11, + stakingToken: tokens.cake, + earningToken: tokens.nar, + contractAddress: { + 97: "0xd3af5fe61dbaf8f73149bfcfa9fb653ff096029a", + 56: "0xDc938BA1967b06d666dA79A7B1E31a8697D1565E", + }, + poolCategory: PoolCategory.COMMUNITY, + harvest: true, + tokenPerBlock: "1", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 10, + stakingToken: tokens.cake, + earningToken: tokens.nya, + contractAddress: { + 97: "0xd3af5fe61dbaf8f73149bfcfa9fb653ff096029a", + 56: "0x07a0A5B67136d40F4d7d95Bc8e0583bafD7A81b9", + }, + poolCategory: PoolCategory.COMMUNITY, + harvest: true, + sortOrder: 999, + tokenPerBlock: "10", + isFinished: true, + }, + { + sousId: 9, + stakingToken: tokens.cake, + earningToken: tokens.ctk, + contractAddress: { + 97: "0xAfd61Dc94f11A70Ae110dC0E0F2061Af5633061A", + 56: "0x21A9A53936E812Da06B7623802DEc9A1f94ED23a", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.5", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 8, + stakingToken: tokens.cake, + earningToken: tokens.twt, + contractAddress: { + 97: "0xAfd61Dc94f11A70Ae110dC0E0F2061Af5633061A", + 56: "0xe7f9A439Aa7292719aC817798DDd1c4D35934aAF", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "20", + sortOrder: 999, + isFinished: true, + }, + { + sousId: 7, + stakingToken: tokens.cake, + earningToken: tokens.inj, + contractAddress: { + 97: "0xAfd61Dc94f11A70Ae110dC0E0F2061Af5633061A", + 56: "0xcec2671C81a0Ecf7F8Ee796EFa6DBDc5Cb062693", + }, + poolCategory: PoolCategory.CORE, + harvest: true, + tokenPerBlock: "0.25", + sortOrder: 999, + isFinished: true, + }, +]; diff --git a/app/javascript/src/constants/pancake/Tokens.ts b/app/javascript/src/constants/pancake/Tokens.ts new file mode 100644 index 0000000..64a94ee --- /dev/null +++ b/app/javascript/src/constants/pancake/Tokens.ts @@ -0,0 +1,1714 @@ +export type Address = { + 56: string; + 97?: string; +}; + +export type Token = { + symbol: string; + address: Address; + decimals: number; + projectLink: string; +}; + +export const tokens: Record = { + bnb: { + symbol: "BNB", + address: { + "56": "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c", + }, + decimals: 18, + projectLink: "https://www.binance.com/", + }, + cake: { + symbol: "CAKE", + address: { + 56: "0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82", + 97: "0xa35062141Fa33BCA92Ce69FeD37D0E8908868AAe", + }, + decimals: 18, + projectLink: "https://pancakeswap.finance/", + }, + chess: { + symbol: "CHESS", + address: { + 56: "0x20de22029ab63cf9A7Cf5fEB2b737Ca1eE4c82A6", + 97: "", + }, + decimals: 18, + projectLink: "https://tranchess.com/", + }, + titan: { + symbol: "TITAN", + address: { + 56: "0xe898EDc43920F357A93083F1d4460437dE6dAeC2", + 97: "", + }, + decimals: 18, + projectLink: "https://titanswap.org", + }, + harmony: { + symbol: "ONE", + address: { + 56: "0x03fF0ff224f904be3118461335064bB48Df47938", + 97: "", + }, + decimals: 18, + projectLink: "https://www.harmony.one/", + }, + mask: { + symbol: "MASK", + address: { + 56: "0x2eD9a5C8C13b93955103B9a7C167B67Ef4d568a3", + 97: "", + }, + decimals: 18, + projectLink: "https://mask.io/", + }, + dvi: { + symbol: "DVI", + address: { + 56: "0x758FB037A375F17c7e195CC634D77dA4F554255B", + 97: "", + }, + decimals: 18, + projectLink: "https://dvision.network/", + }, + adx: { + symbol: "ADX", + address: { + 56: "0x6bfF4Fb161347ad7de4A625AE5aa3A1CA7077819", + 97: "", + }, + decimals: 18, + projectLink: "https://www.adex.network", + }, + bscpad: { + symbol: "BSCPAD", + address: { + 56: "0x5A3010d4d8D3B5fB49f8B6E57FB9E48063f16700", + 97: "", + }, + decimals: 18, + projectLink: "https://bscpad.com/", + }, + rabbit: { + symbol: "RABBIT", + address: { + 56: "0x95a1199EBA84ac5f19546519e287d43D2F0E1b41", + 97: "", + }, + decimals: 18, + projectLink: "https://rabbitfinance.io/earn", + }, + form: { + symbol: "FORM", + address: { + 56: "0x25A528af62e56512A19ce8c3cAB427807c28CC19", + 97: "", + }, + decimals: 18, + projectLink: "https://formation.fi/", + }, + txl: { + symbol: "TXL", + address: { + 56: "0x1FFD0b47127fdd4097E54521C9E2c7f0D66AafC5", + 97: "", + }, + decimals: 18, + projectLink: "https://tixl.org/", + }, + orbs: { + symbol: "ORBS", + address: { + 56: "0xeBd49b26169e1b52c04cFd19FCf289405dF55F80", + 97: "", + }, + decimals: 18, + projectLink: "https://www.orbs.com/", + }, + cos: { + symbol: "COS", + address: { + 56: "0x96Dd399F9c3AFda1F194182F71600F1B65946501", + 97: "", + }, + decimals: 18, + projectLink: "https://www.contentos.io/", + }, + bunny: { + symbol: "BUNNY", + address: { + 56: "0xC9849E6fdB743d08fAeE3E34dd2D1bc69EA11a51", + 97: "", + }, + decimals: 18, + projectLink: "https://pancakebunny.finance/", + }, + alice: { + symbol: "ALICE", + address: { + 56: "0xAC51066d7bEC65Dc4589368da368b212745d63E8", + 97: "", + }, + decimals: 6, + projectLink: "https://www.myneighboralice.com/", + }, + for: { + symbol: "FOR", + address: { + 56: "0x658A109C5900BC6d2357c87549B651670E5b0539", + 97: "", + }, + decimals: 18, + projectLink: "https://www.for.tube/home", + }, + bux: { + symbol: "BUX", + address: { + 56: "0x211FfbE424b90e25a15531ca322adF1559779E45", + 97: "", + }, + decimals: 18, + projectLink: "https://getbux.com/bux-crypto/", + }, + nuls: { + symbol: "NULS", + address: { + 56: "0x8CD6e29d3686d24d3C2018CEe54621eA0f89313B", + 97: "", + }, + decimals: 8, + projectLink: "https://www.nuls.io/", + }, + belt: { + symbol: "BELT", + address: { + 56: "0xE0e514c71282b6f4e823703a39374Cf58dc3eA4f", + 97: "", + }, + decimals: 18, + projectLink: "https://beta.belt.fi/", + }, + ramp: { + symbol: "RAMP", + address: { + 56: "0x8519EA49c997f50cefFa444d240fB655e89248Aa", + 97: "", + }, + decimals: 18, + projectLink: "https://rampdefi.com/", + }, + bfi: { + symbol: "BFI", + address: { + 56: "0x81859801b01764D4f0Fa5E64729f5a6C3b91435b", + 97: "", + }, + decimals: 18, + projectLink: "https://bearn.fi/", + }, + dexe: { + symbol: "DEXE", + address: { + 56: "0x039cB485212f996A9DBb85A9a75d898F94d38dA6", + 97: "", + }, + decimals: 18, + projectLink: "https://dexe.network/", + }, + bel: { + symbol: "BEL", + address: { + 56: "0x8443f091997f06a61670B735ED92734F5628692F", + 97: "", + }, + decimals: 18, + projectLink: "https://bella.fi/", + }, + tpt: { + symbol: "TPT", + address: { + 56: "0xECa41281c24451168a37211F0bc2b8645AF45092", + 97: "", + }, + decimals: 4, + projectLink: "https://www.tokenpocket.pro/", + }, + watch: { + symbol: "WATCH", + address: { + 56: "0x7A9f28EB62C791422Aa23CeAE1dA9C847cBeC9b0", + 97: "", + }, + decimals: 18, + projectLink: "https://yieldwatch.net/", + }, + xmark: { + symbol: "xMARK", + address: { + 56: "0x26A5dFab467d4f58fB266648CAe769503CEC9580", + 97: "", + }, + decimals: 9, + projectLink: "https://benchmarkprotocol.finance/", + }, + bmxx: { + symbol: "bMXX", + address: { + 56: "0x4131b87F74415190425ccD873048C708F8005823", + 97: "", + }, + decimals: 18, + projectLink: "https://multiplier.finance/", + }, + iotx: { + symbol: "IOTX", + address: { + 56: "0x9678E42ceBEb63F23197D726B29b1CB20d0064E5", + 97: "", + }, + decimals: 18, + projectLink: "https://iotex.io/", + }, + bor: { + symbol: "BOR", + address: { + 56: "0x92D7756c60dcfD4c689290E8A9F4d263b3b32241", + 97: "", + }, + decimals: 18, + projectLink: "https://www.boringdao.com/", + }, + bopen: { + symbol: "bOPEN", + address: { + 56: "0xF35262a9d427F96d2437379eF090db986eaE5d42", + 97: "", + }, + decimals: 18, + projectLink: "https://opendao.io/", + }, + dodo: { + symbol: "DODO", + address: { + 56: "0x67ee3Cb086F8a16f34beE3ca72FAD36F7Db929e2", + 97: "", + }, + decimals: 18, + projectLink: "https://dodoex.io/", + }, + swingby: { + symbol: "SWINGBY", + address: { + 56: "0x71DE20e0C4616E7fcBfDD3f875d568492cBE4739", + 97: "", + }, + decimals: 18, + projectLink: "https://swingby.network/", + }, + bry: { + symbol: "BRY", + address: { + 56: "0xf859Bf77cBe8699013d6Dbc7C2b926Aaf307F830", + 97: "", + }, + decimals: 18, + projectLink: "https://berrydata.co/", + }, + zee: { + symbol: "ZEE", + address: { + 56: "0x44754455564474A89358B2C2265883DF993b12F0", + 97: "", + }, + decimals: 18, + projectLink: "https://zeroswap.io/", + }, + swgb: { + symbol: "SWGb", + address: { + 56: "0xe40255c5d7fa7ceec5120408c78c787cecb4cfdb", + 97: "", + }, + decimals: 18, + projectLink: "https://swirgepay.com/", + }, + swg: { + symbol: "SWG", + address: { + 56: "0xe792f64C582698b8572AAF765bDC426AC3aEfb6B", + 97: "", + }, + decimals: 18, + projectLink: "https://swirgepay.com/", + }, + sfp: { + symbol: "SFP", + address: { + 56: "0xD41FDb03Ba84762dD66a0af1a6C8540FF1ba5dfb", + 97: "", + }, + decimals: 18, + projectLink: "https://www.safepal.io/", + }, + lina: { + symbol: "LINA", + address: { + 56: "0x762539b45A1dCcE3D36d080F74d1AED37844b878", + 97: "", + }, + decimals: 18, + projectLink: "https://linear.finance/", + }, + lit: { + symbol: "LIT", + address: { + 56: "0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723", + 97: "", + }, + decimals: 18, + projectLink: "https://www.litentry.com/", + }, + hget: { + symbol: "HGET", + address: { + 56: "0xC7d8D35EBA58a0935ff2D5a33Df105DD9f071731", + 97: "", + }, + decimals: 6, + projectLink: "https://www.hedget.com/", + }, + bdo: { + symbol: "BDO", + address: { + 56: "0x190b589cf9Fb8DDEabBFeae36a813FFb2A702454", + 97: "", + }, + decimals: 18, + projectLink: "https://bdollar.fi/", + }, + egld: { + symbol: "EGLD", + address: { + 56: "0xbF7c81FFF98BbE61B40Ed186e4AfD6DDd01337fe", + 97: "", + }, + decimals: 18, + projectLink: "https://elrond.com/", + }, + ust: { + symbol: "UST", + address: { + 56: "0x23396cf899ca06c4472205fc903bdb4de249d6fc", + 97: "", + }, + decimals: 18, + projectLink: "https://mirror.finance/", + }, + wsote: { + symbol: "wSOTE", + address: { + 56: "0x541E619858737031A1244A5d0Cd47E5ef480342c", + 97: "", + }, + decimals: 18, + projectLink: "https://soteria.finance/#/", + }, + front: { + symbol: "FRONT", + address: { + 56: "0x928e55daB735aa8260AF3cEDadA18B5f70C72f1b", + 97: "", + }, + decimals: 18, + projectLink: "https://frontier.xyz/", + }, + helmet: { + symbol: "Helmet", + address: { + 56: "0x948d2a81086A075b3130BAc19e4c6DEe1D2E3fE8", + 97: "", + }, + decimals: 18, + projectLink: "https://www.helmet.insure/", + }, + btcst: { + symbol: "BTCST", + address: { + 56: "0x78650B139471520656b9E7aA7A5e9276814a38e9", + 97: "", + }, + decimals: 17, + projectLink: "https://www.1-b.tc/", + }, + bscx: { + symbol: "BSCX", + address: { + 56: "0x5Ac52EE5b2a633895292Ff6d8A89bB9190451587", + 97: "", + }, + decimals: 18, + projectLink: "https://bscex.org/", + }, + ten: { + symbol: "TEN", + address: { + 56: "0xdFF8cb622790b7F92686c722b02CaB55592f152C", + 97: "", + }, + decimals: 18, + projectLink: "https://www.tenet.farm/", + }, + balbt: { + symbol: "bALBT", + address: { + 56: "0x72fAa679E1008Ad8382959FF48E392042A8b06f7", + 97: "", + }, + decimals: 18, + projectLink: "https://allianceblock.io/", + }, + asr: { + symbol: "ASR", + address: { + 56: "0x80D5f92C2c8C682070C95495313dDB680B267320", + 97: "", + }, + decimals: 2, + projectLink: "https://www.chiliz.com", + }, + atm: { + symbol: "ATM", + address: { + 56: "0x25E9d05365c867E59C1904E7463Af9F312296f9E", + 97: "", + }, + decimals: 2, + projectLink: "https://www.chiliz.com", + }, + og: { + symbol: "OG", + address: { + 56: "0xf05E45aD22150677a017Fbd94b84fBB63dc9b44c", + 97: "", + }, + decimals: 2, + projectLink: "https://www.chiliz.com", + }, + reef: { + symbol: "REEF", + address: { + 56: "0xF21768cCBC73Ea5B6fd3C687208a7c2def2d966e", + 97: "", + }, + decimals: 18, + projectLink: "https://reef.finance/", + }, + ditto: { + symbol: "DITTO", + address: { + 56: "0x233d91A0713155003fc4DcE0AFa871b508B3B715", + 97: "", + }, + decimals: 9, + projectLink: "https://ditto.money/", + }, + juv: { + symbol: "JUV", + address: { + 56: "0xC40C9A843E1c6D01b7578284a9028854f6683b1B", + 97: "", + }, + decimals: 2, + projectLink: "https://www.chiliz.com", + }, + psg: { + symbol: "PSG", + address: { + 56: "0xBc5609612b7C44BEf426De600B5fd1379DB2EcF1", + 97: "", + }, + decimals: 2, + projectLink: "https://www.chiliz.com", + }, + vai: { + symbol: "VAI", + address: { + 56: "0x4BD17003473389A42DAF6a0a729f6Fdb328BbBd7", + 97: "", + }, + decimals: 18, + projectLink: "https://venus.io/", + }, + wbnb: { + symbol: "wBNB", + address: { + 56: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c", + 97: "0xae13d989dac2f0debff460ac112a837c89baa7cd", + }, + decimals: 18, + projectLink: "https://pancakeswap.finance/", + }, + blink: { + symbol: "BLINK", + address: { + 56: "0x63870A18B6e42b01Ef1Ad8A2302ef50B7132054F", + 97: "", + }, + decimals: 6, + projectLink: "https://blink.wink.org", + }, + unfi: { + symbol: "UNFI", + address: { + 56: "0x728C5baC3C3e370E372Fc4671f9ef6916b814d8B", + 97: "", + }, + decimals: 18, + projectLink: "https://unifiprotocol.com", + }, + twt: { + symbol: "TWT", + address: { + 56: "0x4B0F1812e5Df2A09796481Ff14017e6005508003", + 97: "", + }, + decimals: 18, + projectLink: "https://trustwallet.com/", + }, + hard: { + symbol: "HARD", + address: { + 56: "0xf79037F6f6bE66832DE4E7516be52826BC3cBcc4", + 97: "", + }, + decimals: 6, + projectLink: "https://hard.kava.io", + }, + broobee: { + symbol: "bROOBEE", + address: { + 56: "0xE64F5Cb844946C1F102Bd25bBD87a5aB4aE89Fbe", + 97: "", + }, + decimals: 18, + projectLink: "https://roobee.io/", + }, + stax: { + symbol: "STAX", + address: { + 56: "0x0Da6Ed8B13214Ff28e9Ca979Dd37439e8a88F6c4", + 97: "", + }, + decimals: 18, + projectLink: "https://stablexswap.com/", + }, + nar: { + symbol: "NAR", + address: { + 56: "0xA1303E6199b319a891b79685F0537D289af1FC83", + 97: "", + }, + decimals: 18, + projectLink: "https://narwhalswap.org/", + }, + nya: { + symbol: "NYA", + address: { + 56: "0xbFa0841F7a90c4CE6643f651756EE340991F99D5", + 97: "", + }, + decimals: 18, + projectLink: "https://nyanswop.org/", + }, + ctk: { + symbol: "CTK", + address: { + 56: "0xA8c2B8eec3d368C0253ad3dae65a5F2BBB89c929", + 97: "", + }, + decimals: 6, + projectLink: "https://www.certik.foundation/", + }, + inj: { + symbol: "INJ", + address: { + 56: "0xa2B726B1145A4773F68593CF171187d8EBe4d495", + 97: "", + }, + decimals: 18, + projectLink: "https://injectiveprotocol.com/", + }, + sxp: { + symbol: "SXP", + address: { + 56: "0x47BEAd2563dCBf3bF2c9407fEa4dC236fAbA485A", + 97: "", + }, + decimals: 18, + projectLink: "https://swipe.io/", + }, + alpha: { + symbol: "ALPHA", + address: { + 56: "0xa1faa113cbE53436Df28FF0aEe54275c13B40975", + 97: "", + }, + decimals: 18, + projectLink: "https://alphafinance.io/", + }, + xvs: { + symbol: "XVS", + address: { + 56: "0xcF6BB5389c92Bdda8a3747Ddb454cB7a64626C63", + 97: "", + }, + decimals: 18, + projectLink: "https://venus.io/", + }, + sushi: { + symbol: "SUSHI", + address: { + 56: "0x947950BcC74888a40Ffa2593C5798F11Fc9124C4", + 97: "", + }, + decimals: 18, + projectLink: "https://sushi.com/", + }, + comp: { + symbol: "COMP", + address: { + 56: "0x52CE071Bd9b1C4B00A0b92D298c512478CaD67e8", + 97: "", + }, + decimals: 18, + projectLink: "https://compound.finance/", + }, + syrup: { + symbol: "SYRUP", + address: { + 56: "0x009cF7bC57584b7998236eff51b98A168DceA9B0", + 97: "0xfE1e507CeB712BDe086f3579d2c03248b2dB77f9", + }, + decimals: 18, + projectLink: "https://pancakeswap.finance/", + }, + bifi: { + symbol: "BIFI", + address: { + 56: "0xCa3F508B8e4Dd382eE878A314789373D80A5190A", + 97: "", + }, + decimals: 18, + projectLink: "https://beefy.finance/", + }, + dusk: { + symbol: "DUSK", + address: { + 56: "0xB2BD0749DBE21f623d9BABa856D3B0f0e1BFEc9C", + 97: "", + }, + decimals: 18, + projectLink: "https://dusk.network/", + }, + busd: { + symbol: "BUSD", + address: { + 56: "0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56", + 97: "", + }, + decimals: 18, + projectLink: "https://www.paxos.com/busd/", + }, + eth: { + symbol: "ETH", + address: { + 56: "0x2170Ed0880ac9A755fd29B2688956BD959F933F8", + 97: "", + }, + decimals: 18, + projectLink: "https://ethereum.org/en/", + }, + beth: { + symbol: "BETH", + address: { + 56: "0x250632378E573c6Be1AC2f97Fcdf00515d0Aa91B", + 97: "", + }, + decimals: 18, + projectLink: "https://ethereum.org/en/eth2/beacon-chain/", + }, + mamzn: { + symbol: "mAMZN", + address: { + 56: "0x3947B992DC0147D2D89dF0392213781b04B25075", + 97: "", + }, + decimals: 18, + projectLink: "https://mirror.finance/", + }, + mgoogl: { + symbol: "mGOOGL", + address: { + 56: "0x62D71B23bF15218C7d2D7E48DBbD9e9c650B173f", + 97: "", + }, + decimals: 18, + projectLink: "https://mirror.finance/", + }, + mnflx: { + symbol: "mNFLX", + address: { + 56: "0xa04F060077D90Fe2647B61e4dA4aD1F97d6649dc", + 97: "", + }, + decimals: 18, + projectLink: "https://mirror.finance/", + }, + mtsla: { + symbol: "mTSLA", + address: { + 56: "0xF215A127A196e3988C09d052e16BcFD365Cd7AA3", + 97: "", + }, + decimals: 18, + projectLink: "https://mirror.finance/", + }, + ltc: { + symbol: "LTC", + address: { + 56: "0x4338665CBB7B2485A8855A139b75D5e34AB0DB94", + 97: "", + }, + decimals: 18, + projectLink: "https://litecoin.org/", + }, + usdc: { + symbol: "USDC", + address: { + 56: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d", + 97: "", + }, + decimals: 18, + projectLink: "https://www.centre.io/usdc", + }, + dai: { + symbol: "DAI", + address: { + 56: "0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3", + 97: "", + }, + decimals: 18, + projectLink: "https://www.makerdao.com/", + }, + ada: { + symbol: "ADA", + address: { + 56: "0x3EE2200Efb3400fAbB9AacF31297cBdD1d435D47", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://www.cardano.org/", + }, + band: { + symbol: "BAND", + address: { + 56: "0xAD6cAEb32CD2c308980a548bD0Bc5AA4306c6c18", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://bandprotocol.com/", + }, + dot: { + symbol: "DOT", + address: { + 56: "0x7083609fCE4d1d8Dc0C979AAb8c869Ea2C873402", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://polkadot.network/", + }, + eos: { + symbol: "EOS", + address: { + 56: "0x56b6fB708fC5732DEC1Afc8D8556423A2EDcCbD6", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://eos.io/", + }, + link: { + symbol: "LINK", + address: { + 56: "0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://chain.link/", + }, + usdt: { + symbol: "USDT", + address: { + 56: "0x55d398326f99059fF775485246999027B3197955", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://tether.to/", + }, + btcb: { + symbol: "BTCB", + address: { + 56: "0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://bitcoin.org/", + }, + xrp: { + symbol: "XRP", + address: { + 56: "0x1D2F0da169ceB9fC7B3144628dB156f3F6c60dBE", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://ripple.com/xrp/", + }, + atom: { + symbol: "ATOM", + address: { + 56: "0x0Eb3a705fc54725037CC9e008bDede697f62F335", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://cosmos.network/", + }, + yfii: { + symbol: "YFII", + address: { + 56: "0x7F70642d88cf1C4a3a7abb072B53B929b653edA5", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://dfi.money/#/", + }, + xtz: { + symbol: "XTZ", + address: { + 56: "0x16939ef78684453bfDFb47825F8a5F714f12623a", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://www.tezos.com/", + }, + bch: { + symbol: "BCH", + address: { + 56: "0x8fF795a6F4D97E7887C79beA79aba5cc76444aDf", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://bch.info/", + }, + yfi: { + symbol: "YFI", + address: { + 56: "0x88f1A5ae2A3BF98AEAF342D26B30a79438c9142e", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://yearn.finance/", + }, + uni: { + symbol: "UNI", + address: { + 56: "0xBf5140A22578168FD562DCcF235E5D43A02ce9B1", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://uniswap.org/", + }, + fil: { + symbol: "FIL", + address: { + 56: "0x0D8Ce2A99Bb6e3B7Db580eD848240e4a0F9aE153", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://filecoin.io/", + }, + bake: { + symbol: "BAKE", + address: { + 56: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + 97: "", + }, + decimals: 18, + projectLink: "https://www.bakeryswap.org/", + }, + burger: { + symbol: "BURGER", + address: { + 56: "0xAe9269f27437f0fcBC232d39Ec814844a51d6b8f", + 97: "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5", + }, + decimals: 18, + projectLink: "https://burgerswap.org/", + }, + bdigg: { + symbol: "bDIGG", + address: { + 56: "0x5986D5c77c65e5801a5cAa4fAE80089f870A71dA", + 97: "", + }, + decimals: 18, + projectLink: "https://badger.finance/", + }, + bbadger: { + symbol: "bBadger", + address: { + 56: "0x1F7216fdB338247512Ec99715587bb97BBf96eae", + 97: "", + }, + decimals: 18, + projectLink: "https://badger.finance/", + }, + trade: { + symbol: "TRADE", + address: { + 56: "0x7af173F350D916358AF3e218Bdf2178494Beb748", + 97: "", + }, + decimals: 18, + projectLink: "https://unitrade.app/", + }, + pnt: { + symbol: "PNT", + address: { + 56: "0xdaacB0Ab6Fb34d24E8a67BfA14BF4D95D4C7aF92", + 97: "", + }, + decimals: 18, + projectLink: "https://ptokens.io/", + }, + mir: { + symbol: "MIR", + address: { + 56: "0x5B6DcF557E2aBE2323c48445E8CC948910d8c2c9", + 97: "", + }, + decimals: 18, + projectLink: "https://mirror.finance/", + }, + pbtc: { + symbol: "pBTC", + address: { + 56: "0xeD28A457A5A76596ac48d87C0f577020F6Ea1c4C", + 97: "", + }, + decimals: 18, + projectLink: "https://ptokens.io/", + }, + lto: { + symbol: "LTO", + address: { + 56: "0x857B222Fc79e1cBBf8Ca5f78CB133d1b7CF34BBd", + 97: "", + }, + decimals: 18, + projectLink: "https://ltonetwork.com/", + }, + pcws: { + symbol: "pCWS", + address: { + 56: "0xbcf39F0EDDa668C58371E519AF37CA705f2bFcbd", + 97: "", + }, + decimals: 18, + projectLink: "https://game.seascape.network/", + }, + zil: { + symbol: "ZIL", + address: { + 56: "0xb86AbCb37C3A4B64f74f59301AFF131a1BEcC787", + 97: "", + }, + decimals: 12, + projectLink: "https://www.zilliqa.com/", + }, + lien: { + symbol: "LIEN", + address: { + 56: "0x5d684ADaf3FcFe9CFb5ceDe3abf02F0Cdd1012E3", + 97: "", + }, + decimals: 8, + projectLink: "https://lien.finance/", + }, + swth: { + symbol: "SWTH", + address: { + 56: "0x250b211EE44459dAd5Cd3bCa803dD6a7EcB5d46C", + 97: "", + }, + decimals: 8, + projectLink: "https://switcheo.network/", + }, + dft: { + symbol: "DFT", + address: { + 56: "0x42712dF5009c20fee340B245b510c0395896cF6e", + 97: "", + }, + decimals: 18, + projectLink: "https://www.dfuture.com/home", + }, + gum: { + symbol: "GUM", + address: { + 56: "0xc53708664b99DF348dd27C3Ac0759d2DA9c40462", + 97: "", + }, + decimals: 18, + projectLink: "https://gourmetgalaxy.io/", + }, + dego: { + symbol: "DEGO", + address: { + 56: "0x3FdA9383A84C05eC8f7630Fe10AdF1fAC13241CC", + 97: "", + }, + decimals: 18, + projectLink: "https://bsc.dego.finance/home", + }, + nrv: { + symbol: "NRV", + address: { + 56: "0x42F6f551ae042cBe50C739158b4f0CAC0Edb9096", + 97: "", + }, + decimals: 18, + projectLink: "https://nerve.fi/", + }, + easy: { + symbol: "EASY", + address: { + 56: "0x7C17c8bED8d14bAccE824D020f994F4880D6Ab3B", + 97: "", + }, + decimals: 18, + projectLink: "https://easyfi.network/", + }, + oddz: { + symbol: "ODDZ", + address: { + 56: "0xCD40F2670CF58720b694968698A5514e924F742d", + 97: "", + }, + decimals: 18, + projectLink: "https://oddz.fi/", + }, + hoo: { + symbol: "HOO", + address: { + 56: "0xE1d1F66215998786110Ba0102ef558b22224C016", + 97: "", + }, + decimals: 8, + projectLink: "https://hoo.com/", + }, + apys: { + symbol: "APYS", + address: { + 56: "0x37dfACfaeDA801437Ff648A1559d73f4C40aAcb7", + 97: "", + }, + decimals: 18, + projectLink: "https://apyswap.com/", + }, + bondly: { + symbol: "BONDLY", + address: { + 56: "0x96058f8C3e16576D9BD68766f3836d9A33158f89", + 97: "", + }, + decimals: 18, + projectLink: "https://www.bondly.finance/", + }, + tko: { + symbol: "TKO", + address: { + 56: "0x9f589e3eabe42ebC94A44727b3f3531C0c877809", + 97: "", + }, + decimals: 18, + projectLink: "https://www.tokocrypto.com/", + }, + itam: { + symbol: "ITAM", + address: { + 56: "0x04C747b40Be4D535fC83D09939fb0f626F32800B", + 97: "", + }, + decimals: 18, + projectLink: "https://itam.network/", + }, + arpa: { + symbol: "ARPA", + address: { + 56: "0x6F769E65c14Ebd1f68817F5f1DcDb61Cfa2D6f7e", + 97: "", + }, + decimals: 18, + projectLink: "https://arpachain.io/", + }, + eps: { + symbol: "EPS", + address: { + 56: "0xA7f552078dcC247C2684336020c03648500C6d9F", + 97: "", + }, + decimals: 18, + projectLink: "https://ellipsis.finance/", + }, + jgn: { + symbol: "JGN", + address: { + 56: "0xC13B7a43223BB9Bf4B69BD68Ab20ca1B79d81C75", + 97: "", + }, + decimals: 18, + projectLink: "https://jgndefi.com/", + }, + tlm: { + symbol: "TLM", + address: { + 56: "0x2222227E22102Fe3322098e4CBfE18cFebD57c95", + 97: "", + }, + decimals: 4, + projectLink: "https://alienworlds.io/", + }, + perl: { + symbol: "PERL", + address: { + 56: "0x0F9E4D49f25de22c2202aF916B681FBB3790497B", + 97: "", + }, + decimals: 18, + projectLink: "https://perlinx.finance/", + }, + alpa: { + symbol: "ALPA", + address: { + 56: "0xc5E6689C9c8B02be7C49912Ef19e79cF24977f03", + 97: "", + }, + decimals: 18, + projectLink: "https://bsc.alpaca.city/", + }, + hzn: { + symbol: "HZN", + address: { + 56: "0xC0eFf7749b125444953ef89682201Fb8c6A917CD", + 97: "", + }, + decimals: 18, + projectLink: "https://horizonprotocol.com/", + }, + suter: { + symbol: "SUTER", + address: { + 56: "0x4CfbBdfBd5BF0814472fF35C72717Bd095ADa055", + 97: "", + }, + decimals: 18, + projectLink: "https://shield.suterusu.io/", + }, + cgg: { + symbol: "CGG", + address: { + 56: "0x1613957159E9B0ac6c80e824F7Eea748a32a0AE2", + 97: "", + }, + decimals: 18, + projectLink: "https://chainguardians.io/", + }, + mix: { + symbol: "MIX", + address: { + 56: "0xB67754f5b4C704A24d2db68e661b2875a4dDD197", + 97: "", + }, + decimals: 18, + projectLink: "https://mixie.chainguardians.io/", + }, + hakka: { + symbol: "HAKKA", + address: { + 56: "0x1D1eb8E8293222e1a29d2C0E4cE6C0Acfd89AaaC", + 97: "", + }, + decimals: 18, + projectLink: "https://hakka.finance/", + }, + xed: { + symbol: "XED", + address: { + 56: "0x5621b5A3f4a8008c4CCDd1b942B121c8B1944F1f", + 97: "", + }, + decimals: 18, + projectLink: "https://www.exeedme.com/", + }, + τbtc: { + symbol: "τBTC", + address: { + 56: "0x2cD1075682b0FCCaADd0Ca629e138E64015Ba11c", + 97: "", + }, + decimals: 9, + projectLink: "https://www.btcst.finance/", + }, + alpaca: { + symbol: "ALPACA", + address: { + 56: "0x8F0528cE5eF7B51152A59745bEfDD91D97091d2F", + 97: "", + }, + decimals: 18, + projectLink: "https://www.alpacafinance.org/", + }, + dfd: { + symbol: "DFD", + address: { + 56: "0x9899a98b222fCb2f3dbee7dF45d943093a4ff9ff", + 97: "", + }, + decimals: 18, + projectLink: "https://dusd.finance/", + }, + lmt: { + symbol: "LMT", + address: { + 56: "0x9617857E191354dbEA0b714d78Bc59e57C411087", + 97: "", + }, + decimals: 18, + projectLink: "https://lympo.io/lmt/", + }, + btt: { + symbol: "BTT", + address: { + 56: "0x8595F9dA7b868b1822194fAEd312235E43007b49", + 97: "", + }, + decimals: 18, + projectLink: "https://www.bittorrent.com/", + }, + trx: { + symbol: "TRX", + address: { + 56: "0x85EAC5Ac2F758618dFa09bDbe0cf174e7d574D5B", + 97: "", + }, + decimals: 18, + projectLink: "https://tron.network/", + }, + win: { + symbol: "WIN", + address: { + 56: "0xaeF0d72a118ce24feE3cD1d43d383897D05B4e99", + 97: "", + }, + decimals: 18, + projectLink: "https://winklink.org/", + }, + mcoin: { + symbol: "mCOIN", + address: { + 56: "0x49022089e78a8D46Ec87A3AF86a1Db6c189aFA6f", + 97: "", + }, + decimals: 18, + projectLink: "https://mirror.finance/", + }, + math: { + symbol: "MATH", + address: { + 56: "0xF218184Af829Cf2b0019F8E6F0b2423498a36983", + 97: "", + }, + decimals: 18, + projectLink: "https://mathwallet.org/", + }, + kun: { + symbol: "KUN", + address: { + 56: "0x1A2fb0Af670D0234c2857FaD35b789F8Cb725584", + 97: "", + }, + decimals: 18, + projectLink: "https://chemix.io/home", + }, + qsd: { + symbol: "QSD", + address: { + 56: "0x07AaA29E63FFEB2EBf59B33eE61437E1a91A3bb2", + 97: "", + }, + decimals: 18, + projectLink: "https://chemix.io/home", + }, + hyfi: { + symbol: "HYFI", + address: { + 56: "0x9a319b959e33369C5eaA494a770117eE3e585318", + 97: "", + }, + decimals: 18, + projectLink: "https://hyfi.pro/#/", + }, + oin: { + symbol: "OIN", + address: { + 56: "0x658E64FFcF40D240A43D52CA9342140316Ae44fA", + 97: "", + }, + decimals: 8, + projectLink: "https://oin.finance/", + }, + doge: { + symbol: "DOGE", + address: { + 56: "0xbA2aE424d960c26247Dd6c32edC70B295c744C43", + 97: "", + }, + decimals: 8, + projectLink: "https://dogecoin.com/", + }, + fine: { + symbol: "FINE", + address: { + 56: "0x4e6415a5727ea08aAE4580057187923aeC331227", + 97: "", + }, + decimals: 18, + projectLink: "https://refinable.com/", + }, + one: { + symbol: "ONE", + address: { + 56: "0x04BAf95Fd4C52fd09a56D840bAEe0AB8D7357bf0", + 97: "", + }, + decimals: 18, + projectLink: "https://www.bigone.com/", + }, + pmon: { + symbol: "PMON", + address: { + 56: "0x1796ae0b0fa4862485106a0de9b654eFE301D0b2", + 97: "", + }, + decimals: 18, + projectLink: "https://polkamon.com/", + }, + hotcross: { + symbol: "HOTCROSS", + address: { + 56: "0x4FA7163E153419E0E1064e418dd7A99314Ed27b6", + 97: "", + }, + decimals: 18, + projectLink: "https://www.hotcross.com/", + }, + τdoge: { + symbol: "τDOGE", + address: { + 56: "0xe550a593d09FBC8DCD557b5C88Cea6946A8b404A", + 97: "", + }, + decimals: 8, + projectLink: "https://www.btcst.finance/", + }, + btr: { + symbol: "BTR", + address: { + 56: "0x5a16E8cE8cA316407c6E6307095dc9540a8D62B3", + 97: "", + }, + decimals: 18, + projectLink: "https://www.bitrue.com/", + }, + ubxt: { + symbol: "UBXT", + address: { + 56: "0xBbEB90cFb6FAFa1F69AA130B7341089AbeEF5811", + 97: "", + }, + decimals: 18, + projectLink: "https://upbots.com/", + }, + wmass: { + symbol: "WMASS", + address: { + 56: "0x7e396BfC8a2f84748701167c2d622F041A1D7a17", + 97: "", + }, + decimals: 8, + projectLink: "https://massnet.org/en/", + }, + rfox: { + symbol: "RFOX", + address: { + 56: "0x0a3A21356793B49154Fd3BbE91CBc2A16c0457f5", + 97: "", + }, + decimals: 18, + projectLink: "https://www.redfoxlabs.io/", + }, + xend: { + symbol: "XEND", + address: { + 56: "0x4a080377f83D669D7bB83B3184a8A5E61B500608", + 97: "", + }, + decimals: 18, + projectLink: "https://xend.finance/", + }, + cyc: { + symbol: "CYC", + address: { + 56: "0x810EE35443639348aDbbC467b33310d2AB43c168", + 97: "", + }, + decimals: 18, + projectLink: "https://cyclone.xyz/", + }, + chr: { + symbol: "CHR", + address: { + 56: "0xf9CeC8d50f6c8ad3Fb6dcCEC577e05aA32B224FE", + 97: "", + }, + decimals: 6, + projectLink: "https://chromia.com/", + }, + kalm: { + symbol: "KALM", + address: { + 56: "0x4BA0057f784858a48fe351445C672FF2a3d43515", + 97: "", + }, + decimals: 18, + projectLink: "https://kalmar.io/", + }, + deri: { + symbol: "DERI", + address: { + 56: "0xe60eaf5A997DFAe83739e035b005A33AfdCc6df5", + 97: "", + }, + decimals: 18, + projectLink: "https://deri.finance/#/index", + }, + well: { + symbol: "WELL", + address: { + 56: "0xf07a32Eb035b786898c00bB1C64d8c6F8E7a46D5", + 97: "", + }, + decimals: 18, + projectLink: "https://www.bitwellex.com/", + }, + wex: { + symbol: "WEX", + address: { + 56: "0xa9c41A46a6B3531d28d5c32F6633dd2fF05dFB90", + 97: "", + }, + decimals: 18, + projectLink: "https://wault.finance/", + }, + waultx: { + symbol: "WAULTx", + address: { + 56: "0xB64E638E60D154B43f660a6BF8fD8a3b249a6a21", + 97: "", + }, + decimals: 18, + projectLink: "https://wault.finance/", + }, + popen: { + symbol: "pOPEN", + address: { + 56: "0xaBaE871B7E3b67aEeC6B46AE9FE1A91660AadAC5", + 97: "", + }, + decimals: 18, + projectLink: "https://opendao.io/", + }, + ez: { + symbol: "EZ", + address: { + 56: "0x5512014efa6Cd57764Fa743756F7a6Ce3358cC83", + 97: "", + }, + decimals: 18, + projectLink: "https://easyfi.network/", + }, + vrt: { + symbol: "VRT", + address: { + 56: "0x5F84ce30DC3cF7909101C69086c50De191895883", + 97: "", + }, + decimals: 18, + projectLink: "https://venus.io/", + }, + tusd: { + symbol: "TUSD", + address: { + 56: "0x14016E85a25aeb13065688cAFB43044C2ef86784", + 97: "", + }, + decimals: 18, + projectLink: "https://www.trueusd.com/", + }, + mtrg: { + symbol: "MTRG", + address: { + 56: "0xBd2949F67DcdC549c6Ebe98696449Fa79D988A9F", + 97: "", + }, + decimals: 18, + projectLink: "https://www.meter.io/", + }, + ktn: { + symbol: "KTN", + address: { + 56: "0xDAe6c2A48BFAA66b43815c5548b10800919c993E", + 97: "", + }, + decimals: 18, + projectLink: "https://kattana.io/", + }, + qkc: { + symbol: "QKC", + address: { + 56: "0xA1434F1FC3F437fa33F7a781E041961C0205B5Da", + 97: "", + }, + decimals: 18, + projectLink: "https://quarkchain.io/", + }, + bcfx: { + symbol: "bCFX", + address: { + 56: "0x045c4324039dA91c52C55DF5D785385Aab073DcF", + 97: "", + }, + decimals: 18, + projectLink: "https://www.confluxnetwork.org/", + }, + mx: { + symbol: "MX", + address: { + 56: "0x9F882567A62a5560d147d64871776EeA72Df41D3", + 97: "", + }, + decimals: 18, + projectLink: "https://www.mxc.com/", + }, + ata: { + symbol: "ATA", + address: { + 56: "0xA2120b9e674d3fC3875f415A7DF52e382F141225", + 97: "", + }, + decimals: 18, + projectLink: "https://www.ata.network/", + }, + mbox: { + symbol: "MBOX", + address: { + 56: "0x3203c9E46cA618C8C1cE5dC67e7e9D75f5da2377", + 97: "", + }, + decimals: 18, + projectLink: "https://www.mobox.io/#/", + }, + boring: { + symbol: "BORING", + address: { + 56: "0xffEecbf8D7267757c2dc3d13D730E97E15BfdF7F", + 97: "", + }, + decimals: 18, + projectLink: "https://www.boringdao.com/", + }, + marsh: { + symbol: "MARSH", + address: { + 56: "0x2FA5dAF6Fe0708fBD63b1A7D1592577284f52256", + 97: "", + }, + decimals: 18, + projectLink: "https://unmarshal.io/", + }, + ampl: { + symbol: "AMPL", + address: { + 56: "0xDB021b1B247fe2F1fa57e0A87C748Cc1E321F07F", + 97: "", + }, + decimals: 9, + projectLink: "https://www.ampleforth.org/", + }, + o3: { + symbol: "O3", + address: { + 56: "0xEe9801669C6138E84bD50dEB500827b776777d28", + 97: "", + }, + decimals: 18, + projectLink: "https://o3swap.com/", + }, + hai: { + symbol: "HAI", + address: { + 56: "0xaA9E582e5751d703F85912903bacADdFed26484C", + 97: "", + }, + decimals: 8, + projectLink: "https://hacken.io/", + }, + htb: { + symbol: "HTB", + address: { + 56: "0x4e840AADD28DA189B9906674B4Afcb77C128d9ea", + 97: "", + }, + decimals: 18, + projectLink: "https://www.hotbit.io/", + }, + woo: { + symbol: "WOO", + address: { + 56: "0x4691937a7508860F876c9c0a2a617E7d9E945D4B", + 97: "", + }, + decimals: 18, + projectLink: "https://woo.network/", + }, + $dg: { + symbol: "$DG", + address: { + 56: "0x9Fdc3ae5c814b79dcA2556564047C5e7e5449C19", + 97: "", + }, + decimals: 18, + projectLink: "https://decentral.games/", + }, +}; diff --git a/app/javascript/src/contexts/AppContext.tsx b/app/javascript/src/contexts/AppContext.tsx new file mode 100644 index 0000000..869bed9 --- /dev/null +++ b/app/javascript/src/contexts/AppContext.tsx @@ -0,0 +1,28 @@ +import React, { createContext, Dispatch, FC, SetStateAction, useContext, useState } from 'react' + +export type AppContext = { + setSideNavExpanded: Dispatch> + sideNavExpanded: boolean +} + +const Context = createContext(null) + +export const useAppContext = (): AppContext => { + const context = useContext(Context); + + if (context === null) { + throw new Error("You probably forgot to put ."); + } + + return context; +}; + +export const AppContext: FC = ({ children }) => { + const [sideNavExpanded, setSideNavExpanded] = useState(false) + + return ( + + {children} + + ) +} \ No newline at end of file diff --git a/app/javascript/src/contexts/AuthProvider.tsx b/app/javascript/src/contexts/AuthProvider.tsx new file mode 100644 index 0000000..0c03ab8 --- /dev/null +++ b/app/javascript/src/contexts/AuthProvider.tsx @@ -0,0 +1,22 @@ +import { Auth0Provider } from '@auth0/auth0-react' +import React, { FC } from 'react' + +export const AuthProvider: FC = ({children}) => { + // @ts-ignore + const domain = window.AUTH_DOMAIN + // @ts-ignore + const clientId = window.AUTH_CLIENT_ID + // @ts-ignore + const audience = window.AUTH_AUDIENCE + + return ( + + {children} + + ) +} \ No newline at end of file diff --git a/app/javascript/src/images/logo.png b/app/javascript/src/images/logo.png new file mode 100644 index 0000000..f1327c4 Binary files /dev/null and b/app/javascript/src/images/logo.png differ diff --git a/app/javascript/packs/src/index.tsx b/app/javascript/src/index.tsx similarity index 88% rename from app/javascript/packs/src/index.tsx rename to app/javascript/src/index.tsx index be8e6d1..bbadc36 100644 --- a/app/javascript/packs/src/index.tsx +++ b/app/javascript/src/index.tsx @@ -6,8 +6,7 @@ document.addEventListener('DOMContentLoaded', () => { ReactDOM.render( - - , + , document.getElementById('root'), ) }) diff --git a/app/javascript/src/pages/Home/Home.tsx b/app/javascript/src/pages/Home/Home.tsx new file mode 100644 index 0000000..4640fc6 --- /dev/null +++ b/app/javascript/src/pages/Home/Home.tsx @@ -0,0 +1,30 @@ +import React, { FC } from 'react' +import { Container } from '../../components/Container' +import { Header } from '../../components/Header' +import { Navbar } from '../../components/Navbar' +import { PoolListing } from '../../components/PoolListing' +import { SideNav } from '../../components/SideNav' + +export const Home: FC = () => { + return ( + <> + +
+ +
+
+ +

XStake

+

+ Investir em crypto não precisa ser difícil. +

+
+
+ + + +
+
+ + ) +} \ No newline at end of file diff --git a/app/javascript/src/pages/Home/index.ts b/app/javascript/src/pages/Home/index.ts new file mode 100644 index 0000000..ec87417 --- /dev/null +++ b/app/javascript/src/pages/Home/index.ts @@ -0,0 +1 @@ +export * from './Home' \ No newline at end of file diff --git a/app/javascript/src/pages/index.ts b/app/javascript/src/pages/index.ts new file mode 100644 index 0000000..ec87417 --- /dev/null +++ b/app/javascript/src/pages/index.ts @@ -0,0 +1 @@ +export * from './Home' \ No newline at end of file diff --git a/app/javascript/src/pages/index.tsx b/app/javascript/src/pages/index.tsx new file mode 100644 index 0000000..ec87417 --- /dev/null +++ b/app/javascript/src/pages/index.tsx @@ -0,0 +1 @@ +export * from './Home' \ No newline at end of file diff --git a/app/javascript/src/types/PoolConfig.ts b/app/javascript/src/types/PoolConfig.ts new file mode 100644 index 0000000..c979fa7 --- /dev/null +++ b/app/javascript/src/types/PoolConfig.ts @@ -0,0 +1,15 @@ +import type { Address, Token } from "../constants/pancake/Tokens"; +import type { PoolCategory } from "../constants/Pools"; + +export type PoolConfig = { + sousId: number; + earningToken: Token; + stakingToken: Token; + contractAddress: Address; + poolCategory: PoolCategory; + tokenPerBlock: string; + sortOrder?: number; + harvest?: boolean; + isFinished?: boolean; + enableEmergencyWithdraw?: boolean; +}; diff --git a/app/javascript/src/types/Token.ts b/app/javascript/src/types/Token.ts new file mode 100644 index 0000000..d6aa9fb --- /dev/null +++ b/app/javascript/src/types/Token.ts @@ -0,0 +1,5 @@ +export type Token = { + symbol: string; + address: string; + decimals: number; +}; diff --git a/app/javascript/src/types/index.ts b/app/javascript/src/types/index.ts new file mode 100644 index 0000000..aaadf39 --- /dev/null +++ b/app/javascript/src/types/index.ts @@ -0,0 +1,2 @@ +export * from "./Token"; +export * from "./PoolConfig"; diff --git a/app/javascript/stylesheets/tailwind.config.js b/app/javascript/stylesheets/tailwind.config.js index 62dfdaf..e9ffdea 100644 --- a/app/javascript/stylesheets/tailwind.config.js +++ b/app/javascript/stylesheets/tailwind.config.js @@ -1,11 +1,18 @@ +const defaultTheme = require("tailwindcss/defaultTheme"); + module.exports = { purge: [], darkMode: false, // or 'media' or 'class' theme: { - extend: {}, + extend: { + spacing: { + ...defaultTheme.spacing, + 'full': '100%', + } + }, }, variants: { extend: {}, }, plugins: [], -} +}; diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index c82ff68..32d043d 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -7,7 +7,15 @@ <%= csp_meta_tag %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + + + <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> + <%= javascript_pack_tag 'react', 'data-turbolinks-track': 'reload' %> diff --git a/babel.config.js b/babel.config.js index a9d858a..6c60010 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,9 +1,6 @@ module.exports = function(api) { var validEnv = ['development', 'test', 'production'] var currentEnv = api.env() - var isDevelopmentEnv = api.env('development') - var isProductionEnv = api.env('production') - var isTestEnv = api.env('test') if (!validEnv.includes(currentEnv)) { throw new Error( @@ -17,66 +14,33 @@ module.exports = function(api) { return { presets: [ - isTestEnv && [ - '@babel/preset-env', - { - targets: { - node: 'current' - }, - modules: 'commonjs' - }, - '@babel/preset-react' - ], - (isProductionEnv || isDevelopmentEnv) && [ - '@babel/preset-env', - { - forceAllTransforms: true, - useBuiltIns: 'entry', - corejs: 3, - modules: false, - exclude: ['transform-typeof-symbol'] - } - ], - [ - '@babel/preset-react', - { - development: isDevelopmentEnv || isTestEnv, - useBuiltIns: true - } - ], - ['@babel/preset-typescript', { 'allExtensions': true, 'isTSX': true }] - ].filter(Boolean), + '@babel/preset-env', + '@babel/preset-react', + '@babel/preset-typescript', + ], + env: { + test: { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: '12', + }, + modules: 'commonjs', + useBuiltIns: false, + debug: false, + } + ], + '@babel/preset-react', + 'jest' + ] + } + }, plugins: [ - 'babel-plugin-macros', '@babel/plugin-syntax-dynamic-import', - isTestEnv && 'babel-plugin-dynamic-import-node', - '@babel/plugin-transform-destructuring', - [ - '@babel/plugin-proposal-class-properties', - { - loose: true - } - ], - [ - '@babel/plugin-proposal-object-rest-spread', - { - useBuiltIns: true - } - ], - [ - '@babel/plugin-transform-runtime', - { - helpers: false, - regenerator: true, - corejs: false - } - ], - [ - '@babel/plugin-transform-regenerator', - { - async: false - } - ], - ].filter(Boolean) + '@babel/plugin-proposal-object-rest-spread', + '@babel/plugin-proposal-class-properties', + ], } } diff --git a/config/application.rb b/config/application.rb index bd05d0f..3af4639 100644 --- a/config/application.rb +++ b/config/application.rb @@ -20,6 +20,8 @@ require "sprockets/railtie" # you've limited to :test, :development, or :production. Bundler.require(*Rails.groups) +Dotenv::Railtie.load unless Rails.env.production? + module XStake class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. diff --git a/package.json b/package.json index 9265f63..99a8fe9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,11 @@ { "name": "x-stake", "private": true, + "scripts": { + "dev": "./bin/webpack-dev-server" + }, "dependencies": { + "@auth0/auth0-react": "^1.6.0", "@babel/preset-react": "^7.14.5", "@babel/preset-typescript": "^7.14.5", "@rails/actioncable": "^6.0.0", @@ -11,7 +15,9 @@ "@types/react": "^17.0.15", "@types/react-dom": "^17.0.9", "autoprefixer": "^9", + "classnames": "^2.3.1", "postcss": "^7", + "ramda": "^0.27.1", "react": "^17.0.2", "react-dom": "^17.0.2", "react-router-dom": "^5.2.0", @@ -23,7 +29,9 @@ }, "version": "0.1.0", "devDependencies": { + "@types/ramda": "^0.27.44", "@types/react-router-dom": "^5.1.8", + "dotenv-webpack": "^7.0.3", "webpack-dev-server": "^3.11.2" } } diff --git a/yarn.lock b/yarn.lock index 87b141b..34fc1de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,26 @@ # yarn lockfile v1 +"@auth0/auth0-react@^1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@auth0/auth0-react/-/auth0-react-1.6.0.tgz#9175d9d1ee3379aaaacfb6bed4640d56f239f59f" + integrity sha512-xjuNJnINMrJFbSpOSr9mjdVwfI9b+JbMKxoZy8R9Tmk3DGpBJ9eo69Im2RAeAWRISdrrxEZxNv9RAh9AQUvxEA== + dependencies: + "@auth0/auth0-spa-js" "^1.16.1" + +"@auth0/auth0-spa-js@^1.16.1": + version "1.16.1" + resolved "https://registry.yarnpkg.com/@auth0/auth0-spa-js/-/auth0-spa-js-1.16.1.tgz#fb35fe233bc1a39db5ce5694e75ed7a2779d5dbf" + integrity sha512-LosLwxKmLTVvy7dFwugVUwToRRwMetSgA8B+fHY0rq+hLtQr3mwZuEiu4T7NkmOzHTzGUWxLN38DkU6nYEG0Nw== + dependencies: + abortcontroller-polyfill "^1.7.1" + browser-tabs-lock "^1.2.13" + core-js "^3.11.0" + es-cookie "^1.3.2" + fast-text-encoding "^1.0.3" + promise-polyfill "^8.2.0" + unfetch "^4.2.0" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" @@ -1095,6 +1115,13 @@ resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== +"@types/ramda@^0.27.44": + version "0.27.44" + resolved "https://registry.yarnpkg.com/@types/ramda/-/ramda-0.27.44.tgz#ba2283d67fcff366f7e68bd5124a0466e467967f" + integrity sha512-SlEHKcLG36PlU+rLJwp8p4dpC9Hp/LiH6n0REX2m4iEB15PWe1qKQzgNSZrYKhTHDFvkeEM/F2gcYwfighsEuQ== + dependencies: + ts-toolbelt "^6.15.1" + "@types/react-dom@^17.0.9": version "17.0.9" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.9.tgz#441a981da9d7be117042e1a6fd3dac4b30f55add" @@ -1288,6 +1315,11 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== +abortcontroller-polyfill@^1.7.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz#1b5b487bd6436b5b764fd52a612509702c3144b5" + integrity sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q== + accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -1704,6 +1736,13 @@ brorand@^1.0.1, brorand@^1.1.0: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= +browser-tabs-lock@^1.2.13: + version "1.2.14" + resolved "https://registry.yarnpkg.com/browser-tabs-lock/-/browser-tabs-lock-1.2.14.tgz#f4ba30810d20199a1858c102da1f91e339250728" + integrity sha512-ssSpCRcvFe4vc098LDnrJOQDfZiG35KhQGB9hthTbwJk5mmUkePwhcMlW61NH3YuIE2Y9uGLqf9yxEBKbaDlaw== + dependencies: + lodash ">=4.17.21" + browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" @@ -2020,6 +2059,11 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" +classnames@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" + integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -2231,7 +2275,7 @@ core-js-compat@^3.14.0, core-js-compat@^3.16.0: browserslist "^4.16.6" semver "7.0.0" -core-js@^3.12.1: +core-js@^3.11.0, core-js@^3.12.1: version "3.16.0" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.16.0.tgz#1d46fb33720bc1fa7f90d20431f36a5540858986" integrity sha512-5+5VxRFmSf97nM8Jr2wzOwLqRo6zphH2aX+7KsAUONObyzakDNq2G/bgbhinxB4PoV9L3aXQYhiDKyIKWd2c8g== @@ -2739,6 +2783,25 @@ dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" +dotenv-defaults@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz#6b3ec2e4319aafb70940abda72d3856770ee77ac" + integrity sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg== + dependencies: + dotenv "^8.2.0" + +dotenv-webpack@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-7.0.3.tgz#f50ec3c7083a69ec6076e110566720003b7b107b" + integrity sha512-O0O9pOEwrk+n1zzR3T2uuXRlw64QxHSPeNN1GaiNBloQFNaCUL9V8jxSVz4jlXXFP/CIqK8YecWf8BAvsSgMjw== + dependencies: + dotenv-defaults "^2.0.2" + +dotenv@^8.2.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" @@ -2845,6 +2908,11 @@ es-abstract@^1.17.2, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.1" +es-cookie@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/es-cookie/-/es-cookie-1.3.2.tgz#80e831597f72a25721701bdcb21d990319acd831" + integrity sha512-UTlYYhXGLOy05P/vKVT2Ui7WtC7NiRzGtJyAKKn32g5Gvcjn7KAClLPWlipCtxIus934dFg9o9jXiBL0nP+t9Q== + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -3053,6 +3121,11 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== +fast-text-encoding@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz#ec02ac8e01ab8a319af182dae2681213cfe9ce53" + integrity sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig== + fastq@^1.6.0: version "1.11.1" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.1.tgz#5d8175aae17db61947f8b162cfc7f63264d22807" @@ -4258,7 +4331,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.21, lodash@^4.17.5: +lodash@>=4.17.21, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.21, lodash@^4.17.5: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -5840,6 +5913,11 @@ promise-inflight@^1.0.1: resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= +promise-polyfill@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.2.0.tgz#367394726da7561457aba2133c9ceefbd6267da0" + integrity sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g== + prop-types@^15.6.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" @@ -5967,6 +6045,11 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== +ramda@^0.27.1: + version "0.27.1" + resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9" + integrity sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw== + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -7075,6 +7158,11 @@ ts-pnp@^1.1.6: resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== +ts-toolbelt@^6.15.1: + version "6.15.5" + resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz#cb3b43ed725cb63644782c64fbcad7d8f28c0a83" + integrity sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A== + tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" @@ -7113,6 +7201,11 @@ unbox-primitive@^1.0.1: has-symbols "^1.0.2" which-boxed-primitive "^1.0.2" +unfetch@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" + integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== + unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"