otterscan/src/transaction/decoder/AddressDecoder.tsx

34 lines
1.0 KiB
TypeScript
Raw Normal View History

2021-09-25 20:28:49 +00:00
import React from "react";
import AddressHighlighter from "../../components/AddressHighlighter";
import DecoratedAddressLink from "../../components/DecoratedAddressLink";
import Copy from "../../components/Copy";
import { TransactionData } from "../../types";
import { ResolvedAddresses } from "../../api/address-resolver";
2021-09-25 20:28:49 +00:00
type AddressDecoderProps = {
r: any;
txData: TransactionData;
resolvedAddresses?: ResolvedAddresses | undefined;
2021-09-25 20:28:49 +00:00
};
const AddressDecoder: React.FC<AddressDecoderProps> = ({
r,
txData,
resolvedAddresses,
}) => (
2021-09-25 20:28:49 +00:00
<div className="flex items-baseline space-x-2 -ml-1 mr-3">
<AddressHighlighter address={r.toString()}>
<DecoratedAddressLink
address={r.toString()}
miner={r.toString() === txData.confirmedData?.miner}
txFrom={r.toString() === txData.from}
txTo={r.toString() === txData.to}
resolvedAddresses={resolvedAddresses}
2021-09-25 20:28:49 +00:00
/>
</AddressHighlighter>
<Copy value={r.toString()} />
</div>
);
export default React.memo(AddressDecoder);