diff --git a/README.md b/README.md index 6b601cc..1dd1e28 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # DXstats -Transaction and liquidity pool stats for [Honeyswap](https://app.honeyswap.org). +Transaction and liquidity pool stats for [Baoswap](https://www.baoswap.xyz/). -Check it out live: [https://dxstats.eth.link](https://info.honeyswap.org). +Check it out live: [https://dxstats.eth.link](https://info.baoswap.org). ### To Start Development diff --git a/public/index.html b/public/index.html index 98b4d2e..66b1a53 100644 --- a/public/index.html +++ b/public/index.html @@ -1,21 +1,22 @@ - - - - - - - - + + - + - - - Honeyswap Analytics - - - -
- - - + + + \ No newline at end of file diff --git a/public/manifest.json b/public/manifest.json index bc0b0f0..5ea22df 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,6 +1,6 @@ { - "short_name": "Honeyswap Analytics", - "name": "View statistics for Honeyswap exchanges.", + "short_name": "Baoswap Analytics", + "name": "View statistics for Baoswap exchanges.", "icons": [ { "src": "favicon.ico", diff --git a/src/Theme/index.js b/src/Theme/index.js index 26e43e4..d61bd76 100644 --- a/src/Theme/index.js +++ b/src/Theme/index.js @@ -34,31 +34,31 @@ const theme = (darkMode, color) => ({ shadowColor: darkMode ? "#000" : "#2F80ED", mercuryGray: darkMode ? "#333333" : "#E1E1E1", - text1: darkMode ? "#FAFAFA" : "#1F1F1F", - text2: darkMode ? "#C3C5CB" : "#565A69", - text3: darkMode ? "#6C7284" : "#888D9B", - text4: darkMode ? "#565A69" : "#C3C5CB", + text1: darkMode ? "#50251c" : "#1F1F1F", + text2: darkMode ? "#C3C5CB" : "#50251c", + text3: darkMode ? "#a29b91" : "#888D9B", + text4: darkMode ? "#ce6509" : "#C3C5CB", text5: darkMode ? "#2C2F36" : "#EDEEF2", // special case text types white: "#FFFFFF", // backgrounds / greys - bg1: darkMode ? "#212429" : "#FAFAFA", + bg1: darkMode ? "rgb(240, 233, 231)" : "#FAFAFA", bg2: darkMode ? "#2C2F36" : "#F7F8FA", - bg3: darkMode ? "#40444F" : "#EDEEF2", - bg4: darkMode ? "#565A69" : "#CED0D9", - bg5: darkMode ? "#565A69" : "#888D9B", - bg6: darkMode ? "#000" : "#FFFFFF", + bg3: darkMode ? "#a29b91" : "#EDEEF2", + bg4: darkMode ? "#50251c" : "#CED0D9", + bg5: darkMode ? "#50251c" : "#888D9B", + bg6: darkMode ? "rgb(240, 233, 231)" : "#FFFFFF", //specialty colors modalBG: darkMode ? "rgba(0,0,0,0.85)" : "rgba(0,0,0,0.6)", - advancedBG: darkMode ? "rgba(0,0,0,0.1)" : "rgba(255,255,255,0.4)", - onlyLight: darkMode ? "#22242a" : "transparent", + advancedBG: darkMode ? "rgb(240, 233, 231)" : "rgba(255,255,255,0.4)", + onlyLight: darkMode ? "#fff8ee" : "transparent", divider: darkMode ? "rgba(43, 43, 43, 0.435)" : "rgba(43, 43, 43, 0.035)", //primary colors - primary1: darkMode ? "#2172E5" : "#7CE0D6", + primary1: darkMode ? "#ce6509" : "#7CE0D6", primary2: darkMode ? "#3680E7" : "#FF8CC3", primary3: darkMode ? "#4D8FEA" : "#FF99C9", primary4: darkMode ? "#376bad70" : "#F6DDE8", @@ -68,7 +68,7 @@ const theme = (darkMode, color) => ({ primaryText1: darkMode ? "#6da8ff" : "#7CE0D6", // secondary colors - secondary1: darkMode ? "#2172E5" : "#7CE0D6", + secondary1: darkMode ? "#ce6509" : "#7CE0D6", secondary2: darkMode ? "#17000b26" : "#F6DDE8", secondary3: darkMode ? "#17000b26" : "#FDEAF1", @@ -79,7 +79,7 @@ const theme = (darkMode, color) => ({ green1: "#27AE60", yellow1: "#FFE270", yellow2: "#F3841E", - link: "#2172E5", + link: "#ce6509", blue: "2f80ed", background: darkMode @@ -247,8 +247,9 @@ export const GlobalStyle = createGlobalStyle` html { - font-size: 1rem; + font-size: 1em; font-variant: none; + font-family: 'Montserrat',sans-serif; color: 'black'; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; diff --git a/src/apollo/client.js b/src/apollo/client.js index 669741d..0259a5e 100644 --- a/src/apollo/client.js +++ b/src/apollo/client.js @@ -14,14 +14,14 @@ export const clients = { // }), [SupportedNetwork.XDAI]: new ApolloClient({ link: new HttpLink({ - uri: "https://api.thegraph.com/subgraphs/name/1hive/honeyswap-xdai", + uri: "https://api.thegraph.com/subgraphs/name/vitalsine85/baoswap", }), cache: new InMemoryCache(), shouldBatch: true, }), [SupportedNetwork.MATIC]: new ApolloClient({ link: new HttpLink({ - uri: "https://api.thegraph.com/subgraphs/name/1hive/honeyswap-polygon", + uri: "https://api.thegraph.com/subgraphs/name/1hive/baoswap-polygon", }), cache: new InMemoryCache(), shouldBatch: true, diff --git a/src/apollo/queries.js b/src/apollo/queries.js index cb572f0..847dec5 100644 --- a/src/apollo/queries.js +++ b/src/apollo/queries.js @@ -3,13 +3,13 @@ import { BUNDLE_ID, FACTORY_ADDRESS, SupportedNetwork } from "../constants"; const FACTORY_STARTING_BLOCK = { // [FACTORY_ADDRESS[SupportedNetwork.MAINNET]]: 10000000, - [FACTORY_ADDRESS[SupportedNetwork.XDAI]]: 11813490, - [FACTORY_ADDRESS[SupportedNetwork.MATIC]]: 14599890, + [FACTORY_ADDRESS[SupportedNetwork.XDAI]]: 14515972, + // [FACTORY_ADDRESS[SupportedNetwork.MATIC]]: 14599890, }; export const SUBGRAPH_HEALTH = gql` query health { - indexingStatusForCurrentVersion(subgraphName: "1hive/honeyswap-xdai") { + indexingStatusForCurrentVersion(subgraphName: "vitalsine85/baoswap") { synced health chains { @@ -42,9 +42,8 @@ export const GET_BLOCK = gql` export const GET_BLOCKS = (timestamps) => { let queryString = "query blocks {"; queryString += timestamps.map((timestamp) => { - return `t${timestamp}:blocks(first: 1, orderBy: timestamp, orderDirection: desc, where: { timestamp_gt: ${timestamp}, timestamp_lt: ${ - timestamp + 600 - } }) { + return `t${timestamp}:blocks(first: 1, orderBy: timestamp, orderDirection: desc, where: { timestamp_gt: ${timestamp}, timestamp_lt: ${timestamp + 600 + } }) { number }`; }); @@ -405,8 +404,8 @@ export const PAIR_DAY_DATA_BULK = (pairs, startTimestamp) => { }; export const GLOBAL_CHART = gql` - query honeyswapDayDatas($startTime: Int!, $skip: Int!) { - honeyswapDayDatas( + query baoswapDayDatas($startTime: Int!, $skip: Int!) { + baoswapDayDatas( first: 1000 skip: $skip where: { date_gt: $startTime } @@ -425,17 +424,15 @@ export const GLOBAL_CHART = gql` `; export const GLOBAL_DATA = (factoryAddress, block) => { - const queryString = ` query honeyswapFactories { - honeyswapFactories( - ${ - block - ? `block: { number: ${ - block > FACTORY_STARTING_BLOCK[factoryAddress] - ? block - : FACTORY_STARTING_BLOCK[factoryAddress] - }}` - : `` - } + const queryString = ` query baoswapFactories { + baoswapFactories( + ${block + ? `block: { number: ${block > FACTORY_STARTING_BLOCK[factoryAddress] + ? block + : FACTORY_STARTING_BLOCK[factoryAddress] + }}` + : `` + } where: { id: "${factoryAddress}" }) { id totalVolumeUSD @@ -682,9 +679,8 @@ export const PAIR_DATA = (pairAddress, block) => { const queryString = ` ${PairFields} query pairs { - pairs(${ - block ? `block: {number: ${block}}` : `` - } where: { id: "${pairAddress}"} ) { + pairs(${block ? `block: {number: ${block}}` : `` + } where: { id: "${pairAddress}"} ) { ...PairFields } }`; @@ -809,9 +805,8 @@ export const TOKEN_DATA = (tokenAddress, block) => { const queryString = ` ${TokenFields} query tokens { - tokens(${ - block ? `block : {number: ${block}}` : `` - } where: {id:"${tokenAddress}"}) { + tokens(${block ? `block : {number: ${block}}` : `` + } where: {id:"${tokenAddress}"}) { ...TokenFields } pairs0: pairs(where: {token0: "${tokenAddress}"}, first: 50, orderBy: reserveUSD, orderDirection: desc){ diff --git a/src/assets/bao-logo.png b/src/assets/bao-logo.png new file mode 100644 index 0000000..09cd7d5 Binary files /dev/null and b/src/assets/bao-logo.png differ diff --git a/src/assets/bao.svg b/src/assets/bao.svg new file mode 100644 index 0000000..bd3b448 --- /dev/null +++ b/src/assets/bao.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/baoswap-logo.svg b/src/assets/baoswap-logo.svg new file mode 100644 index 0000000..655060e --- /dev/null +++ b/src/assets/baoswap-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/bee.svg b/src/assets/bee.svg deleted file mode 100644 index bf5150f..0000000 --- a/src/assets/bee.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/src/assets/hny-logo.png b/src/assets/hny-logo.png deleted file mode 100644 index a6e9b6c..0000000 Binary files a/src/assets/hny-logo.png and /dev/null differ diff --git a/src/assets/honeyswap-logo.svg b/src/assets/honeyswap-logo.svg deleted file mode 100644 index dac625b..0000000 --- a/src/assets/honeyswap-logo.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/assets/wordmark_white.svg b/src/assets/wordmark_white.svg index 775a4d2..521dcd6 100644 --- a/src/assets/wordmark_white.svg +++ b/src/assets/wordmark_white.svg @@ -1,3 +1,67 @@ - - + + + + + + + + + + + + + + + + + + diff --git a/src/components/Attribution/index.js b/src/components/Attribution/index.js index 3810874..f1833c6 100644 --- a/src/components/Attribution/index.js +++ b/src/components/Attribution/index.js @@ -3,15 +3,15 @@ import React from "react"; const Attribution = () => (

Github {" "} |{" "} - - Honeyswap + + Baoswap {" "}

); diff --git a/src/components/CandleChart/index.js b/src/components/CandleChart/index.js index dcc3282..8f6c131 100644 --- a/src/components/CandleChart/index.js +++ b/src/components/CandleChart/index.js @@ -62,7 +62,7 @@ const CandleStickChart = ({ const dataPrev = usePrevious(data) const [darkMode] = useDarkModeManager() - const textColor = darkMode ? 'white' : 'black' + const textColor = darkMode ? '#50251c' : 'black' const previousTheme = usePrevious(darkMode) // reset the chart if theme switches diff --git a/src/components/Footer/index.js b/src/components/Footer/index.js index 8849b39..9659992 100644 --- a/src/components/Footer/index.js +++ b/src/components/Footer/index.js @@ -5,7 +5,7 @@ import Link from "../Link"; const links = [ { url: "https://1hive.org", text: "About" }, - { url: "https://github.com/1Hive/honeyswap-info", text: "Code" }, + { url: "https://github.com/1Hive/baoswap-info", text: "Code" }, ]; const FooterLink = ({ children, ...rest }) => ( diff --git a/src/components/GlobalChart/index.js b/src/components/GlobalChart/index.js index 8668180..6d41182 100644 --- a/src/components/GlobalChart/index.js +++ b/src/components/GlobalChart/index.js @@ -86,7 +86,7 @@ const GlobalChart = ({ display }) => { options={CHART_VIEW} active={chartView} setActive={setChartView} - color={"#4526A2"} + color={"#ce6509"} /> )} diff --git a/src/components/Panel/index.js b/src/components/Panel/index.js index 6a493a2..c8e0b41 100644 --- a/src/components/Panel/index.js +++ b/src/components/Panel/index.js @@ -26,9 +26,9 @@ const Panel = styled(RebassBox)` display: flex; flex-direction: column; justify-content: flex-start; - border-radius: 8px; - border: 1px solid ${({ theme }) => theme.bg3}; - box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.05); /* box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.01), 0px 4px 8px rgba(0, 0, 0, 0.01), 0px 16px 24px rgba(0, 0, 0, 0.01), 0px 24px 32px rgba(0, 0, 0, 0.01); */ + border-radius: 0.625rem; + border: 1px solid rgb(226, 214, 207); + box-shadow: rgb(247 244 242) 1px 1px 0px inset; :hover { cursor: ${({ hover }) => hover && 'pointer'}; border: ${({ hover, theme }) => hover && '1px solid' + theme.bg5}; diff --git a/src/components/Search/index.js b/src/components/Search/index.js index 0f02cdf..30212dd 100644 --- a/src/components/Search/index.js +++ b/src/components/Search/index.js @@ -21,7 +21,7 @@ import { PAIR_SEARCH, TOKEN_SEARCH } from "../../apollo/queries"; import FormattedName from "../FormattedName"; import { TYPE } from "../../Theme"; import { updateNameData } from "../../utils/data"; -import { useHoneyswapSubgraphClient } from "../../contexts/Network"; +import { useBaoswapSubgraphClient } from "../../contexts/Network"; const Container = styled.div` height: 48px; @@ -40,6 +40,7 @@ const Wrapper = styled.div` align-items: center; justify-content: flex-end; padding: 12px 16px; + border: 1px solid rgb(226, 214, 207); border-radius: 12px; background: ${({ theme, small, open }) => small @@ -53,16 +54,9 @@ const Wrapper = styled.div` width: 100%; min-width: 300px; box-sizing: border-box; - box-shadow: ${({ open, small }) => - !open && !small - ? "0px 24px 32px rgba(0, 0, 0, 0.04), 0px 16px 24px rgba(0, 0, 0, 0.04), 0px 4px 8px rgba(0, 0, 0, 0.04), 0px 0px 1px rgba(0, 0, 0, 0.04) " - : "none"}; + box-shadow: rgb(247 244 242) 1px 1px 0px inset; @media screen and (max-width: 500px) { background: ${({ theme }) => transparentize(0.4, theme.bg1)}; - box-shadow: ${({ open }) => - !open - ? "0px 24px 32px rgba(0, 0, 0, 0.04), 0px 16px 24px rgba(0, 0, 0, 0.04), 0px 4px 8px rgba(0, 0, 0, 0.04), 0px 0px 1px rgba(0, 0, 0, 0.04) " - : "none"}; } `; const Input = styled.input` @@ -122,10 +116,11 @@ const Menu = styled.div` left: 0; padding-bottom: 20px; background: ${({ theme }) => theme.bg6}; + border: 1px solid rgb(226, 214, 207); border-bottom-right-radius: 12px; border-bottom-left-radius: 12px; box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.04), 0px 4px 8px rgba(0, 0, 0, 0.04), - 0px 16px 24px rgba(0, 0, 0, 0.04), 0px 24px 32px rgba(0, 0, 0, 0.04); + 0px 16px 24px rgba(0, 0, 0, 0.04), 0px 24px 32px rgba(0, 0, 0, 0.04), rgb(247 244 242) 1px 1px 0px inset; display: ${({ hide }) => hide && "none"}; `; @@ -158,7 +153,7 @@ const Blue = styled.span` `; export const Search = ({ small = false }) => { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); let allTokens = useAllTokensInSwapr(); const allTokenData = useAllTokenData(); @@ -283,132 +278,132 @@ export const Search = ({ small = false }) => { const filteredTokenList = useMemo(() => { return uniqueTokens ? uniqueTokens - .sort((a, b) => { - if (OVERVIEW_TOKEN_BLACKLIST.includes(a.id)) { - return 1; - } - if (OVERVIEW_TOKEN_BLACKLIST.includes(b.id)) { - return -1; - } - const tokenA = allTokenData[a.id]; - const tokenB = allTokenData[b.id]; - if (tokenA?.oneDayVolumeUSD && tokenB?.oneDayVolumeUSD) { - return tokenA.oneDayVolumeUSD > tokenB.oneDayVolumeUSD ? -1 : 1; - } - if (tokenA?.oneDayVolumeUSD && !tokenB?.oneDayVolumeUSD) { - return -1; + .sort((a, b) => { + if (OVERVIEW_TOKEN_BLACKLIST.includes(a.id)) { + return 1; + } + if (OVERVIEW_TOKEN_BLACKLIST.includes(b.id)) { + return -1; + } + const tokenA = allTokenData[a.id]; + const tokenB = allTokenData[b.id]; + if (tokenA?.oneDayVolumeUSD && tokenB?.oneDayVolumeUSD) { + return tokenA.oneDayVolumeUSD > tokenB.oneDayVolumeUSD ? -1 : 1; + } + if (tokenA?.oneDayVolumeUSD && !tokenB?.oneDayVolumeUSD) { + return -1; + } + if (!tokenA?.oneDayVolumeUSD && tokenB?.oneDayVolumeUSD) { + return tokenA?.totalLiquidity > tokenB?.totalLiquidity ? -1 : 1; + } + return 1; + }) + .filter((token) => { + if (OVERVIEW_TOKEN_BLACKLIST.includes(token.id)) { + return false; + } + const regexMatches = Object.keys(token).map((tokenEntryKey) => { + const isAddress = value.slice(0, 2) === "0x"; + if (tokenEntryKey === "id" && isAddress) { + return token[tokenEntryKey].match( + new RegExp(escapeRegExp(value), "i") + ); } - if (!tokenA?.oneDayVolumeUSD && tokenB?.oneDayVolumeUSD) { - return tokenA?.totalLiquidity > tokenB?.totalLiquidity ? -1 : 1; + if (tokenEntryKey === "symbol" && !isAddress) { + return token[tokenEntryKey].match( + new RegExp(escapeRegExp(value), "i") + ); } - return 1; - }) - .filter((token) => { - if (OVERVIEW_TOKEN_BLACKLIST.includes(token.id)) { - return false; + if (tokenEntryKey === "name" && !isAddress) { + return token[tokenEntryKey].match( + new RegExp(escapeRegExp(value), "i") + ); } - const regexMatches = Object.keys(token).map((tokenEntryKey) => { - const isAddress = value.slice(0, 2) === "0x"; - if (tokenEntryKey === "id" && isAddress) { - return token[tokenEntryKey].match( - new RegExp(escapeRegExp(value), "i") - ); - } - if (tokenEntryKey === "symbol" && !isAddress) { - return token[tokenEntryKey].match( - new RegExp(escapeRegExp(value), "i") - ); - } - if (tokenEntryKey === "name" && !isAddress) { - return token[tokenEntryKey].match( - new RegExp(escapeRegExp(value), "i") - ); - } - return false; - }); - return regexMatches.some((m) => m); - }) + return false; + }); + return regexMatches.some((m) => m); + }) : []; }, [allTokenData, uniqueTokens, value]); const filteredPairList = useMemo(() => { return uniquePairs ? uniquePairs - .sort((a, b) => { - const pairA = allPairData[a.id]; - const pairB = allPairData[b.id]; - if ( - pairA?.trackedReserveNativeCurrency && - pairB?.trackedReserveNativeCurrency - ) { - return parseFloat(pairA.trackedReserveNativeCurrency) > - parseFloat(pairB.trackedReserveNativeCurrency) - ? -1 - : 1; - } - if ( - pairA?.trackedReserveNativeCurrency && - !pairB?.trackedReserveNativeCurrency - ) { - return -1; - } - if ( - !pairA?.trackedReserveNativeCurrency && - pairB?.trackedReserveNativeCurrency - ) { - return 1; - } - return 0; - }) - .filter((pair) => { - if (PAIR_BLACKLIST.includes(pair.id)) { - return false; + .sort((a, b) => { + const pairA = allPairData[a.id]; + const pairB = allPairData[b.id]; + if ( + pairA?.trackedReserveNativeCurrency && + pairB?.trackedReserveNativeCurrency + ) { + return parseFloat(pairA.trackedReserveNativeCurrency) > + parseFloat(pairB.trackedReserveNativeCurrency) + ? -1 + : 1; + } + if ( + pairA?.trackedReserveNativeCurrency && + !pairB?.trackedReserveNativeCurrency + ) { + return -1; + } + if ( + !pairA?.trackedReserveNativeCurrency && + pairB?.trackedReserveNativeCurrency + ) { + return 1; + } + return 0; + }) + .filter((pair) => { + if (PAIR_BLACKLIST.includes(pair.id)) { + return false; + } + if (value && value.includes(" ")) { + const pairA = value.split(" ")[0]?.toUpperCase(); + const pairB = value.split(" ")[1]?.toUpperCase(); + return ( + (pair.token0.symbol.includes(pairA) || + pair.token0.symbol.includes(pairB)) && + (pair.token1.symbol.includes(pairA) || + pair.token1.symbol.includes(pairB)) + ); + } + if (value && value.includes("-")) { + const pairA = value.split("-")[0]?.toUpperCase(); + const pairB = value.split("-")[1]?.toUpperCase(); + return ( + (pair.token0.symbol.includes(pairA) || + pair.token0.symbol.includes(pairB)) && + (pair.token1.symbol.includes(pairA) || + pair.token1.symbol.includes(pairB)) + ); + } + const regexMatches = Object.keys(pair).map((field) => { + const isAddress = value.slice(0, 2) === "0x"; + if (field === "id" && isAddress) { + return pair[field].match(new RegExp(escapeRegExp(value), "i")); } - if (value && value.includes(" ")) { - const pairA = value.split(" ")[0]?.toUpperCase(); - const pairB = value.split(" ")[1]?.toUpperCase(); + if (field === "token0") { return ( - (pair.token0.symbol.includes(pairA) || - pair.token0.symbol.includes(pairB)) && - (pair.token1.symbol.includes(pairA) || - pair.token1.symbol.includes(pairB)) + pair[field].symbol.match( + new RegExp(escapeRegExp(value), "i") + ) || + pair[field].name.match(new RegExp(escapeRegExp(value), "i")) ); } - if (value && value.includes("-")) { - const pairA = value.split("-")[0]?.toUpperCase(); - const pairB = value.split("-")[1]?.toUpperCase(); + if (field === "token1") { return ( - (pair.token0.symbol.includes(pairA) || - pair.token0.symbol.includes(pairB)) && - (pair.token1.symbol.includes(pairA) || - pair.token1.symbol.includes(pairB)) + pair[field].symbol.match( + new RegExp(escapeRegExp(value), "i") + ) || + pair[field].name.match(new RegExp(escapeRegExp(value), "i")) ); } - const regexMatches = Object.keys(pair).map((field) => { - const isAddress = value.slice(0, 2) === "0x"; - if (field === "id" && isAddress) { - return pair[field].match(new RegExp(escapeRegExp(value), "i")); - } - if (field === "token0") { - return ( - pair[field].symbol.match( - new RegExp(escapeRegExp(value), "i") - ) || - pair[field].name.match(new RegExp(escapeRegExp(value), "i")) - ); - } - if (field === "token1") { - return ( - pair[field].symbol.match( - new RegExp(escapeRegExp(value), "i") - ) || - pair[field].name.match(new RegExp(escapeRegExp(value), "i")) - ); - } - return false; - }); - return regexMatches.some((m) => m); - }) + return false; + }); + return regexMatches.some((m) => m); + }) : []; }, [allPairData, uniquePairs, value]); @@ -471,12 +466,12 @@ export const Search = ({ small = false }) => { small ? "" : below410 - ? "Search..." - : below470 - ? "Search Honeyswap..." - : below700 - ? "Search pairs and tokens..." - : "Search Honeyswap pairs and tokens..." + ? "Search..." + : below470 + ? "Search Baoswap..." + : below700 + ? "Search pairs and tokens..." + : "Search Baoswap pairs and tokens..." } value={value} onChange={(e) => { diff --git a/src/components/SideNav/index.js b/src/components/SideNav/index.js index d6c7e91..1ce27f4 100644 --- a/src/components/SideNav/index.js +++ b/src/components/SideNav/index.js @@ -19,7 +19,7 @@ import { SupportedNetwork } from "../../constants"; const Wrapper = styled.div` height: ${({ isMobile }) => (isMobile ? "initial" : "100vh")}; - background-color: ${({ theme }) => transparentize(0.4, theme.bg1)}; + background-color: ${({ theme }) => transparentize(0.4, '#50251c')}; color: ${({ theme }) => theme.text1}; padding: 0.5rem 0.5rem 0.5rem 0.75rem; position: sticky; @@ -27,7 +27,6 @@ const Wrapper = styled.div` z-index: 9999; box-sizing: border-box; /* background-color: #1b1c22; */ - background: linear-gradient(193.68deg, #1b1c22 0.68%, #000000 100.48%); color: ${({ theme }) => theme.bg2}; @media screen and (max-width: 800px) { @@ -130,11 +129,11 @@ function SideNav({ history }) { style={{ marginLeft: ".75rem", marginTop: "1.5rem" }} > - <DropdownSelect + {/* <DropdownSelect active={selectedNetwork} setActive={handleSelectedNetworkChange} options={Object.values(SupportedNetwork)} - /> + /> */} {!below1080 && ( <AutoColumn gap="1.25rem" style={{ marginTop: "1rem" }}> <BasicLink to="/home"> @@ -177,7 +176,7 @@ function SideNav({ history }) { activeText={ (history.location.pathname.split("/")[1] === "accounts" || history.location.pathname.split("/")[1] === - "account") ?? + "account") ?? undefined } > @@ -193,12 +192,12 @@ function SideNav({ history }) { style={{ marginLeft: ".75rem", marginBottom: "4rem" }} > <HeaderText> - <Link href="https://1hive.org" target="_blank"> - 1Hive + <Link href="https://docs.bao.finance" target="_blank"> + Docs </Link> </HeaderText> <HeaderText> - <Link href="https://twitter.com/1HiveOrg" target="_blank"> + <Link href="https://twitter.com/thebaoman" target="_blank"> Twitter </Link> </HeaderText> diff --git a/src/components/Title/index.js b/src/components/Title/index.js index 70998e4..4f8bdde 100644 --- a/src/components/Title/index.js +++ b/src/components/Title/index.js @@ -5,7 +5,7 @@ import styled from 'styled-components' import { Flex } from 'rebass' import Link from '../Link' import { RowFixed } from '../Row' -import Logo from '../../assets/honeyswap-logo.svg' +import Logo from '../../assets/baoswap-logo.svg' import Wordmark from '../../assets/wordmark_white.svg' const TitleWrapper = styled.div` @@ -33,9 +33,9 @@ export default function Title() { <Flex alignItems="center"> <RowFixed> <UniIcon id="link" onClick={() => history.push('/')}> - <img width={'24px'} src={Logo} alt="logo" /> + <img width={'32px'} src={Logo} alt="logo" /> </UniIcon> - <img width={'84px'} style={{ marginLeft: '8px', marginTop: '0px' }} src={Wordmark} alt="logo" /> + <img width={'120px'} style={{ marginLeft: '8px', marginTop: '0px' }} src={Wordmark} alt="logo" /> </RowFixed> </Flex> </TitleWrapper> diff --git a/src/components/TokenChart/index.js b/src/components/TokenChart/index.js index 1024604..5a3a3c8 100644 --- a/src/components/TokenChart/index.js +++ b/src/components/TokenChart/index.js @@ -48,7 +48,7 @@ const TokenChart = ({ address, color, base }) => { const [frequency, setFrequency] = useState(DATA_FREQUENCY.HOUR) const [darkMode] = useDarkModeManager() - const textColor = darkMode ? 'white' : 'black' + const textColor = darkMode ? '#50251c' : 'black' // reset view on new address const addressPrev = usePrevious(address) @@ -74,18 +74,18 @@ const TokenChart = ({ address, color, base }) => { const priceData = timeWindow === timeframeOptions.MONTH ? // monthly selected - frequency === DATA_FREQUENCY.DAY + frequency === DATA_FREQUENCY.DAY ? dailyMonth : hourlyMonth : // weekly selected timeWindow === timeframeOptions.WEEK - ? frequency === DATA_FREQUENCY.DAY - ? dailyWeek - : hourlyWeek - : // all time selected - frequency === DATA_FREQUENCY.DAY - ? dailyAll - : hourlyAll + ? frequency === DATA_FREQUENCY.DAY + ? dailyWeek + : hourlyWeek + : // all time selected + frequency === DATA_FREQUENCY.DAY + ? dailyAll + : hourlyAll // switch to hourly data when switched to week window useEffect(() => { @@ -139,8 +139,8 @@ const TokenChart = ({ address, color, base }) => { <RowBetween mb={ chartFilter === CHART_VIEW.LIQUIDITY || - chartFilter === CHART_VIEW.VOLUME || - (chartFilter === CHART_VIEW.PRICE && frequency === DATA_FREQUENCY.LINE) + chartFilter === CHART_VIEW.VOLUME || + (chartFilter === CHART_VIEW.PRICE && frequency === DATA_FREQUENCY.LINE) ? 40 : 0 } diff --git a/src/components/TokenLogo/index.js b/src/components/TokenLogo/index.js index 3eb67a8..e771f78 100644 --- a/src/components/TokenLogo/index.js +++ b/src/components/TokenLogo/index.js @@ -2,12 +2,12 @@ import React, { useMemo } from "react"; import styled from "styled-components"; import MaticLogo from "../../assets/matic-logo.png"; import xDAILogo from "../../assets/xdai-logo.png"; -import HNYLogo from "../../assets/hny-logo.png"; +import BAOLogo from "../../assets/bao-logo.png"; import { useNativeCurrencyWrapper, useSelectedNetwork, } from "../../contexts/Network.js"; -import { HNY_ADDRESS, SupportedNetwork } from "../../constants/index.js"; +import { BAO_ADDRESS, SupportedNetwork } from "../../constants/index.js"; import { useTokenIcon } from "../../hooks/useTokenIcon.js"; const Inline = styled.div` @@ -42,8 +42,8 @@ export default function TokenLogo({ if (lowercaseAddress === nativeCurrencyWrapper.address.toLowerCase()) { return [selectedNetwork === SupportedNetwork.XDAI ? xDAILogo : MaticLogo]; } - if (lowercaseAddress === HNY_ADDRESS[selectedNetwork].toLowerCase()) { - return [HNYLogo]; + if (lowercaseAddress === BAO_ADDRESS[selectedNetwork].toLowerCase()) { + return [BAOLogo]; } return [tokenIcon]; }, [address, tokenIcon, nativeCurrencyWrapper, selectedNetwork]); diff --git a/src/components/TxnList/index.js b/src/components/TxnList/index.js index 07f3aef..162d687 100644 --- a/src/components/TxnList/index.js +++ b/src/components/TxnList/index.js @@ -117,10 +117,11 @@ const DataText = styled(Flex)` const SortText = styled.button` cursor: pointer; font-weight: ${({ active, theme }) => (active ? 500 : 400)}; + font-family: 'Montserrat',sans-serif; margin-right: 0.75rem !important; border: none; background-color: transparent; - font-size: 1rem; + font-size: 1em; padding: 0px; color: ${({ active, theme }) => (active ? theme.text1 : theme.text3)}; outline: none; diff --git a/src/components/UserChart/index.js b/src/components/UserChart/index.js index faaf004..320e331 100644 --- a/src/components/UserChart/index.js +++ b/src/components/UserChart/index.js @@ -43,7 +43,7 @@ const UserChart = ({ account }) => { {below600 ? ( <RowBetween mb={40}> <div /> - <DropdownSelect options={timeframeOptions} active={timeWindow} setActive={setTimeWindow} color={'#4526A2'} /> + <DropdownSelect options={timeframeOptions} active={timeWindow} setActive={setTimeWindow} color={'#ce6509'} /> </RowBetween> ) : ( <RowBetween mb={40}> @@ -77,8 +77,8 @@ const UserChart = ({ account }) => { <AreaChart margin={{ top: 0, right: 10, bottom: 6, left: 0 }} barCategoryGap={1} data={chartData}> <defs> <linearGradient id="colorUv" x1="0" y1="0" x2="0" y2="1"> - <stop offset="5%" stopColor={'#4526A2'} stopOpacity={0.35} /> - <stop offset="95%" stopColor={'#4526A2'} stopOpacity={0} /> + <stop offset="5%" stopColor={'#ce6509'} stopOpacity={0.35} /> + <stop offset="95%" stopColor={'#ce6509'} stopOpacity={0} /> </linearGradient> </defs> <XAxis @@ -112,7 +112,7 @@ const UserChart = ({ account }) => { contentStyle={{ padding: '10px 14px', borderRadius: 10, - borderColor: '#4526A2', + borderColor: '#ce6509', color: 'black', }} wrapperStyle={{ top: -70, left: -10 }} @@ -126,7 +126,7 @@ const UserChart = ({ account }) => { type="monotone" name={'Liquidity'} yAxisId={0} - stroke={darken(0.12, '#4526A2')} + stroke={darken(0.12, '#ce6509')} fill="url(#colorUv)" /> </AreaChart> diff --git a/src/components/Warning/index.js b/src/components/Warning/index.js index d84c764..5868b53 100644 --- a/src/components/Warning/index.js +++ b/src/components/Warning/index.js @@ -76,7 +76,7 @@ export default function Warning({ type, show, setShow, address }) { <Link fontWeight={500} lineHeight={"145.23%"} - color={"#2172E5"} + color={"#ce6509"} href={getExplorerLink(selectedNetwork, address, "address")} target="_blank" > @@ -100,7 +100,7 @@ export default function Warning({ type, show, setShow, address }) { <Link fontWeight={500} lineHeight={"145.23%"} - color={"#2172E5"} + color={"#ce6509"} href={getExplorerLink(selectedNetwork, address, "address")} target="_blank" > diff --git a/src/components/index.js b/src/components/index.js index 54cabac..c287888 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -9,7 +9,8 @@ import { useSelectedNetwork } from "../contexts/Network"; const Divider = styled(Box)` height: 1px; - background-color: ${({ theme }) => theme.divider}; + border: 1px solid rgb(226, 214, 207); + rgb(247 244 242) 1px 1px 0px inset `; export const IconWrapper = styled.div` diff --git a/src/constants/index.js b/src/constants/index.js index a4dfbca..5b04ae6 100644 --- a/src/constants/index.js +++ b/src/constants/index.js @@ -18,7 +18,7 @@ export const SupportedNetworkForChainId = Object.freeze({ export const FACTORY_ADDRESS = { // [SupportedNetwork.MAINNET]: "0xd34971BaB6E5E356fd250715F5dE0492BB070452", - [SupportedNetwork.XDAI]: "0xa818b4f111ccac7aa31d0bcc0806d64f2e0737d7", + [SupportedNetwork.XDAI]: "0x45DE240fbE2077dd3e711299538A09854FAE9c9b", [SupportedNetwork.MATIC]: "0x03daa61d8007443a6584e3d8f85105096543c19c", }; @@ -43,9 +43,9 @@ export const NATIVE_CURRENCY_WRAPPER = { }, }; -export const HNY_ADDRESS = { +export const BAO_ADDRESS = { // [SupportedNetwork.MAINNET]: "0xc3589f56b6869824804a5ea29f2c9886af1b0fce", - [SupportedNetwork.XDAI]: "0x71850b7E9Ee3f13Ab46d67167341E4bDc905Eef9", + [SupportedNetwork.XDAI]: "0x82dFe19164729949fD66Da1a37BC70dD6c4746ce", [SupportedNetwork.MATIC]: "0xb371248Dd0f9E4061ccf8850E9223Ca48Aa7CA4b", }; diff --git a/src/contexts/GlobalData.js b/src/contexts/GlobalData.js index 66537cc..d3e67f0 100644 --- a/src/contexts/GlobalData.js +++ b/src/contexts/GlobalData.js @@ -32,7 +32,7 @@ import { FACTORY_ADDRESS } from "../constants"; import { useBlocksSubgraphClient, useSelectedNetwork, - useHoneyswapSubgraphClient, + useBaoswapSubgraphClient, } from "./Network"; const UPDATE = "UPDATE"; @@ -284,32 +284,32 @@ async function getGlobalData( query: GLOBAL_DATA(factoryAddress), fetchPolicy: "network-only", }); - data = result.data.honeyswapFactories[0]; + data = result.data.baoswapFactories[0]; // fetch the historical data let oneDayResult = await client.query({ query: GLOBAL_DATA(factoryAddress, oneDayBlock?.number), fetchPolicy: "network-only", }); - oneDayData = oneDayResult.data.honeyswapFactories[0]; + oneDayData = oneDayResult.data.baoswapFactories[0]; let twoDayResult = await client.query({ query: GLOBAL_DATA(factoryAddress, twoDayBlock?.number), fetchPolicy: "network-only", }); - twoDayData = twoDayResult.data.honeyswapFactories[0]; + twoDayData = twoDayResult.data.baoswapFactories[0]; let oneWeekResult = await client.query({ query: GLOBAL_DATA(factoryAddress, oneWeekBlock?.number), fetchPolicy: "network-only", }); - const oneWeekData = oneWeekResult.data.honeyswapFactories[0]; + const oneWeekData = oneWeekResult.data.baoswapFactories[0]; let twoWeekResult = await client.query({ query: GLOBAL_DATA(factoryAddress, twoWeekBlock?.number), fetchPolicy: "network-only", }); - const twoWeekData = twoWeekResult.data.honeyswapFactories[0]; + const twoWeekData = twoWeekResult.data.baoswapFactories[0]; // format the total liquidity in USD data.totalLiquidityUSD = @@ -377,8 +377,8 @@ const getChartData = async (client, oldestDateToFetch) => { fetchPolicy: "network-only", }); skip += 1000; - data = data.concat(result.data.honeyswapDayDatas); - if (result.data.honeyswapDayDatas.length < 1000) { + data = data.concat(result.data.baoswapDayDatas); + if (result.data.baoswapDayDatas.length < 1000) { allFound = true; } } @@ -591,7 +591,7 @@ async function getAllTokensOnSwapr(client) { * Hook that fetches overview data, plus all tokens and pairs for search */ export function useGlobalData() { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const blockClient = useBlocksSubgraphClient(); const [ state, @@ -649,7 +649,7 @@ export function useGlobalChartData() { const [state, { updateChart }] = useGlobalDataContext(); const [oldestDateFetch, setOldestDateFetched] = useState(); const [activeWindow] = useTimeframe(); - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const chartDataDaily = state?.chartData?.daily; const chartDataWeekly = state?.chartData?.weekly; @@ -689,7 +689,7 @@ export function useGlobalChartData() { } export function useGlobalTransactions() { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const blockClient = useBlocksSubgraphClient(); const [state, { updateTransactions }] = useGlobalDataContext(); const transactions = state?.transactions; @@ -706,7 +706,7 @@ export function useGlobalTransactions() { } export function useNativeCurrencyPrice() { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const blockClient = useBlocksSubgraphClient(); const [state, { updateNativeCurrencyPrice }] = useGlobalDataContext(); const nativeCurrencyPrice = state?.[NATIVE_CURRENCY_PRICE_KEY]; diff --git a/src/contexts/Network.js b/src/contexts/Network.js index 4d05d23..56da799 100644 --- a/src/contexts/Network.js +++ b/src/contexts/Network.js @@ -126,7 +126,7 @@ export function useSelectedNetworkUpdater() { }; } -export function useHoneyswapSubgraphClient() { +export function useBaoswapSubgraphClient() { const [state] = useNetworkContext(); return clients[state.selectedNetwork]; } diff --git a/src/contexts/PairData.js b/src/contexts/PairData.js index d0db4d9..fae88c9 100644 --- a/src/contexts/PairData.js +++ b/src/contexts/PairData.js @@ -34,7 +34,7 @@ import { import { timeframeOptions } from "../constants"; import { useLatestBlocks } from "./Application"; import { updateNameData } from "../utils/data"; -import { useBlocksSubgraphClient, useHoneyswapSubgraphClient } from "./Network"; +import { useBlocksSubgraphClient, useBaoswapSubgraphClient } from "./Network"; const RESET = "RESET"; const UPDATE = "UPDATE"; @@ -48,12 +48,12 @@ dayjs.extend(utc); export function safeAccess(object, path) { return object ? path.reduce( - (accumulator, currentValue) => - accumulator && accumulator[currentValue] - ? accumulator[currentValue] - : null, - object - ) + (accumulator, currentValue) => + accumulator && accumulator[currentValue] + ? accumulator[currentValue] + : null, + object + ) : null; } @@ -82,9 +82,9 @@ function reducer(state, { type, payload }) { const { topPairs } = payload; const newTopPairs = topPairs ? topPairs.reduce((reducedPairs, pair) => { - reducedPairs[pair.id] = pair; - return reducedPairs; - }, {}) + reducedPairs[pair.id] = pair; + return reducedPairs; + }, {}) : {}; return { ...newTopPairs, @@ -260,42 +260,42 @@ async function getBulkPairData( let pairData = await Promise.all( current && - current.data.pairs.map(async (pair) => { - let data = pair; - let oneDayHistory = oneDayData?.[pair.id]; - if (!oneDayHistory) { - let newData = await client.query({ - query: PAIR_DATA(pair.id, b1), - fetchPolicy: "network-only", - }); - oneDayHistory = newData.data.pairs[0]; - } - let twoDayHistory = twoDayData?.[pair.id]; - if (!twoDayHistory) { - let newData = await client.query({ - query: PAIR_DATA(pair.id, b2), - fetchPolicy: "network-only", - }); - twoDayHistory = newData.data.pairs[0]; - } - let oneWeekHistory = oneWeekData?.[pair.id]; - if (!oneWeekHistory) { - let newData = await client.query({ - query: PAIR_DATA(pair.id, bWeek), - fetchPolicy: "network-only", - }); - oneWeekHistory = newData.data.pairs[0]; - } - data = parseData( - data, - oneDayHistory, - twoDayHistory, - oneWeekHistory, - nativeCurrencyPrice, - b1 - ); - return data; - }) + current.data.pairs.map(async (pair) => { + let data = pair; + let oneDayHistory = oneDayData?.[pair.id]; + if (!oneDayHistory) { + let newData = await client.query({ + query: PAIR_DATA(pair.id, b1), + fetchPolicy: "network-only", + }); + oneDayHistory = newData.data.pairs[0]; + } + let twoDayHistory = twoDayData?.[pair.id]; + if (!twoDayHistory) { + let newData = await client.query({ + query: PAIR_DATA(pair.id, b2), + fetchPolicy: "network-only", + }); + twoDayHistory = newData.data.pairs[0]; + } + let oneWeekHistory = oneWeekData?.[pair.id]; + if (!oneWeekHistory) { + let newData = await client.query({ + query: PAIR_DATA(pair.id, bWeek), + fetchPolicy: "network-only", + }); + oneWeekHistory = newData.data.pairs[0]; + } + data = parseData( + data, + oneDayHistory, + twoDayHistory, + oneWeekHistory, + nativeCurrencyPrice, + b1 + ); + return data; + }) ); return pairData; } catch (e) { @@ -533,7 +533,7 @@ const getHourlyRateData = async ( }; export function Updater() { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const blockClient = useBlocksSubgraphClient(); const [, { updateTopPairs }] = usePairDataContext(); const [nativeCurrencyPrice] = useNativeCurrencyPrice(); @@ -568,7 +568,7 @@ export function Updater() { } export function useHourlyRateData(pairAddress, timeWindow) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const blockClient = useBlocksSubgraphClient(); const [state, { updateHourlyData }] = usePairDataContext(); const chartData = state?.[pairAddress]?.hourlyData?.[timeWindow]; @@ -613,7 +613,7 @@ export function useHourlyRateData(pairAddress, timeWindow) { * store these updates to reduce future redundant calls */ export function useDataForList(pairList) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const blockClient = useBlocksSubgraphClient(); const [state] = usePairDataContext(); const [nativeCurrencyPrice] = useNativeCurrencyPrice(); @@ -686,7 +686,7 @@ export function useDataForList(pairList) { * Get all the current and 24hr changes for a pair */ export function usePairData(pairAddress) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const blockClient = useBlocksSubgraphClient(); const [state, { update }] = usePairDataContext(); const [nativeCurrencyPrice] = useNativeCurrencyPrice(); @@ -721,7 +721,7 @@ export function usePairData(pairAddress) { * Get most recent txns for a pair */ export function usePairTransactions(pairAddress) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const [state, { updatePairTxns }] = usePairDataContext(); const pairTxns = state?.[pairAddress]?.txns; useEffect(() => { @@ -737,7 +737,7 @@ export function usePairTransactions(pairAddress) { } export function usePairChartData(pairAddress) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const [state, { updateChartData }] = usePairDataContext(); const chartData = state?.[pairAddress]?.chartData; diff --git a/src/contexts/TokenData.js b/src/contexts/TokenData.js index c0065cf..88c2f95 100644 --- a/src/contexts/TokenData.js +++ b/src/contexts/TokenData.js @@ -33,7 +33,7 @@ import { import { timeframeOptions } from "../constants"; import { useLatestBlocks } from "./Application"; import { updateNameData } from "../utils/data"; -import { useBlocksSubgraphClient, useHoneyswapSubgraphClient } from "./Network"; +import { useBlocksSubgraphClient, useBaoswapSubgraphClient } from "./Network"; const RESET = "RESET"; const UPDATE = "UPDATE"; @@ -71,9 +71,9 @@ function reducer(state, { type, payload }) { const { topTokens } = payload; const newTopTokens = topTokens ? topTokens.reduce((reducedTokens, token) => { - reducedTokens[token.id] = token; - return reducedTokens; - }, {}) + reducedTokens[token.id] = token; + return reducedTokens; + }, {}) : {}; return { ...newTopTokens, @@ -259,100 +259,100 @@ const getTopTokens = async ( let bulkResults = await Promise.all( current && - oneDayData && - twoDayData && - current?.data?.tokens.map(async (token) => { - let data = token; - - // let liquidityDataThisToken = liquidityData?.[token.id] - let oneDayHistory = oneDayData?.[token.id]; - let twoDayHistory = twoDayData?.[token.id]; - - // catch the case where token wasnt in top list in previous days - if (!oneDayHistory) { - let oneDayResult = await client.query({ - query: TOKEN_DATA(token.id, oneDayBlock), - fetchPolicy: "network-only", - }); - oneDayHistory = oneDayResult.data.tokens[0]; - } - if (!twoDayHistory) { - let twoDayResult = await client.query({ - query: TOKEN_DATA(token.id, twoDayBlock), - fetchPolicy: "network-only", - }); - twoDayHistory = twoDayResult.data.tokens[0]; - } - - // calculate percentage changes and daily changes - const [oneDayVolumeUSD, volumeChangeUSD] = get2DayPercentChange( - data.tradeVolumeUSD, - oneDayHistory?.tradeVolumeUSD ?? 0, - twoDayHistory?.tradeVolumeUSD ?? 0 - ); - const [oneDayTxns, txnChange] = get2DayPercentChange( - data.txCount, - oneDayHistory?.txCount ?? 0, - twoDayHistory?.txCount ?? 0 - ); - - const currentLiquidityUSD = - data?.totalLiquidity * - nativeCurrencyPrice * - data?.derivedNativeCurrency; - const oldLiquidityUSD = - oneDayHistory?.totalLiquidity * - nativeCurrencyPriceOld * - oneDayHistory?.derivedNativeCurrency; - - // percent changes - const priceChangeUSD = getPercentChange( - data?.derivedNativeCurrency * nativeCurrencyPrice, - oneDayHistory?.derivedNativeCurrency - ? oneDayHistory?.derivedNativeCurrency * nativeCurrencyPriceOld - : 0 - ); - - // set data - data.priceUSD = data?.derivedNativeCurrency * nativeCurrencyPrice; - data.totalLiquidityUSD = currentLiquidityUSD; - data.oneDayVolumeUSD = parseFloat(oneDayVolumeUSD); - data.volumeChangeUSD = volumeChangeUSD; - data.priceChangeUSD = priceChangeUSD; - data.liquidityChangeUSD = getPercentChange( - currentLiquidityUSD ?? 0, - oldLiquidityUSD ?? 0 - ); - data.oneDayTxns = oneDayTxns; - data.txnChange = txnChange; - - // new tokens - if (!oneDayHistory && data) { - data.oneDayVolumeUSD = data.tradeVolumeUSD; - data.oneDayVolumeNativeCurrency = - data.tradeVolume * data.derivedNativeCurrency; - data.oneDayTxns = data.txCount; - } - - // update name data for - updateNameData({ - token0: data, + oneDayData && + twoDayData && + current?.data?.tokens.map(async (token) => { + let data = token; + + // let liquidityDataThisToken = liquidityData?.[token.id] + let oneDayHistory = oneDayData?.[token.id]; + let twoDayHistory = twoDayData?.[token.id]; + + // catch the case where token wasnt in top list in previous days + if (!oneDayHistory) { + let oneDayResult = await client.query({ + query: TOKEN_DATA(token.id, oneDayBlock), + fetchPolicy: "network-only", }); + oneDayHistory = oneDayResult.data.tokens[0]; + } + if (!twoDayHistory) { + let twoDayResult = await client.query({ + query: TOKEN_DATA(token.id, twoDayBlock), + fetchPolicy: "network-only", + }); + twoDayHistory = twoDayResult.data.tokens[0]; + } + + // calculate percentage changes and daily changes + const [oneDayVolumeUSD, volumeChangeUSD] = get2DayPercentChange( + data.tradeVolumeUSD, + oneDayHistory?.tradeVolumeUSD ?? 0, + twoDayHistory?.tradeVolumeUSD ?? 0 + ); + const [oneDayTxns, txnChange] = get2DayPercentChange( + data.txCount, + oneDayHistory?.txCount ?? 0, + twoDayHistory?.txCount ?? 0 + ); + + const currentLiquidityUSD = + data?.totalLiquidity * + nativeCurrencyPrice * + data?.derivedNativeCurrency; + const oldLiquidityUSD = + oneDayHistory?.totalLiquidity * + nativeCurrencyPriceOld * + oneDayHistory?.derivedNativeCurrency; + + // percent changes + const priceChangeUSD = getPercentChange( + data?.derivedNativeCurrency * nativeCurrencyPrice, + oneDayHistory?.derivedNativeCurrency + ? oneDayHistory?.derivedNativeCurrency * nativeCurrencyPriceOld + : 0 + ); - // HOTFIX for Aave - if (data.id === "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9") { - const aaveData = await client.query({ - query: PAIR_DATA("0xdfc14d2af169b0d36c4eff567ada9b2e0cae044f"), - fetchPolicy: "network-only", - }); - const result = aaveData.data.pairs[0]; - data.totalLiquidityUSD = parseFloat(result.reserveUSD) / 2; - data.liquidityChangeUSD = 0; - data.priceChangeUSD = 0; - } - - return data; - }) + // set data + data.priceUSD = data?.derivedNativeCurrency * nativeCurrencyPrice; + data.totalLiquidityUSD = currentLiquidityUSD; + data.oneDayVolumeUSD = parseFloat(oneDayVolumeUSD); + data.volumeChangeUSD = volumeChangeUSD; + data.priceChangeUSD = priceChangeUSD; + data.liquidityChangeUSD = getPercentChange( + currentLiquidityUSD ?? 0, + oldLiquidityUSD ?? 0 + ); + data.oneDayTxns = oneDayTxns; + data.txnChange = txnChange; + + // new tokens + if (!oneDayHistory && data) { + data.oneDayVolumeUSD = data.tradeVolumeUSD; + data.oneDayVolumeNativeCurrency = + data.tradeVolume * data.derivedNativeCurrency; + data.oneDayTxns = data.txCount; + } + + // update name data for + updateNameData({ + token0: data, + }); + + // HOTFIX for Aave + if (data.id === "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9") { + const aaveData = await client.query({ + query: PAIR_DATA("0xdfc14d2af169b0d36c4eff567ada9b2e0cae044f"), + fetchPolicy: "network-only", + }); + const result = aaveData.data.pairs[0]; + data.totalLiquidityUSD = parseFloat(result.reserveUSD) / 2; + data.liquidityChangeUSD = 0; + data.priceChangeUSD = 0; + } + + return data; + }) ); return bulkResults; @@ -452,7 +452,7 @@ const getTokenData = async ( const priceChangeUSD = getPercentChange( data?.derivedNativeCurrency * nativeCurrencyPrice, parseFloat(oneDayData?.derivedNativeCurrency ?? 0) * - nativeCurrencyPriceOld + nativeCurrencyPriceOld ); const currentLiquidityUSD = @@ -700,7 +700,7 @@ const getTokenChartData = async (client, tokenAddress) => { }; export function Updater() { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const blockClient = useBlocksSubgraphClient(); const [, { updateTopTokens }] = useTokenDataContext(); const [ @@ -732,7 +732,7 @@ export function Updater() { } export function useTokenData(tokenAddress) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const blockClient = useBlocksSubgraphClient(); const [state, { update }] = useTokenDataContext(); const [ @@ -772,7 +772,7 @@ export function useTokenData(tokenAddress) { } export function useTokenTransactions(tokenAddress) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const blockClient = useBlocksSubgraphClient(); const [state, { updateTokenTxns }] = useTokenDataContext(); const tokenTxns = state?.[tokenAddress]?.txns; @@ -808,7 +808,7 @@ export function useTokenTransactions(tokenAddress) { } export function useTokenPairs(tokenAddress) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const blockClient = useBlocksSubgraphClient(); const [state, { updateAllPairs }] = useTokenDataContext(); const tokenPairs = state?.[tokenAddress]?.[TOKEN_PAIRS_KEY]; @@ -827,7 +827,7 @@ export function useTokenPairs(tokenAddress) { } export function useTokenChartData(tokenAddress) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const blockClient = useBlocksSubgraphClient(); const [state, { updateChartData }] = useTokenDataContext(); const chartData = state?.[tokenAddress]?.chartData; @@ -851,7 +851,7 @@ export function useTokenChartData(tokenAddress) { * @param {*} interval // the chunk size in seconds - default is 1 hour of 3600s */ export function useTokenPriceData(tokenAddress, timeWindow, interval = 3600) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const blockClient = useBlocksSubgraphClient(); const [state, { updatePriceData }] = useTokenDataContext(); const chartData = state?.[tokenAddress]?.[timeWindow]?.[interval]; diff --git a/src/contexts/User.js b/src/contexts/User.js index ca2dc0e..9e17f81 100644 --- a/src/contexts/User.js +++ b/src/contexts/User.js @@ -20,7 +20,7 @@ import utc from "dayjs/plugin/utc"; import { useNativeCurrencyPrice } from "./GlobalData"; import { getLPReturnsOnPair, getHistoricalPairReturns } from "../utils/returns"; import { timeframeOptions } from "../constants"; -import { useBlocksSubgraphClient, useHoneyswapSubgraphClient } from "./Network"; +import { useBlocksSubgraphClient, useBaoswapSubgraphClient } from "./Network"; dayjs.extend(utc); @@ -195,7 +195,7 @@ export default function Provider({ children }) { } export function useUserTransactions(account) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const [state, { updateTransactions }] = useUserContext(); const transactions = state?.[account]?.[TRANSACTIONS_KEY]; useEffect(() => { @@ -229,7 +229,7 @@ export function useUserTransactions(account) { * @param {*} account */ export function useUserSnapshots(account) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const [state, { updateUserSnapshots }] = useUserContext(); const snapshots = state?.[account]?.[USER_SNAPSHOTS]; @@ -279,7 +279,7 @@ export function useUserSnapshots(account) { * @param {*} account */ export function useUserPositionChart(position, account) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const blockClient = useBlocksSubgraphClient(); const pairAddress = position?.pair?.id; const [state, { updateUserPairReturns }] = useUserContext(); @@ -351,7 +351,7 @@ export function useUserPositionChart(position, account) { * and usd liquidity value. */ export function useUserLiquidityChart(account) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const history = useUserSnapshots(account); // formatetd array to return for chart data const [formattedHistory, setFormattedHistory] = useState(); @@ -478,10 +478,10 @@ export function useUserLiquidityChart(account) { totalUSD + (ownershipPerPair[dayData.pairAddress] ? (parseFloat( - ownershipPerPair[dayData.pairAddress].lpTokenBalance - ) / - parseFloat(dayData.totalSupply)) * - parseFloat(dayData.reserveUSD) + ownershipPerPair[dayData.pairAddress].lpTokenBalance + ) / + parseFloat(dayData.totalSupply)) * + parseFloat(dayData.reserveUSD) : 0)); }, 0); @@ -502,7 +502,7 @@ export function useUserLiquidityChart(account) { } export function useUserPositions(account) { - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const [state, { updatePositions }] = useUserContext(); const positions = state?.[account]?.[POSITIONS_KEY]; diff --git a/src/hooks/index.ts b/src/hooks/index.ts index 7b0383f..871dd9c 100644 --- a/src/hooks/index.ts +++ b/src/hooks/index.ts @@ -6,7 +6,7 @@ import copy from 'copy-to-clipboard' import { useTokenIcon } from "./useTokenIcon" export function useColor(tokenAddress, token) { - const [color, setColor] = useState('#2172E5') + const [color, setColor] = useState('#ce6509') const path = useTokenIcon(tokenAddress) @@ -14,13 +14,13 @@ export function useColor(tokenAddress, token) { Vibrant.from(path).getPalette((err, palette) => { if (palette && palette.Vibrant) { let detectedHex = palette.Vibrant.hex - let AAscore = hex(detectedHex, '#FFF') + let AAscore = hex(detectedHex, '#50251c') while (AAscore < 3) { detectedHex = shade(0.005, detectedHex) - AAscore = hex(detectedHex, '#FFF') + AAscore = hex(detectedHex, '#50251c') } if (token === 'DAI') { - setColor('#FAAB14') + setColor('#50251c') } else { setColor(detectedHex) } diff --git a/src/hooks/useTokenIcon.js b/src/hooks/useTokenIcon.js index 42098d7..d9e75de 100644 --- a/src/hooks/useTokenIcon.js +++ b/src/hooks/useTokenIcon.js @@ -18,7 +18,7 @@ async function getTokenLogo(network, address) { // tokenListURL = "https://tokens.coingecko.com/uniswap/all.json"; // coingecko list used for mainnet // } if (network === SupportedNetwork.XDAI) { - tokenListURL = "https://tokens.honeyswap.org"; // honeyswap list used for xdai + tokenListURL = "https://tokens.baoswap.org"; // baoswap list used for xdai } else { tokenListURL = "https://unpkg.com/quickswap-default-token-list@latest/build/quickswap-default.tokenlist.json"; diff --git a/src/pages/AccountLookup.js b/src/pages/AccountLookup.js index 3ba3fc4..ace3139 100644 --- a/src/pages/AccountLookup.js +++ b/src/pages/AccountLookup.js @@ -12,7 +12,7 @@ import LocalLoader from "../components/LocalLoader"; import { RowBetween } from "../components/Row"; import { useMedia } from "react-use"; import Search from "../components/Search"; -import { useHoneyswapSubgraphClient } from "../contexts/Network"; +import { useBaoswapSubgraphClient } from "../contexts/Network"; const AccountWrapper = styled.div` @media screen and (max-width: 600px) { @@ -26,7 +26,7 @@ function AccountLookup() { window.scrollTo(0, 0); }, []); - const client = useHoneyswapSubgraphClient(); + const client = useBaoswapSubgraphClient(); const topLps = useTopLps(client); const below600 = useMedia("(max-width: 600px)"); diff --git a/src/pages/GlobalPage.js b/src/pages/GlobalPage.js index 62a5510..aadb15f 100644 --- a/src/pages/GlobalPage.js +++ b/src/pages/GlobalPage.js @@ -75,7 +75,7 @@ function GlobalPage() { <ContentWrapper> <div> <AutoColumn gap="24px" style={{ paddingBottom: below800 ? '0' : '24px' }}> - <TYPE.largeHeader>{below800 ? 'Protocol Analytics' : 'Honeyswap Protocol Analytics'}</TYPE.largeHeader> + <TYPE.largeHeader>{below800 ? 'Protocol Analytics' : 'Baoswap Protocol Analytics'}</TYPE.largeHeader> <Search /> <GlobalStats /> </AutoColumn> diff --git a/src/utils/addTokenToMetamask.js b/src/utils/addTokenToMetamask.js index 6ccf7fd..991cf8d 100644 --- a/src/utils/addTokenToMetamask.js +++ b/src/utils/addTokenToMetamask.js @@ -18,7 +18,7 @@ export async function addTokenToMetamask(ethereum, id, symbol, network) { let tokenListURL; if (network === SupportedNetwork.XDAI) - tokenListURL = "https://tokens.honeyswap.org"; + tokenListURL = "https://tokens.baoswap.org"; else if (network === SupportedNetwork.MATIC) tokenListURL = "https://unpkg.com/quickswap-default-token-list@latest/build/quickswap-default.tokenlist.json"; diff --git a/src/utils/index.js b/src/utils/index.js index 455e221..e981aab 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -51,26 +51,23 @@ export function getPoolLink( ) { if (!token1Address) { return ( - `https://app.honeyswap.org/#/` + + `https://www.baoswap.xyz/#/` + (remove ? `remove` : `add`) + - `/${ - token0Address === nativeCurrencyWrapper.symbol - ? nativeCurrency - : token0Address + `/${token0Address === nativeCurrencyWrapper.symbol + ? nativeCurrency + : token0Address }/${nativeCurrency}?chainId=${ChainId[selectedNetwork]}` ); } else { return ( - `https://app.honeyswap.org/#/` + + `https://www.baoswap.xyz/#/` + (remove ? `remove` : `add`) + - `/${ - token0Address === nativeCurrencyWrapper.symbol - ? nativeCurrency - : token0Address - }/${ - token1Address === nativeCurrencyWrapper.symbol - ? nativeCurrency - : token1Address + `/${token0Address === nativeCurrencyWrapper.symbol + ? nativeCurrency + : token0Address + }/${token1Address === nativeCurrencyWrapper.symbol + ? nativeCurrency + : token1Address }?chainId=${ChainId[selectedNetwork]}` ); } @@ -84,17 +81,15 @@ export function getSwapLink( token1Address = null ) { if (!token1Address) { - return `https://app.honeyswap.org/#/swap?inputCurrency=${token0Address}&chainId=${ChainId[selectedNetwork]}`; + return `https://www.baoswap.xyz/#/swap?inputCurrency=${token0Address}&chainId=${ChainId[selectedNetwork]}`; } else { - return `https://app.honeyswap.org/#/swap?inputCurrency=${ - token0Address === nativeCurrencyWrapper.symbol - ? nativeCurrency - : token0Address - }&outputCurrency=${ - token1Address === nativeCurrencyWrapper.symbol + return `https://www.baoswap.xyz/#/swap?inputCurrency=${token0Address === nativeCurrencyWrapper.symbol + ? nativeCurrency + : token0Address + }&outputCurrency=${token1Address === nativeCurrencyWrapper.symbol ? nativeCurrency : token1Address - }&chainId=${ChainId[selectedNetwork]}`; + }&chainId=${ChainId[selectedNetwork]}`; } } @@ -138,7 +133,7 @@ export function getExplorerLink(selectedNetwork, data, type) { } export function getSwaprAppLink(nativeCurrency, linkVariable, selectedNetwork) { - let baseSwaprUrl = "https://app.honeyswap.org/#/"; + let baseSwaprUrl = "https://www.baoswap.xyz/#/"; if (!linkVariable) { return baseSwaprUrl; } diff --git a/yarn.lock b/yarn.lock index 6852397..0abf54c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2551,7 +2551,7 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFBAOLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1"