import { Box, Flex, HStack, Text, Heading, Tooltip, Td, Collapse, useDisclosure, Button, Table, Thead, Tr, Th, Tbody, Link, } from "@chakra-ui/react"; import { InfoIcon, ChevronDownIcon, ChevronUpIcon, DeleteIcon, UnlockIcon, } from "@chakra-ui/icons"; import CopyToClipboard from "./CopyToClipboard"; import { TxnDataType } from "../../types"; import { useEffect } from "react"; import { ethers } from "ethers"; export const slicedText = (txt: string) => { return txt.length > 6 ? `${txt.slice(0, 4)}...${txt.slice(txt.length - 2, txt.length)}` : txt; }; const TD = ({ txt }: { txt: string }) => ( {slicedText(txt)} ); const ValueTD = ({ txt }: { txt: string }) => ( {ethers.utils.formatEther(txt)} ETH ); const TData = ({ calldata, address, networkId, }: { calldata: string; address: string; networkId: number; }) => ( {slicedText(calldata)} ); interface TransactionRequestsParams { sendTxnData: TxnDataType[]; setSendTxnData: (value: TxnDataType[]) => void; networkId: number; } function TransactionRequests({ sendTxnData, setSendTxnData, networkId, }: TransactionRequestsParams) { const { isOpen: tableIsOpen, onOpen: tableOnOpen, onToggle: tableOnToggle, } = useDisclosure(); useEffect(() => { // keep table open on load tableOnOpen(); }, []); return ( {tableIsOpen ? : } eth_sendTransactions "eth_sendTransaction" requests by the dApp are shown here (latest on top) } hasArrow placement="top" > {sendTxnData.length > 0 && ( )} {sendTxnData.map((d) => ( ))}
from to data value
); } export default TransactionRequests;