+ {children}
+
+ );
+};
+export default PulsingBadge;
\ No newline at end of file
diff --git a/packages/boba/gateway/src/components/tabs/Tabs.js b/packages/boba/gateway/src/components/tabs/Tabs.js
index bc655c2f1f..a63bb45828 100644
--- a/packages/boba/gateway/src/components/tabs/Tabs.js
+++ b/packages/boba/gateway/src/components/tabs/Tabs.js
@@ -13,11 +13,9 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. */
-import React from 'react';
-import * as S from './Tabs.styles';
+import React from 'react'
+import * as S from './Tabs.styles'
-// TODO @deprecated;
-// @deprecated;
function Tabs ({ tabs, activeTab, onClick, className }) {
return (
@@ -33,24 +31,6 @@ function Tabs ({ tabs, activeTab, onClick, className }) {
})}
);
- // return (
- //
+ >}
);
}
diff --git a/packages/boba/gateway/src/containers/bridge/Bridge.js b/packages/boba/gateway/src/containers/bridge/Bridge.js
index 4337dc2854..60e252c819 100644
--- a/packages/boba/gateway/src/containers/bridge/Bridge.js
+++ b/packages/boba/gateway/src/containers/bridge/Bridge.js
@@ -7,7 +7,7 @@ import * as S from './Bridge.styles'
function BridgeContainer() {
- const theme = useTheme();
+ const theme = useTheme()
const accountEnabled = useSelector(selectAccountEnabled())
const isMobile = useMediaQuery(theme.breakpoints.down('sm'))
diff --git a/packages/boba/gateway/src/containers/bridge/bobaBridge/bobaBridge.js b/packages/boba/gateway/src/containers/bridge/bobaBridge/bobaBridge.js
index 1c170d4deb..2d5b981b11 100644
--- a/packages/boba/gateway/src/containers/bridge/bobaBridge/bobaBridge.js
+++ b/packages/boba/gateway/src/containers/bridge/bobaBridge/bobaBridge.js
@@ -1,22 +1,33 @@
-import React from "react";
-import { useDispatch, useSelector } from "react-redux";
-import { Box, Typography, Switch, useTheme } from "@mui/material";
-import { setPage } from 'actions/uiAction';
+import React, { useState } from 'react'
+
+import { useDispatch, useSelector } from "react-redux"
+
+import { Box, Typography, Switch, useTheme } from "@mui/material"
+import { setPage } from 'actions/uiAction'
+
+import BobaIcon from 'components/icons/BobaIcon.js'
+import EthereumIcon from 'components/icons/EthereumIcon.js'
+import Button from 'components/button/Button.js'
-import BobaIcon from 'components/icons/BobaIcon.js';
-import EthereumIcon from 'components/icons/EthereumIcon.js';
-import LayerSwitcher from 'components/mainMenu/layerSwitcher/LayerSwitcher';
-import WalletPicker from "components/walletpicker/WalletPicker";
import * as LaytoutS from 'components/common/common.styles'
-import { selectAccountEnabled, selectLayer } from "selectors/setupSelector";
+import {
+ selectAccountEnabled,
+ selectNetwork,
+ selectLayer
+} from 'selectors/setupSelector'
import * as S from './bobaBridge.styles';
-import BridgeTransfer from './bridgeTransfer/bridgeTransfer';
+import BridgeTransfer from './bridgeTransfer/bridgeTransfer'
import { selectBridgeTokens, selectMultiBridgeMode } from "selectors/bridgeSelector"
import { resetToken, setMultiBridgeMode } from "actions/bridgeAction"
+import {
+ setConnectETH,
+ setConnectBOBA
+} from 'actions/setupAction'
+
function BobaBridge() {
const layer = useSelector(selectLayer())
@@ -24,67 +35,89 @@ function BobaBridge() {
const multibridgeMode = useSelector(selectMultiBridgeMode())
const tokens = useSelector(selectBridgeTokens())
const dispatch = useDispatch()
-
+ const [ toL2, setToL2 ] = useState(true)
const theme = useTheme()
const iconColor = theme.palette.mode === 'dark' ? '#fff' : '#000'
+
+ async function connectToETH () {
+ dispatch(setConnectETH(true))
+ }
+
+ async function connectToBOBA () {
+ dispatch(setConnectBOBA(true))
+ }
- if (!accountEnabled) {
+ async function switchDirection () {
+ console.log("layer:",layer)
+ if(accountEnabled) {
+ if(layer === 'L1')
+ dispatch(setConnectBOBA(true))
+ else
+ dispatch(setConnectETH(true))
+ } else {
+ setToL2(!toL2)
+ }
+ }
+
+ if (!accountEnabled && toL2) {
return (
Bridge
- Select tokens to send through the Boba Bridge.
+ Select the bridge direction.
-
-
- From
-
-
+ From
-
-
- Ethereum
-
+
+ Ethereum
-
+
-
+ {switchDirection()}}>
-
-
- To
-
+ To
+
+ Boba
+
+
+
+
+ )
+ } else if (!accountEnabled && !toL2) {
+ return (
+
+
+ Bridge
+ Select the bridge direction.
+
+
+
+
+ From
+
+
+ Boba
+
+
-
-
- Boba Network
-
+
+ {switchDirection()}}>
+
+
+
+ To
+
+ Ethereum
@@ -108,32 +141,18 @@ function BobaBridge() {
- {!layer ?
-
-
-
- : layer === 'L1'
- ?
- Ethereum
- :
-
- Boba Network
-
+ {layer === 'L1' ?
+ Ethereum
+ :
+ Boba
}
-
-
-
+ {switchDirection()}}>
+
+
- {!layer ?
-
- : layer === 'L2' ?
-
- Ethereum
- :
- Boba Network
-
+ {layer === 'L2' ?
+ Ethereum
+ :
+ Boba
}
diff --git a/packages/boba/gateway/src/containers/connect/Connect.js b/packages/boba/gateway/src/containers/connect/Connect.js
new file mode 100644
index 0000000000..af97bd9078
--- /dev/null
+++ b/packages/boba/gateway/src/containers/connect/Connect.js
@@ -0,0 +1,71 @@
+import React from "react"
+import * as G from '../Global.styles'
+
+import { useDispatch } from "react-redux"
+import AlertIcon from 'components/icons/AlertIcon'
+import Button from 'components/button/Button.js'
+
+import {
+ setConnectETH,
+ setConnectBOBA,
+ setConnect
+} from 'actions/setupAction'
+
+const Connect = ({ userPrompt, accountEnabled, connectToBoba = false, layer = '' }) => {
+
+ const dispatch = useDispatch()
+
+ if(!accountEnabled && !connectToBoba) {
+ return (
+
+
+
+
+ {userPrompt}
+
+
+
+
+ )
+ }
+ else if (layer !== 'L2' && connectToBoba) {
+ return (
+
+
+
+
+ {userPrompt}
+
+
+
+
+ )
+ }
+
+ return null
+
+}
+
+export default Connect
+
+
diff --git a/packages/boba/gateway/src/containers/dao/Dao.js b/packages/boba/gateway/src/containers/dao/Dao.js
index 2d92d83645..b337319267 100644
--- a/packages/boba/gateway/src/containers/dao/Dao.js
+++ b/packages/boba/gateway/src/containers/dao/Dao.js
@@ -26,8 +26,6 @@ import { selectLayer, selectAccountEnabled } from 'selectors/setupSelector'
import { selectProposals } from 'selectors/daoSelector'
import { selectLoading } from 'selectors/loadingSelector'
-import WalletPicker from 'components/walletpicker/WalletPicker'
-
import * as S from './Dao.styles'
import * as styles from './Dao.module.scss'
@@ -38,6 +36,7 @@ import AlertIcon from 'components/icons/AlertIcon'
import networkService from 'services/networkService'
import truncateMiddle from 'truncate-middle'
import WalletIcon from 'components/icons/WalletIcon'
+import Connect from 'containers/connect/Connect'
import { orderBy } from 'lodash'
import Select from 'components/select/Select'
@@ -87,25 +86,20 @@ function DAO() {
return (
+
-
-
- {(layer !== 'L2') ?
- Not connected to Boba
- : Connected
- }
-
+
+
+
-
- {!accountEnabled ?
- Please connect to Boba to vote and propose.
- : {wAddress}
- }
-
- BalancesBOBA:
@@ -122,40 +116,25 @@ function DAO() {
{!!layer ? Math.round(Number(votesX)) : '--'}Total:{!!layer ? Math.round(Number(votes) + Number(votesX)) : '--'}
- {!layer ?
-
-
- : layer === 'L2' ?
-
-
-
-
- :
-
-
-
- You are on Mainnet. To use the Boba DAO, SWITCH to Boba
-
-
-
-
+ {layer === 'L2' &&
+
+
+
+
}
Only votes delegated BEFORE the start of the active voting period are counted in your vote
diff --git a/packages/boba/gateway/src/containers/dao/Dao.styles.js b/packages/boba/gateway/src/containers/dao/Dao.styles.js
index e6749f886f..f5bf23e83f 100644
--- a/packages/boba/gateway/src/containers/dao/Dao.styles.js
+++ b/packages/boba/gateway/src/containers/dao/Dao.styles.js
@@ -26,7 +26,8 @@ export const DaoPageContainer = styled(Box)(({ theme }) => ({
export const DaoPageContent = styled(Box)(({ theme }) => ({
display: 'flex',
- justifyContent: 'space-around',
+ flexDirection: 'row',
+ justifyContent: 'center',
alignItems: 'flex-start',
paddingTop: '0px',
gap: '10px',
@@ -36,14 +37,13 @@ export const DaoPageContent = styled(Box)(({ theme }) => ({
}));
export const DaoWalletContainer = styled(Box)(({ theme }) => ({
- background: theme.palette.background.secondary,
- margin: 'auto',
display: 'flex',
flexDirection: 'column',
padding: '0px 20px',
minHeight: '700px',
- borderRadius: '20px',
width: '30%',
+ borderRadius: theme.palette.primary.borderRadius,
+ background: theme.palette.background.secondary,
[theme.breakpoints.down('sm')]: {
width: '100%',
},
@@ -80,7 +80,7 @@ export const DaoProposalContainer = styled(Box)(({ theme }) => ({
justifyContent: 'flex-start',
padding: '0 32px',
minHeight: '500px',
- borderRadius: '20px',
+ borderRadius: theme.palette.primary.borderRadius,
background: theme.palette.background.secondary,
[theme.breakpoints.down('sm')]: {
width: '100%',
diff --git a/packages/boba/gateway/src/containers/ecosystem/Ecosystem.styles.js b/packages/boba/gateway/src/containers/ecosystem/Ecosystem.styles.js
index fc92493d60..d07b2fe3e2 100644
--- a/packages/boba/gateway/src/containers/ecosystem/Ecosystem.styles.js
+++ b/packages/boba/gateway/src/containers/ecosystem/Ecosystem.styles.js
@@ -1,5 +1,4 @@
import { Box, Divider, Grid, IconButton, Typography } from '@mui/material';
-import Card from '@mui/material/Card';
import { styled } from '@mui/material/styles';
export const EcoSystemPageContainer = styled(Box)(({ theme }) => ({
@@ -24,69 +23,6 @@ export const EcoSystemPageContainer = styled(Box)(({ theme }) => ({
},
}))
-export const TileCard = styled(Card)(({ theme, ...props }) => ({
- borderRadius: '5px',
- height: '150px',
- width: '150px',
- padding: '5px',
- backgroundColor: theme.palette.background.secondary,
- justifyContent: 'space-between',
- //maxWidth: '90%',
- display: 'flex',
- alignItems: 'center',
- flexDirection: 'column',
- margin: '10px 0',
- border: 'solid rgba(255, 255, 255, 0.27)',
- borderWidth: '1px',
-}))
-
-export const TileHeader = styled(Box)(({ theme, ...props }) => ({
- display: 'flex',
- flexDirection: 'column',
- justifyContent: 'space-evenly',
- alignItems: 'center',
-}))
-
-export const ImageContainer = styled(Box)(({ theme, ...props }) => ({
- display: 'flex',
- flexDirection: 'column',
- justifyContent: 'center',
- alignItems: 'center',
- width: '70px',
- height: '70px',
- borderRadius: '50%',
- position: 'absolute',
- margin: 'auto',
- top: '15px',
- background: theme.palette.mode === 'light' ? '#c7c3c3' : '#272B30',
- 'img': {
- width: '50px',
- maxHeight: '60px',
- padding: '2px'
- }
-}))
-
-export const TileFooter = styled(Box)(({ theme, ...props }) => ({
- display: 'flex',
- flexDirection: 'row',
- alignItems: 'center',
- overflow: 'hidden',
- borderBottomLeftRadius: '12px',
- borderBottomRightRadius: '12px',
- background: theme.palette.background.secondary,
- justifyContent: 'space-around',
- padding: '1rem',
- gap: 1,
- width: '100%'
-}))
-
-export const DividerLine = styled(Divider)(({ theme }) => ({
- background: `${theme.palette.mode === 'dark' ? 'rgba(255, 255, 255, 0.04)' : 'rgba(3, 19, 19, 0.04)'}`,
- boxSizing: 'border-box',
- boxShadow: `${theme.palette.mode === 'dark' ? '0px 4px 4px rgba(0, 0, 0, 0.25)' : 'none'}`,
- width: '100%'
-}))
-
export const CategoryList = styled(Box)(({ theme }) => ({
display: 'flex',
justifyContent: 'flex-start',
@@ -98,7 +34,6 @@ export const CategoryList = styled(Box)(({ theme }) => ({
},
}))
-
export const ProjectListContainer = styled(Grid)(({ theme }) => ({
margin: "20px 10px !important",
gap: '10px'
@@ -122,8 +57,8 @@ export const ProjectContainer = styled(Box)(({ theme }) => ({
}))
export const ProjectContent = styled(Box)(({ theme }) => ({
- borderTopLeftRadius: '12px',
- borderTopRightRadius: '12px',
+ borderTopLeftRadius: '8px',
+ borderTopRightRadius: '8px',
background: theme.palette.background.secondary, //'rgba(255, 255, 255, 0.06)',
display: 'flex',
flexDirection: 'column',
@@ -134,21 +69,62 @@ export const ProjectContent = styled(Box)(({ theme }) => ({
gap: 1,
marginTop: '50px',
width: '100%',
- height: '-webkit-fill-available'
+ height: '140px'
}))
+export const ImageContainer = styled(Box)(({ theme, ...props }) => ({
+ display: 'flex',
+ flexDirection: 'column',
+ justifyContent: 'center',
+ alignItems: 'center',
+ width: '70px',
+ height: '70px',
+ borderRadius: '50%',
+ position: 'absolute',
+ margin: 'auto',
+ top: '15px',
+ background: theme.palette.mode === 'light' ? '#c7c3c3' : '#272B30',
+ 'img': {
+ width: '50px',
+ maxHeight: '60px',
+ padding: '2px'
+ }
+}))
+
+export const DividerLine = styled(Divider)(({ theme }) => ({
+ background: `${theme.palette.mode === 'dark' ? 'rgba(255, 255, 255, 0.04)' : 'rgba(3, 19, 19, 0.04)'}`,
+ boxSizing: 'border-box',
+ boxShadow: `${theme.palette.mode === 'dark' ? '0px 4px 4px rgba(0, 0, 0, 0.25)' : 'none'}`,
+ width: '100%'
+}))
export const ProjectDescription = styled(Typography)(({ theme }) => ({
width: '100%',
overflow: 'hidden',
textOverflow: 'ellipsis',
opacity: 0.85,
+ fontSize: '0.7em',
fontWeight: 400,
display: '-webkit-box',
'WebkitLineClamp': 3,
'WebkitBoxOrient': 'vertical'
}))
+export const TileFooter = styled(Box)(({ theme, ...props }) => ({
+ display: 'flex',
+ flexDirection: 'row',
+ alignItems: 'center',
+ overflow: 'hidden',
+ height: '45px',
+ width: '100%',
+ borderBottomLeftRadius: '8px',
+ borderBottomRightRadius: '8px',
+ background: theme.palette.background.secondary,
+ justifyContent: 'space-around',
+ padding: '1rem',
+ gap: 1,
+}))
+
export const footerLink = styled(IconButton)(({ theme }) => ({
'&:hover ': {
svg: {
diff --git a/packages/boba/gateway/src/containers/ecosystem/project.list.js b/packages/boba/gateway/src/containers/ecosystem/project.list.js
index 36f6487319..16cb4bda79 100644
--- a/packages/boba/gateway/src/containers/ecosystem/project.list.js
+++ b/packages/boba/gateway/src/containers/ecosystem/project.list.js
@@ -50,7 +50,7 @@ export const projectList = [
"discord": "http://discord.gg/savwHHXsmU",
"type": "defi",
"image": OolongswapLogo,
- "description": "The leading DEX built on Boba Network (Ethereum’s newest L2). OolongSwap incorporates all of the features you need from a traditional DEX while pioneering new ideas from DeFi 2.0 such as Protocol Controlled Value."
+ "description": "The leading DEX on Boba. OolongSwap incorporates all of the features you need from a traditional DEX while pioneering new ideas from DeFi 2.0 such as Protocol Controlled Value."
},
{
"title": "FRAX",
@@ -80,7 +80,7 @@ export const projectList = [
"twitter": "https://twitter.com/AnyswapNetwork",
"type": "bridge",
"image": multiChainLogo,
- "description": "Cross-Chain Router Protocol, envisioned to be the ultimate router for Web3"
+ "description": "Cross-Chain Router Protocol, envisioned to be the ultimate router for Web3."
},
{
"title": "Synapse",
@@ -112,7 +112,7 @@ export const projectList = [
"discord": "https://discord.com/invite/DwjPNvAwdd",
"type": "defi",
"image": zenchaLogo,
- "description": "The First StableSwap Exchange & Liquidity Pool on Boba Network"
+ "description": "The First StableSwap Exchange & Liquidity Pool on Boba."
},
{
"title": "Unidex",
@@ -154,7 +154,7 @@ export const projectList = [
"twitter": "https://twitter.com/boba_punks",
"type": "nft",
"image": bobaPunksLogo,
- "description": "The first punks on Boba Network."
+ "description": "The first punks on Boba."
},
{
"title": "Boba Doge",
@@ -165,7 +165,7 @@ export const projectList = [
"discord": "http://discord.gg/jvXBqpKgdt",
"type": "token",
"image": bobaDogeLogo,
- "description": "The first dog coin on Boba Network."
+ "description": "The first dog coin on Boba."
},
{
"title": "ApeBoard",
@@ -200,7 +200,7 @@ export const projectList = [
"title": "Dodo",
"canLaunch": true,
"link": "https://dodoex.io/",
- "twitter": "https://twitter.com/BreederDodo?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor",
+ "twitter": "https://twitter.com/BreederDodo",
"discord": "http://discord.gg/tyKReUK",
"type": "defi",
"image": dodoLogo,
@@ -354,7 +354,7 @@ export const projectList = [
"twitter": "https://twitter.com/boba_brewery",
"type": "defi",
"image": brewery,
- "description": "Boba Brewery is the first exclusive launchpad for decentralized fundraising in Boba ecosystem, offering the hottest and innovative projects in a fair, secure, and efficient way."
+ "description": "Boba Brewery is the first launchpad for decentralized fundraising in the Boba ecosystem, offering the hottest and innovative projects in a fair, secure, and efficient way."
},
{
"title": "Bodh Finance",
diff --git a/packages/boba/gateway/src/containers/farm/Farm.js b/packages/boba/gateway/src/containers/farm/Farm.js
index 241a64405d..ca91987831 100644
--- a/packages/boba/gateway/src/containers/farm/Farm.js
+++ b/packages/boba/gateway/src/containers/farm/Farm.js
@@ -31,9 +31,11 @@ import * as S from './Farm.styles'
import { Box, FormControlLabel, Checkbox, Typography } from '@mui/material'
import Tooltip from 'components/tooltip/Tooltip';
import LayerSwitcher from 'components/mainMenu/layerSwitcher/LayerSwitcher'
-import WalletPicker from 'components/walletpicker/WalletPicker'
+
+import Connect from 'containers/connect/Connect'
import PageTitle from 'components/pageTitle/PageTitle'
-import { Circle, HelpOutline } from '@mui/icons-material'
+
+import { HelpOutline } from '@mui/icons-material'
class Farm extends React.Component {
@@ -203,7 +205,6 @@ class Farm extends React.Component {
poolTab,
showMDO,
showMSO,
- dropDownBox,
accountEnabled,
layer,
} = this.state
@@ -212,72 +213,13 @@ class Farm extends React.Component {
return (
-
-
- {!accountEnabled &&
-
-
-
-
- Connect to MetaMask to see your balances and contribute to the liquidity pool
-
-
-
-
- }
-
-
-
-
-
-
-
- Bridging fees are proportionally distributed to stakers. The bridges are not farms. Your earnings only increase when someone uses the
- bridge you have staked into.
-
-
-
-
- Staking example. When you stake 10 OMG into the L2 pool, then the pool's liquidity and balance both increase by 10 OMG.
-
- Fast Bridge example. When a user bridges 10 OMG from L1 to L2 using the fast bridge,
- they send 10 OMG to the L1 pool, increasing its balance by 10 OMG. Next, 9.99 OMG flow out from the L2 pool to the user's L2 wallet, completing the bridge.
- Note that bridge operations do not change the pool's liquidity, but only its balance.
- The difference between what was deposited into the L1 pool (10 OMG) and what was sent
- to the user on the L2 (9.99 OMG), equal to 0.01 OMG, is sent to the reward pool, for harvesting by stakers.
-
- Pool rebalancing. In some circumstances, excess balances can accumulate on one chain. For example, if many people
- bridge from L1 to L2, then L1 pool balances will increase, while L2 balances will decrease. When needed, the pool operator can
- rebalance the pools, using 'classic' deposit and exit operations to move funds from one pool to another. Rebalancing takes 7 days, due to the
- 7 day fraud proof window, which also applies to the operator.
-
- Dynamic fees. The pools use an automatic supply-and-demand approach to setting the fees.
- When a pool's liquidity is low, the fees are increased to attract more liquidity into that pool and vice-versa.
-
- }
- >
- { this.setState({ dropDownBox: !dropDownBox, dropDownBoxInit: false }) }}
- sx={{ color: "#0ebf9a" }}
- >
- Learn More
-
-
-
+
-
+
@@ -324,12 +266,40 @@ class Farm extends React.Component {
label="My Stakes Only"
/>
+
-
- {!accountEnabled ?
- Disconnected
- : Connected}
-
+
+
+
+
+ Bridging fees are proportionally distributed to stakers. The bridges are not farms.
+ Your earnings only increase when someone uses the bridge you have staked into.
+
+
+
+ Staking example. When you stake 10 OMG into the L2 pool, then the pool's liquidity and balance both increase by 10 OMG.
+
+ Fast Bridge example. When a user bridges 10 OMG from L1 to L2 using the fast bridge,
+ they send 10 OMG to the L1 pool, increasing its balance by 10 OMG. Next, 9.99 OMG flow out from the L2 pool to the user's L2 wallet, completing the bridge.
+ Note that bridge operations do not change the pool's liquidity, but only its balance.
+ The difference between what was deposited into the L1 pool (10 OMG) and what was sent
+ to the user on the L2 (9.99 OMG), equal to 0.01 OMG, is sent to the reward pool, for harvesting by stakers.
+
+ Pool rebalancing. In some circumstances, excess balances can accumulate on one chain. For example, if many people
+ bridge from L1 to L2, then L1 pool balances will increase, while L2 balances will decrease. When needed, the pool operator can
+ rebalance the pools, using 'classic' deposit and exit operations to move funds from one pool to another. Rebalancing takes 7 days, due to the
+ 7 day fraud proof window, which also applies to the operator.
+
+ Dynamic fees. The pools use an automatic supply-and-demand approach to setting the fees.
+ When a pool's liquidity is low, the fees are increased to attract more liquidity into that pool and vice-versa.
+
+ }
+ >
+
+
+
{layer === 'L2' && lpChoice === 'L1LP' &&
diff --git a/packages/boba/gateway/src/containers/farm/Farm.styles.js b/packages/boba/gateway/src/containers/farm/Farm.styles.js
index c926fdff19..936c629c84 100644
--- a/packages/boba/gateway/src/containers/farm/Farm.styles.js
+++ b/packages/boba/gateway/src/containers/farm/Farm.styles.js
@@ -50,6 +50,18 @@ export const LayerAlert = styled(Box)(({ theme }) => ({
},
}))
+export const Help = styled(Box)(({ theme }) => ({
+ width: "100%",
+ display: 'flex',
+ justifyContent: 'space-between',
+ alignItems: 'center',
+ gap: '30px',
+ margin: '10px 0px',
+ padding: '10px',
+ borderRadius: theme.palette.primary.borderRadius,
+ background: theme.palette.background.secondary,
+}))
+
export const AlertText = styled(Typography)(({ theme }) => ({
marginLeft: '10px',
flex: 4,
@@ -92,32 +104,6 @@ export const GridItemTag = styled(Grid)`
gap:5px;
`;
-export const DropdownWrapper = styled(Box)`
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 5px;
- width: 100%;
- padding: 16px;
- margin-top: 16px;
- background-color: ${props => props.theme.palette.background.secondary};
- border-radius: 12px;
- text-align: left;
-`;
-
-export const DropdownContent = styled(Box)(({ theme }) => ({
- display: 'flex',
- justifyContent: 'space-between',
- [theme.breakpoints.down('md')]: {
- flexDirection: 'column',
- gap: '0',
- },
- [theme.breakpoints.up('md')]: {
- flexDirection: 'row',
- gap: '16px',
- },
-}));
-
export const FarmAction = styled(Box)(({theme})=>({
display: 'flex',
justifyContent: 'space-around',
diff --git a/packages/boba/gateway/src/containers/help/Help.js b/packages/boba/gateway/src/containers/help/Help.js
index 433b54ba4e..b667918a6f 100644
--- a/packages/boba/gateway/src/containers/help/Help.js
+++ b/packages/boba/gateway/src/containers/help/Help.js
@@ -1,7 +1,7 @@
import { Grid, Link, Typography } from '@mui/material'
import AlertIcon from 'components/icons/AlertIcon'
import PageTitle from 'components/pageTitle/PageTitle'
-import WalletPicker from 'components/walletpicker/WalletPicker'
+
import React from 'react'
import { useSelector } from 'react-redux'
import { selectAccountEnabled } from 'selectors/setupSelector'
@@ -15,21 +15,6 @@ function Help() {
- {!accountEnabled &&
-
-
-
-
- Connect to MetaMask
-
-
-
-
- }
-
@@ -75,7 +60,12 @@ function Help() {
Please use your browser's developer console to see the error message and then please check the project's{' '}
- GitHub issues list{' '}
+ GitHub issues list
+ {' '}
to see if other people have had the same problem. If not, please file a new GitHub issue.
@@ -84,10 +74,15 @@ function Help() {
We love hearing about new features that you would like. Please file suggestions,
- prefaced with `Gateway Feature`, in our{' '}
- GitHub issues list.
+ prefaced with `Gateway Feature`, in our {' '}
+ GitHub issues and features list
+ .
Expect a turnaround time of several days for us to be able to consider new UI/GateWay features.
- Keep in mind that this is an opensource project, so help out, $ git clone, $ yarn, $ yarn start, and then open a PR.
+ Keep in mind that this is an opensource project, so help out and open a PR.
@@ -97,3 +92,14 @@ function Help() {
}
export default React.memo(Help)
+
+
+/*
+ Oolongswap
+
+ */
diff --git a/packages/boba/gateway/src/containers/history/History.js b/packages/boba/gateway/src/containers/history/History.js
index 6d8f5d01a3..3a59c7b214 100644
--- a/packages/boba/gateway/src/containers/history/History.js
+++ b/packages/boba/gateway/src/containers/history/History.js
@@ -20,10 +20,9 @@ import { useSelector } from 'react-redux'
import DatePicker from 'react-datepicker'
import "react-datepicker/dist/react-datepicker.css"
-import { Box, useMediaQuery, useTheme } from '@mui/material'
+import { useMediaQuery, useTheme } from '@mui/material'
import moment from 'moment'
-
import Input from 'components/input/Input'
import { setActiveHistoryTab } from 'actions/uiAction'
@@ -33,8 +32,6 @@ import { fetchTransactions } from 'actions/networkAction'
import { selectTransactions } from 'selectors/transactionSelector'
import { selectLayer } from 'selectors/setupSelector'
-import Tabs from 'components/tabs/Tabs'
-
import Exits from './TX_Exits'
import Deposits from './TX_Deposits'
import All from './TX_All'
@@ -45,8 +42,8 @@ import * as styles from './TX_All.module.scss'
import useInterval from 'util/useInterval'
import PageTitle from 'components/pageTitle/PageTitle'
-import WalletPicker from 'components/walletpicker/WalletPicker'
-import AlertIcon from 'components/icons/AlertIcon'
+import Connect from 'containers/connect/Connect'
+import Tabs from 'components/tabs/Tabs'
import { POLL_INTERVAL } from 'util/constant'
@@ -87,24 +84,12 @@ function History() {
-
-
-
-
- {!layer &&
-
-
-
-
- Connect to MetaMask to see your history
-
-
-
-
- }
+
+
+
{layer && <>
diff --git a/packages/boba/gateway/src/containers/home/Home.js b/packages/boba/gateway/src/containers/home/Home.js
index 911cd6018e..13f32b70e0 100644
--- a/packages/boba/gateway/src/containers/home/Home.js
+++ b/packages/boba/gateway/src/containers/home/Home.js
@@ -94,7 +94,6 @@ import { getFS_Saves, getFS_Info } from 'actions/fixedAction'
import { fetchVerifierStatus } from 'actions/verifierAction'
import Airdrop from 'containers/airdrop/Airdrop'
-import Account from 'containers/account/Account'
import Transactions from 'containers/history/History'
import BobaScope from 'containers/bobaScope/BobaScope'
import Help from 'containers/help/Help'
@@ -334,9 +333,6 @@ function Home() {
width: '100vw',
marginRight: 'unset'
}}>
- {pageDisplay === "AccountNow" &&
-
- }
{pageDisplay === "History" &&
}
diff --git a/packages/boba/gateway/src/containers/modals/exit/steps/DoExitStep.js b/packages/boba/gateway/src/containers/modals/exit/steps/DoExitStep.js
index 8d776d63fe..7987cd812b 100644
--- a/packages/boba/gateway/src/containers/modals/exit/steps/DoExitStep.js
+++ b/packages/boba/gateway/src/containers/modals/exit/steps/DoExitStep.js
@@ -276,7 +276,7 @@ function DoExitStep({ handleClose, token, isBridge, openTokenPicker }) {
}
let receiveL1 = `${Number(value).toFixed(3)} ${token.symbol}
- ${!!amountToUsd(value, lookupPrice, token) ? `($${amountToUsd(value, lookupPrice, token).toFixed(2)})`: ''}.`
+ ${!!amountToUsd(value, lookupPrice, token) ? `($${amountToUsd(value, lookupPrice, token).toFixed(2)})`: ''}`
if( Number(logAmount(token.balance, token.decimals)) === 0) {
//no token in this account
@@ -290,7 +290,6 @@ function DoExitStep({ handleClose, token, isBridge, openTokenPicker }) {
disabled={false}
variant='outlined'
color='primary'
- size='large'
>
Cancel
@@ -310,7 +309,6 @@ function DoExitStep({ handleClose, token, isBridge, openTokenPicker }) {
disabled={false}
variant='outlined'
color='primary'
- size='large'
>
Cancel
@@ -357,12 +355,11 @@ function DoExitStep({ handleClose, token, isBridge, openTokenPicker }) {
}
-
@@ -385,7 +382,6 @@ function DoExitStep({ handleClose, token, isBridge, openTokenPicker }) {
disabled={false}
variant='outlined'
color='primary'
- size='large'
>
{buttonLabel}
@@ -399,7 +395,6 @@ function DoExitStep({ handleClose, token, isBridge, openTokenPicker }) {
disabled={!validValue}
triggerTime={new Date()}
fullWidth={isMobile}
- size="large"
>
Bridge to L1
diff --git a/packages/boba/gateway/src/containers/modals/exit/steps/DoExitStepFast.js b/packages/boba/gateway/src/containers/modals/exit/steps/DoExitStepFast.js
index f1b0b49d2f..d70f62e88c 100644
--- a/packages/boba/gateway/src/containers/modals/exit/steps/DoExitStepFast.js
+++ b/packages/boba/gateway/src/containers/modals/exit/steps/DoExitStepFast.js
@@ -132,7 +132,7 @@ function DoExitStepFast({ handleClose, token, isBridge, openTokenPicker }) {
}
else if (
exitFee > Number(feeBalanceBOBA)) {
- setErrorString(`Insufficient BOBA balance to cover xChain message relay. You need at least ${exitFee} BOBA.`)
+ setErrorString(`Insufficient BOBA balance to cover xChain message relay. You need at least ${exitFee} BOBA`)
setValidValue(false)
setValue(value)
return false
diff --git a/packages/boba/gateway/src/containers/monster/Monster.js b/packages/boba/gateway/src/containers/monster/Monster.js
index 59e8dfc42c..8ec90deb70 100644
--- a/packages/boba/gateway/src/containers/monster/Monster.js
+++ b/packages/boba/gateway/src/containers/monster/Monster.js
@@ -7,14 +7,10 @@ import * as S from './Monster.styles'
import { Box, Typography, Grid } from '@mui/material'
-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 WalletPicker from 'components/walletpicker/WalletPicker'
+import Connect from 'containers/connect/Connect'
class Monster extends React.Component {
@@ -107,6 +103,7 @@ class Monster extends React.Component {
list,
netLayer,
monsterInfo,
+ accountEnabled
} = this.state
let tokenIDverified = null
@@ -140,60 +137,19 @@ class Monster extends React.Component {
}
}
- if (!netLayer) {
-
- return (
-
-
-
-
-
- Not connected. To access the MonsterVerse, CONNECT to Boba
-
-
-
-
-
- )
-
- } else if (netLayer === 'L1') {
-
- return (
-
-
-
-
-
-
- You are on Ethereum. To access the MonsterVerse, SWITCH to Boba
-
-
-
-
-
-
- )
- }
-
- else {
+ return (
- return (
-
-
- {(netLayer !== 'L2') ?
- Not connected to Boba
- : Connected
- }
-
+
+
+
+
+
@@ -267,10 +223,10 @@ class Monster extends React.Component {
-
-
+
+
- )}
+ )
}
}
diff --git a/packages/boba/gateway/src/containers/save/Save.js b/packages/boba/gateway/src/containers/save/Save.js
index 929886b022..fd6ed7c57c 100644
--- a/packages/boba/gateway/src/containers/save/Save.js
+++ b/packages/boba/gateway/src/containers/save/Save.js
@@ -32,12 +32,11 @@ 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 BobaGlassIcon from 'components/icons/BobaGlassIcon'
import Input from 'components/input/Input'
import Button from 'components/button/Button'
import ListSave from 'components/listSave/listSave'
+import Connect from 'containers/connect/Connect'
import { toWei_String } from 'util/amountConvert'
import networkService from 'services/networkService'
@@ -242,13 +241,16 @@ class Save extends React.Component {
return (
-
-
- {(netLayer !== 'L2') ?
- Not connected to Boba
- : Connected
- }
-
+
+
+
+
+
@@ -308,8 +310,8 @@ class Save extends React.Component {
Fee: {fee} ETH
}
- {!accountEnabled ? : null }
- { netLayer === 'L2' ?
+
+ { netLayer === 'L2' &&
- : netLayer === 'L1' ?
-
-
-
-
- You are on Ethereum. To stake, SWITCH to Boba
-
-
-
-
- : null
}
diff --git a/packages/boba/gateway/src/containers/status/Status.js b/packages/boba/gateway/src/containers/status/Status.js
deleted file mode 100644
index 183cba700b..0000000000
--- a/packages/boba/gateway/src/containers/status/Status.js
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
-Copyright 2019-present OmiseGO Pte Ltd
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */
-
-import React from 'react';
-import { useSelector } from 'react-redux';
-
-import { selectConnection, selectByzantine, selectIsSynced } from 'selectors/statusSelector';
-
-import Info from 'components/info/Info';
-import Tooltip from 'components/tooltip/Tooltip';
-import { selectNetwork } from 'selectors/setupSelector';
-
-import * as styles from './Status.module.scss';
-
-function Status ({ className }) {
-
- const watcherConnection = useSelector(selectConnection);
- const byzantineChain = useSelector(selectByzantine);
- const isSynced = useSelector(selectIsSynced);
-
- const network = useSelector(selectNetwork());
-
- let networkLabel = 'Local'
-
- if(network === 'rinkeby') {
- networkLabel = 'Rinkeby'
- } else if (network === 'mainnet') {
- networkLabel = 'Mainnet'
- }
-
- const renderNoConnection = (
-
-