diff --git a/packages/boba/gateway/src/components/listNFT/listNFT.js b/packages/boba/gateway/src/components/listNFT/listNFT.js index 619b29d546..8105af1b31 100644 --- a/packages/boba/gateway/src/components/listNFT/listNFT.js +++ b/packages/boba/gateway/src/components/listNFT/listNFT.js @@ -38,7 +38,8 @@ class listNFT extends React.Component { UUID, URL, meta, - tokenID + tokenID, + small } = this.props this.state = { @@ -50,8 +51,10 @@ class listNFT extends React.Component { meta, tokenID, isFlipped: false, + small } - this.handleClick = this.handleClick.bind(this); + + this.handleClick = this.handleClick.bind(this) } handleClick(e) { @@ -120,7 +123,8 @@ class listNFT extends React.Component { URL, isFlipped, meta, - tokenID + tokenID, + small } = this.state let rarity = '' @@ -148,25 +152,32 @@ class listNFT extends React.Component { NFT URI
- - {meta.name}{' '}({symbol}) - - TokenID:{' '}{tokenID} + {!small && <> + + {meta.name}{' '}({symbol}) + + + TokenID:{' '}{tokenID} + + + }
{meta.collection !== '' && Collection:{' '}{meta.collection}} @@ -187,26 +198,28 @@ class listNFT extends React.Component { ) })} - - + {!small && <> + + + }
) diff --git a/packages/boba/gateway/src/components/listNFT/listNFT.styles.js b/packages/boba/gateway/src/components/listNFT/listNFT.styles.js index 0b52599b97..ba5402255f 100644 --- a/packages/boba/gateway/src/components/listNFT/listNFT.styles.js +++ b/packages/boba/gateway/src/components/listNFT/listNFT.styles.js @@ -1,11 +1,9 @@ import { Divider, Grid } from "@mui/material" import { styled } from '@mui/material/styles' -export const ListNFTItem = styled(Grid)(({ theme, active }) => ({ +export const ListNFTItem = styled(Grid)(({ theme, active, small }) => ({ borderRadius: '10px', - maxWidth: '200px', - minWidth: '200px', - background: theme.palette.background.secondary, + width: `${ small ? '150px' : '200px'}`, overflow: 'hidden', display: 'flex', flexDirection: 'column', @@ -13,7 +11,7 @@ export const ListNFTItem = styled(Grid)(({ theme, active }) => ({ alignItems: 'flex-start', border: '1px solid transparent', padding: active ? '10px' : '0px', - minHeight: '250px', + minHeight: `${ small ? 'unset' : '250px'}`, [theme.breakpoints.down('sm')]: { width: '100%', maxWidth: '160px', diff --git a/packages/boba/gateway/src/components/mainMenu/feeSwitcher/FeeSwitcher.js b/packages/boba/gateway/src/components/mainMenu/feeSwitcher/FeeSwitcher.js index 225efb0b1d..eef2054224 100644 --- a/packages/boba/gateway/src/components/mainMenu/feeSwitcher/FeeSwitcher.js +++ b/packages/boba/gateway/src/components/mainMenu/feeSwitcher/FeeSwitcher.js @@ -22,7 +22,8 @@ import { selectAccountEnabled, selectBobaFeeChoice, selectLayer, - selectBobaPriceRatio + selectBobaPriceRatio, + selectNetwork } from 'selectors/setupSelector' import { selectlayer2Balance } from 'selectors/balanceSelector' @@ -44,6 +45,7 @@ function FeeSwitcher() { const accountEnabled = useSelector(selectAccountEnabled()) const feeUseBoba = useSelector(selectBobaFeeChoice()) const feePriceRatio = useSelector(selectBobaPriceRatio()) + const network = useSelector(selectNetwork()) const layer = useSelector(selectLayer()) @@ -60,11 +62,6 @@ function FeeSwitcher() { const tooSmallETH = new BN(logAmount(balanceETH.balance, 18)).lt(new BN(0.002)) const tooSmallBOBA = new BN(logAmount(balanceBOBA.balance, 18)).lt(new BN(3.0)) - //console.log([ `BOBA BALANCE`, logAmount(balanceBOBA.balance, 18) ]) - //console.log([ `tooSmallBOBA`, tooSmallBOBA ]) - //console.log([ `ETH BALANCE`, logAmount(balanceETH.balance, 18) ]) - //console.log([ `tooSmallETH`, tooSmallETH ]) - let res if (feeUseBoba && targetFee === 'BOBA') { @@ -98,7 +95,15 @@ function FeeSwitcher() { }, [ dispatch, feeUseBoba, balanceETH, balanceBOBA ]) - if (!accountEnabled || layer !== 'L2') { + if (!accountEnabled) { + return null + } + + if (layer !== 'L2') { + return null + } + + if (network === 'mainnet') { return null } diff --git a/packages/boba/gateway/src/containers/dao/Dao.js b/packages/boba/gateway/src/containers/dao/Dao.js index 5040784742..2d92d83645 100644 --- a/packages/boba/gateway/src/containers/dao/Dao.js +++ b/packages/boba/gateway/src/containers/dao/Dao.js @@ -86,20 +86,18 @@ function DAO() { if (totalNumberOfPages === 0) totalNumberOfPages = 1 return ( - <> -
- - - { - (layer !== 'L2') ? - Not connected to Boba L2 - : Connected + + + + {(layer !== 'L2') ? + Not connected to Boba + : Connected } - - + + {!accountEnabled ? @@ -108,9 +106,6 @@ function DAO() { } - - NOTE: only votes delegated BEFORE the start of the active voting period are counted in your vote. - Balances BOBA: @@ -162,6 +157,9 @@ function DAO() { } + + Only votes delegated BEFORE the start of the active voting period are counted in your vote + Create new proposal - At least {proposalThreshold} BOBA + xBOBA are needed to create a new proposal + + At least {proposalThreshold} BOBA + xBOBA are needed to create a new proposal + @@ -220,7 +220,7 @@ function DAO() {
- ) + ) } export default React.memo(DAO) diff --git a/packages/boba/gateway/src/containers/home/Home.js b/packages/boba/gateway/src/containers/home/Home.js index 7ff535c735..bbe1bf470d 100644 --- a/packages/boba/gateway/src/containers/home/Home.js +++ b/packages/boba/gateway/src/containers/home/Home.js @@ -44,8 +44,7 @@ import { selectBaseEnabled, selectAccountEnabled, selectNetwork, - selectLayer, - selectMonster + selectLayer } from 'selectors/setupSelector' /**** ACTIONS and SELECTORS *****/ @@ -97,7 +96,7 @@ import BobaScope from 'containers/bobaScope/BobaScope' import Help from 'containers/help/Help' import Ecosystem from 'containers/ecosystem/Ecosystem' import Wallet from 'containers/wallet/Wallet' -import Monster from 'containers/monster/Monster' +import MonsterWrapper from 'containers/monster/MonsterWrapper' import { Box, Container } from '@mui/material' @@ -142,7 +141,6 @@ function Home() { const layer = useSelector(selectLayer()) const baseEnabled = useSelector(selectBaseEnabled()) const accountEnabled = useSelector(selectAccountEnabled()) - const monsterNumber = useSelector(selectMonster()) const handleErrorClose = () => dispatch(closeError()) const handleAlertClose = () => dispatch(closeAlert()) @@ -353,7 +351,7 @@ function Home() { } {pageDisplay === "Monster" && - + } diff --git a/packages/boba/gateway/src/containers/monster/Monster.js b/packages/boba/gateway/src/containers/monster/Monster.js index 7d43c62943..83ad30d8a2 100644 --- a/packages/boba/gateway/src/containers/monster/Monster.js +++ b/packages/boba/gateway/src/containers/monster/Monster.js @@ -5,20 +5,17 @@ import { isEqual } from 'lodash' import ListNFT from 'components/listNFT/listNFT' import * as S from './Monster.styles' -import { Box, Grid, Typography } from '@mui/material' +import { Box, Typography, Grid } from '@mui/material' -import Input from 'components/input/Input' -import Button from 'components/button/Button' +import { Circle } from '@mui/icons-material' +import PageTitle from 'components/pageTitle/PageTitle' import networkService from 'services/networkService' import LayerSwitcher from 'components/mainMenu/layerSwitcher/LayerSwitcher' import AlertIcon from 'components/icons/AlertIcon' import BobaGlassIcon from 'components/icons/BobaGlassIcon' -import Copy from 'components/copy/Copy' import WalletPicker from 'components/walletpicker/WalletPicker' -import truncate from 'truncate-middle' - class Monster extends React.Component { constructor(props) { @@ -108,12 +105,8 @@ class Monster extends React.Component { const { list, - contractAddress, - tokenID, - loading, netLayer, monsterInfo, - monsterNumber } = this.state let tokenIDverified = null @@ -145,7 +138,6 @@ class Monster extends React.Component { return ( - @@ -159,7 +151,6 @@ class Monster extends React.Component { - ) @@ -189,6 +180,16 @@ class Monster extends React.Component { else { return ( + + + + {(netLayer !== 'L2') ? + Not connected to Boba + : Connected + } + + + @@ -205,7 +206,8 @@ class Monster extends React.Component { {tokenIDverified === null && -
You have one or more Turing Monsters, but you have not added them to your NFT page (Wallet>NFT>Add NFT). Please add them to join the MonsterVerse. + You have one or more Turing Monsters, but you have not added them to your NFT page (Wallet>NFT>Add NFT). + Please add them to join the MonsterVerse.
} @@ -222,6 +224,7 @@ class Monster extends React.Component { URL={list[v].url} meta={list[v].meta} tokenID={list[v].tokenID} + small={"true"} />) } }) @@ -256,6 +259,9 @@ class Monster extends React.Component {
+
+
+ )} } } diff --git a/packages/boba/gateway/src/containers/monster/Monster.styles.js b/packages/boba/gateway/src/containers/monster/Monster.styles.js index c2d0e0a1fb..505815366e 100644 --- a/packages/boba/gateway/src/containers/monster/Monster.styles.js +++ b/packages/boba/gateway/src/containers/monster/Monster.styles.js @@ -1,6 +1,28 @@ import { styled } from '@mui/material/styles' import { Box, Typography, Grid, Divider } from "@mui/material" +export const StakePageContainer = styled(Box)(({ theme }) => ({ + margin: '0px auto', + display: 'flex', + flexDirection: 'column', + justifyContent: 'space-around', + padding: '10px', + paddingTop: '0px', + width: '70%', + [ theme.breakpoints.between('md', 'lg') ]: { + width: '90%', + padding: '0px', + }, + [ theme.breakpoints.between('sm', 'md') ]: { + width: '90%', + padding: '0px', + }, + [ theme.breakpoints.down('sm') ]: { + width: '100%', + padding: '0px', + }, +})) + export const NFTPageContainer = styled(Box)(({ theme }) => ({ margin: '20px auto', display: 'flex', diff --git a/packages/boba/gateway/src/containers/monster/MonsterWrapper.js b/packages/boba/gateway/src/containers/monster/MonsterWrapper.js new file mode 100644 index 0000000000..091e406430 --- /dev/null +++ b/packages/boba/gateway/src/containers/monster/MonsterWrapper.js @@ -0,0 +1,11 @@ + +import { useTheme } from '@emotion/react' +import { useMediaQuery } from '@mui/material' +import React from 'react' +import Monster from './Monster' + +export default function MonsterWrapper({ ...rest }) { + const theme = useTheme() + const isMobile = useMediaQuery(theme.breakpoints.down('md')) + return +} diff --git a/packages/boba/gateway/src/containers/save/Save.js b/packages/boba/gateway/src/containers/save/Save.js index b8ade1881e..4c0fe29315 100644 --- a/packages/boba/gateway/src/containers/save/Save.js +++ b/packages/boba/gateway/src/containers/save/Save.js @@ -30,10 +30,10 @@ import * as S from './Save.styles' import { Box, Typography, Grid } from '@mui/material' import { Circle } from '@mui/icons-material' +import PageTitle from 'components/pageTitle/PageTitle' import LayerSwitcher from 'components/mainMenu/layerSwitcher/LayerSwitcher' import WalletPicker from 'components/walletpicker/WalletPicker' -import PageTitle from 'components/pageTitle/PageTitle' import BobaGlassIcon from 'components/icons/BobaGlassIcon' import Input from 'components/input/Input' import Button from 'components/button/Button' @@ -244,7 +244,7 @@ class Save extends React.Component { {(netLayer !== 'L2') ? - Not connected to Boba L2 + Not connected to Boba : Connected } @@ -268,7 +268,7 @@ class Save extends React.Component { Active stakes - {totalBOBAstaked} Boba + {totalBOBAstaked} BOBA @@ -281,7 +281,7 @@ class Save extends React.Component { alignItems: 'center', }} > - Boba Balance: + BOBA Balance: {max_Float_String} - Stake Boba + Stake BOBA diff --git a/packages/boba/gateway/src/containers/save/SaveWrapper.js b/packages/boba/gateway/src/containers/save/SaveWrapper.js index 9c7b1ad9e2..cffb18eab4 100644 --- a/packages/boba/gateway/src/containers/save/SaveWrapper.js +++ b/packages/boba/gateway/src/containers/save/SaveWrapper.js @@ -1,4 +1,3 @@ - import { useTheme } from '@emotion/react' import { useMediaQuery } from '@mui/material' import React from 'react' diff --git a/packages/boba/gateway/src/containers/wallet/Wallet.js b/packages/boba/gateway/src/containers/wallet/Wallet.js index 25cdabc623..e9535ee1e1 100644 --- a/packages/boba/gateway/src/containers/wallet/Wallet.js +++ b/packages/boba/gateway/src/containers/wallet/Wallet.js @@ -19,7 +19,8 @@ import * as S from './wallet.styles' import { selectAccountEnabled, selectLayer, - selectBobaFeeChoice + selectBobaFeeChoice, + selectNetwork, } from "selectors/setupSelector" import { selectlayer2Balance } from 'selectors/balanceSelector' @@ -47,6 +48,7 @@ function Wallet() { const layer = useSelector(selectLayer()) const accountEnabled = useSelector(selectAccountEnabled()) + const network = useSelector(selectNetwork()) const feeUseBoba = useSelector(selectBobaFeeChoice()) @@ -96,7 +98,6 @@ function Wallet() { useEffect(()=>{ if (accountEnabled && l2Balances.length > 0) { - console.log("l2Balances",l2Balances) const l2BalanceETH = l2Balances.find((i) => i.symbol === 'ETH') const l2BalanceBOBA = l2Balances.find((i) => i.symbol === 'BOBA') @@ -134,6 +135,7 @@ function Wallet() { } async function emergencySwap () { + if(network !== 'rinkeby') return const res = await dispatch(getETHMetaTransaction()) if (res) dispatch(openAlert('Emergency Swap submitted')) } @@ -141,7 +143,7 @@ function Wallet() { return ( - {layer === 'L2' && tooSmallETH && + {layer === 'L2' && tooSmallETH && network === 'rinkeby' && diff --git a/packages/boba/gateway/src/containers/wallet/token/Token.js b/packages/boba/gateway/src/containers/wallet/token/Token.js index b6a616ce24..2f6c899fb1 100644 --- a/packages/boba/gateway/src/containers/wallet/token/Token.js +++ b/packages/boba/gateway/src/containers/wallet/token/Token.js @@ -46,8 +46,9 @@ function TokenPage() { return 'omg' } else if(i.symbolL1 === 'BOBA') { return 'boba-network' - } - else { + } else if(i.symbolL1 === 'OLO') { + return 'oolongswap' + } else { return i.symbolL1.toLowerCase() } }) diff --git a/packages/boba/gateway/src/layout/index.js b/packages/boba/gateway/src/layout/index.js index 6783dcee31..e9e0b42c0c 100644 --- a/packages/boba/gateway/src/layout/index.js +++ b/packages/boba/gateway/src/layout/index.js @@ -81,15 +81,18 @@ function App () { }, body1: { fontSize: 18, + display: 'block' }, body2: { fontSize: 16, fontWeight: 400, - lineHeight: '1.0em' + lineHeight: '1.0em', + display: 'block' }, body3: { - fontSize: '0.8em', - lineHeight: '1.0em' + fontSize: 14, + lineHeight: '1.1em', + display: 'block' }, body4: { fontSize: 12 diff --git a/packages/boba/gateway/src/services/graphQLService.js b/packages/boba/gateway/src/services/graphQLService.js index 1ca3f373e7..c2007b1b2c 100644 --- a/packages/boba/gateway/src/services/graphQLService.js +++ b/packages/boba/gateway/src/services/graphQLService.js @@ -6,7 +6,13 @@ require('dotenv').config() class GraphQLService { getBridgeEndpoint = () => { - return `https://graph.${process.env.REACT_APP_CHAIN ?? 'rinkeby'}.boba.network/subgraphs/name/boba/Bridges` + if(process.env.REACT_APP_CHAIN === 'mainnet') { + return `https://api.thegraph.com/subgraphs/name/bobanetwork/boba-l2-subgraph` + } else if (process.env.REACT_APP_CHAIN === 'rinkeby') { + return `https://graph.rinkeby.boba.network/subgraphs/name/boba/Bridges` + } else { + return '' + } } async queryBridgeProposalCreated() { @@ -18,6 +24,11 @@ class GraphQLService { -H "Content-Type: application/json" \ -d '{"query":"{ governorProposalCreateds {proposalId values description proposer}}"}' \ https://graph.rinkeby.boba.network/subgraphs/name/boba/Bridges + + curl -g -X POST \ + -H "Content-Type: application/json" \ + -d '{"query":"{ governorProposalCreateds {proposalId values description proposer}}"}' \ + https://api.thegraph.com/subgraphs/name/bobanetwork/boba-l2-subgraph */ const client = new apollo.ApolloClient({ diff --git a/packages/boba/gateway/src/services/networkService.js b/packages/boba/gateway/src/services/networkService.js index fd8e41cf57..34bce0aff4 100644 --- a/packages/boba/gateway/src/services/networkService.js +++ b/packages/boba/gateway/src/services/networkService.js @@ -3928,6 +3928,8 @@ class NetworkService { async savingEstimate() { + // used to generate gas estimates for contracts that cannot set amount === 0 + // to avoid need to approve amount const benchmarkAccount = '0x4161aEf7ac9F8772B83Cda1E5F054ADe308d9049' let otherField = { diff --git a/packages/boba/gateway/src/util/amountConvert.js b/packages/boba/gateway/src/util/amountConvert.js index f414fed044..75238ee8cc 100644 --- a/packages/boba/gateway/src/util/amountConvert.js +++ b/packages/boba/gateway/src/util/amountConvert.js @@ -61,6 +61,8 @@ export function amountToUsd(amount, lookupPrice, token) { return amount * lookupPrice['ethereum'].usd } else if (token.symbol === 'BOBA' && !!lookupPrice[ 'boba-network' ]) { return amount * lookupPrice['boba-network'].usd + } else if (token.symbol === 'OLO' && !!lookupPrice[ 'oolongswap' ]) { + return amount * lookupPrice['oolongswap'].usd } else if (token.symbol === 'OMG' && !!lookupPrice[ 'omisego' ]) { return amount * lookupPrice['omisego'].usd } else if (!!lookupPrice[ token.symbol.toLowerCase() ]) {