Add burned fees info; subtract from fees received by miner

This commit is contained in:
Willian Mitsuda 2021-07-26 20:46:11 -03:00
parent 2ae3429d51
commit bc8bf0cf93
1 changed files with 31 additions and 3 deletions

View File

@ -1,6 +1,6 @@
import React, { useEffect, useMemo, useContext } from "react"; import React, { useEffect, useMemo, useContext } from "react";
import { useParams, NavLink } from "react-router-dom"; import { useParams, NavLink } from "react-router-dom";
import { ethers } from "ethers"; import { BigNumber, ethers } from "ethers";
import StandardFrame from "./StandardFrame"; import StandardFrame from "./StandardFrame";
import StandardSubtitle from "./StandardSubtitle"; import StandardSubtitle from "./StandardSubtitle";
import NavBlock from "./block/NavBlock"; import NavBlock from "./block/NavBlock";
@ -10,6 +10,7 @@ import GasValue from "./components/GasValue";
import BlockLink from "./components/BlockLink"; import BlockLink from "./components/BlockLink";
import DecoratedAddressLink from "./components/DecoratedAddressLink"; import DecoratedAddressLink from "./components/DecoratedAddressLink";
import TransactionValue from "./components/TransactionValue"; import TransactionValue from "./components/TransactionValue";
import FormattedBalance from "./components/FormattedBalance";
import HexValue from "./components/HexValue"; import HexValue from "./components/HexValue";
import { RuntimeContext } from "./useRuntime"; import { RuntimeContext } from "./useRuntime";
import { useLatestBlockNumber } from "./useLatestBlock"; import { useLatestBlockNumber } from "./useLatestBlock";
@ -39,6 +40,9 @@ const Block: React.FC = () => {
console.error(err); console.error(err);
} }
}, [block]); }, [block]);
const burnedFees =
block?.baseFeePerGas && block.baseFeePerGas.mul(block.gasUsed);
const netFeeReward = block && block.feeReward.sub(burnedFees ?? 0);
const latestBlockNumber = useLatestBlockNumber(provider); const latestBlockNumber = useLatestBlockNumber(provider);
@ -81,12 +85,18 @@ const Block: React.FC = () => {
<DecoratedAddressLink address={block.miner} miner /> <DecoratedAddressLink address={block.miner} miner />
</InfoRow> </InfoRow>
<InfoRow title="Block Reward"> <InfoRow title="Block Reward">
<TransactionValue value={block.blockReward.add(block.feeReward)} /> <TransactionValue
value={block.blockReward.add(netFeeReward ?? 0)}
/>
{!block.feeReward.isZero() && ( {!block.feeReward.isZero() && (
<> <>
{" "} {" "}
(<TransactionValue value={block.blockReward} hideUnit /> +{" "} (<TransactionValue value={block.blockReward} hideUnit /> +{" "}
<TransactionValue value={block.feeReward} hideUnit />) <TransactionValue
value={netFeeReward ?? BigNumber.from(0)}
hideUnit
/>
)
</> </>
)} )}
</InfoRow> </InfoRow>
@ -102,6 +112,24 @@ const Block: React.FC = () => {
<InfoRow title="Size"> <InfoRow title="Size">
{ethers.utils.commify(block.size)} bytes {ethers.utils.commify(block.size)} bytes
</InfoRow> </InfoRow>
{block.baseFeePerGas && (
<InfoRow title="Base Fee">
<span>
<FormattedBalance value={block.baseFeePerGas} decimals={9} />{" "}
Gwei (
<FormattedBalance
value={block.baseFeePerGas}
decimals={0}
/>{" "}
wei)
</span>
</InfoRow>
)}
{burnedFees && (
<InfoRow title="Burned Fees">
<FormattedBalance value={burnedFees} /> Ether
</InfoRow>
)}
<InfoRow title="Gas Used"> <InfoRow title="Gas Used">
<GasValue value={block.gasUsed} /> <GasValue value={block.gasUsed} />
</InfoRow> </InfoRow>