otterscan/src/address/Contract.tsx

41 lines
856 B
TypeScript
Raw Normal View History

2021-09-06 05:09:12 +00:00
import React from "react";
import { SyntaxHighlighter, docco } from "../highlight-init";
2021-11-25 18:50:59 +00:00
import { useContract } from "../sourcify/useSourcify";
import { useAppConfigContext } from "../useAppConfig";
type ContractProps = {
checksummedAddress: string;
2021-07-24 23:33:45 +00:00
networkId: number;
filename: string;
source: any;
};
2021-07-24 23:33:45 +00:00
const Contract: React.FC<ContractProps> = ({
checksummedAddress,
networkId,
filename,
source,
}) => {
const { sourcifySource } = useAppConfigContext();
2021-09-06 21:32:11 +00:00
const content = useContract(
checksummedAddress,
networkId,
filename,
source,
sourcifySource
2021-09-06 21:32:11 +00:00
);
2021-07-23 18:36:31 +00:00
return (
2021-07-25 07:10:42 +00:00
<SyntaxHighlighter
className="w-full h-full border font-code text-base"
language="solidity"
style={docco}
showLineNumbers
>
{content ?? ""}
</SyntaxHighlighter>
);
};
export default React.memo(Contract);