@bzxnetwork/portal
Version:
Frontend demo portal for bZx
108 lines (102 loc) • 2.88 kB
JSX
import { Fragment } from "react";
import styled from "styled-components";
import { fromBigNumber } from "../../common/utils";
const Container = styled.div`
display: flex;
width: 100%;
text-align: center;
padding: 24px 0;
justify-content: center;
align-items: center;
flex-direction: column;
`;
const DataContainer = styled.div`
display: flex;
`;
const Title = styled.div`
margin-right: 12px;
margin-bottom: 12px !important;
color: rgba(0, 0, 0, 0.54);
padding: 0;
font-size: 1rem;
line-height: 1;
`;
const Hash = styled.a`
display: inline-block;
font-family: monospace;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 20ch;
vertical-align: middle;
`;
export default ({
bZx,
oracles,
initialMarginAmount,
maintenanceMarginAmount,
oracleAddress,
feeRecipientAddress,
lenderRelayFee,
traderRelayFee
}) => {
const oracle = oracles.filter(o => o.address === oracleAddress)[0];
const useRelay =
feeRecipientAddress !== `0x0000000000000000000000000000000000000000`;
return (
<Fragment>
<Container>
<DataContainer>
<Title>Initial Margin Amount</Title>
<div>{fromBigNumber(initialMarginAmount, 1e18)}%</div>
</DataContainer>
<DataContainer>
<Title>Maintenance Margin Amount</Title>
<div>{fromBigNumber(maintenanceMarginAmount, 1e18)}%</div>
</DataContainer>
<DataContainer>
<Title>Oracle</Title>
<div>
{oracle ? (
<Fragment>
{oracle.name} (
<Hash
href={`${bZx.etherscanURL}address/${oracle.address}`}
target="_blank"
rel="noopener noreferrer"
>
{oracle.address}
</Hash>
)
</Fragment>
) : (
<Fragment>INVALID</Fragment>
)}
</div>
</DataContainer>
{useRelay && (
<Fragment>
<DataContainer>
<Title>Relay/Exchange address</Title>
<Hash
href={`${bZx.etherscanURL}address/${feeRecipientAddress}`}
target="_blank"
rel="noopener noreferrer"
>
{feeRecipientAddress}
</Hash>
</DataContainer>
<DataContainer>
<Title>Lender Relay Fee</Title>
<div>{lenderRelayFee} BZRX</div>
</DataContainer>
<DataContainer>
<Title>Trader Relay Fee</Title>
<div>{traderRelayFee} BZRX</div>
</DataContainer>
</Fragment>
)}
</Container>
</Fragment>
);
};