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";
|
2021-11-03 12:14:52 +00:00
|
|
|
import { ResolvedAddresses } from "../../api/address-resolver";
|
2021-09-25 20:28:49 +00:00
|
|
|
|
|
|
|
|
type AddressDecoderProps = {
|
|
|
|
|
r: any;
|
|
|
|
|
txData: TransactionData;
|
2021-11-03 12:14:52 +00:00
|
|
|
resolvedAddresses?: ResolvedAddresses | undefined;
|
2021-09-25 20:28:49 +00:00
|
|
|
};
|
|
|
|
|
|
2021-11-03 12:14:52 +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}
|
2021-11-03 12:14:52 +00:00
|
|
|
resolvedAddresses={resolvedAddresses}
|
2021-09-25 20:28:49 +00:00
|
|
|
/>
|
|
|
|
|
</AddressHighlighter>
|
|
|
|
|
<Copy value={r.toString()} />
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
export default React.memo(AddressDecoder);
|