From 8ee44595efeb676cdc7777217b1c3f1642e123e5 Mon Sep 17 00:00:00 2001 From: jefedcreator Date: Thu, 8 Sep 2022 14:46:06 +0100 Subject: [PATCH 01/11] updates --- src/App.js | 74 ++++++++++++- src/components/Navbar_module/Navbar.jsx | 23 +++- src/pages/Home/Card.js | 2 +- src/pages/Home/HomePage.jsx | 138 ++++++++++++++++++++++-- src/pages/Home/Modal.js | 25 ++++- src/stakeAbi.json | 1 + src/tokenAbi.json | 1 + src/value.json | 6 ++ 8 files changed, 255 insertions(+), 15 deletions(-) create mode 100644 src/stakeAbi.json create mode 100644 src/tokenAbi.json create mode 100644 src/value.json diff --git a/src/App.js b/src/App.js index c60ca3b..85fda80 100644 --- a/src/App.js +++ b/src/App.js @@ -2,19 +2,89 @@ import './App.css'; import Navbar from './components/Navbar_module/Navbar'; import { Route, BrowserRouter as Router, Routes } from "react-router-dom"; import Home from './pages/Home/Home'; +import "@rainbow-me/rainbowkit/dist/index.css"; +import { getDefaultWallets, RainbowKitProvider } from "@rainbow-me/rainbowkit"; +import CloseIcon from '@mui/icons-material/Close'; +import { alchemyProvider } from "wagmi/providers/alchemy"; +import { publicProvider } from "wagmi/providers/public"; +import { darkTheme } from "@rainbow-me/rainbowkit"; +import { chain, configureChains, createClient, WagmiConfig } from "wagmi"; function App() { + const BSCchain = { + id: 97, + name: "BSC test", + network: "BSC test", + iconUrl: "https://www.logo.wine/a/logo/Binance/Binance-Icon-Logo.wine.svg", + iconBackground: "#fff", + nativeCurrency: { + decimals: 18, + name: "Binance Smart Chain", + symbol: "BNB", + }, + rpcUrls: { + default: "https://bsctestapi.terminet.io/rpc", + }, + blockExplorers: { + default: { name: "SnowTrace", url: "https://bscscan.com" }, + etherscan: { name: "SnowTrace", url: "https://bscscan.com" }, + }, + testnet: false, + }; + + const Avaxchain = { + id: 43114, + name: "Avalanche Network", + network: "Avalanche Network", + iconUrl: "https://cryptologos.cc/logos/avalanche-avax-logo.png", + iconBackground: "#fff", + nativeCurrency: { + decimals: 18, + name: "Avalanche", + symbol: "AVAX", + }, + rpcUrls: { + default: "https://rpc.ankr.com/avalanche", + }, + blockExplorers: { + default: { name: "SnowTrace", url: "https://snowtrace.io/" }, + etherscan: { name: "SnowTrace", url: "https://snowtrace.io/" }, + }, + testnet: false, + }; + + const { chains, provider } = configureChains( + [Avaxchain, BSCchain, chain.mainnet, chain.polygon, chain.optimism, chain.arbitrum], + [alchemyProvider({ alchemyId: process.env.ALCHEMY_ID }), publicProvider()] + ); + + const { connectors } = getDefaultWallets({ + appName: "baby-cracken", + chains, + }); + const wagmiClient = createClient({ + autoConnect: true, + connectors, + provider, + }); + return ( <> - - + + +
} />
+
+
); } diff --git a/src/components/Navbar_module/Navbar.jsx b/src/components/Navbar_module/Navbar.jsx index c510e10..9155291 100644 --- a/src/components/Navbar_module/Navbar.jsx +++ b/src/components/Navbar_module/Navbar.jsx @@ -1,8 +1,14 @@ import React, { useState } from "react"; import logo from "../../images/logo.png"; import './Navbar.css'; +import { ethers } from 'ethers'; import { GiHamburgerMenu } from "react-icons/gi"; import { NavLink } from "react-router-dom"; +import { ConnectButton } from '@rainbow-me/rainbowkit'; +import {useSigner, useProvider} from 'wagmi' +import tokenAbi from '../../tokenAbi.json' +import stakingAbi from '../../stakeAbi.json' +import value from '../../value.json' const Navbar = () => { const [isOpen, setOpen] = useState(false); @@ -12,6 +18,20 @@ const [active, setActive] = useState("1"); setActive(event.target.id); }; + const { data: signer, isError, isLoading } = useSigner() + const provider = useProvider(); + + const staking = new ethers.Contract( + value.stakingAddress, + stakingAbi, + signer, + ) + const token = new ethers.Contract( + value.stakingToken, + tokenAbi, + signer, + ) + return (