diff --git a/src/custom/components/EnhancedTransactionLink/index.tsx b/src/custom/components/EnhancedTransactionLink/index.tsx new file mode 100644 index 000000000..0f8d8133c --- /dev/null +++ b/src/custom/components/EnhancedTransactionLink/index.tsx @@ -0,0 +1,32 @@ +import { ExplorerDataType } from 'utils/getExplorerLink' + +import { ExplorerLink } from 'components/ExplorerLink' +import { GnosisSafeLink } from 'components/AccountDetails/Transaction/StatusDetails' + +import { EnhancedTransactionDetails, HashType } from 'state/enhancedTransactions/reducer' +import { useWalletInfo } from 'hooks/useWalletInfo' + +interface Props { + tx: EnhancedTransactionDetails +} + +/** + * Creates a link to the relevant explorer: Etherscan, GP Explorer or Blockscout, or Gnosis Safe web if its a Gnosis Safe Transaction + * @param props + */ +export function EnhancedTransactionLink(props: Props) { + const { tx } = props + const { chainId, gnosisSafeInfo } = useWalletInfo() + + if (tx.hashType === HashType.GNOSIS_SAFE_TX) { + const safeTx = tx.safeTransaction + + if (!chainId || !safeTx || !gnosisSafeInfo) { + return null + } + + return + } else { + return + } +} diff --git a/src/custom/pages/Claim/ClaimingStatus.tsx b/src/custom/pages/Claim/ClaimingStatus.tsx index 63eae9033..9aade0640 100644 --- a/src/custom/pages/Claim/ClaimingStatus.tsx +++ b/src/custom/pages/Claim/ClaimingStatus.tsx @@ -1,13 +1,12 @@ import { Trans } from '@lingui/macro' import { ConfirmOrLoadingWrapper, ConfirmedIcon, AttemptFooter, CowSpinner } from 'pages/Claim/styled' -import { ExternalLink } from 'theme' import { ClaimStatus } from 'state/claim/actions' import { useClaimState } from 'state/claim/hooks' import { useActiveWeb3React } from 'hooks/web3' import CowProtocolLogo from 'components/CowProtocolLogo' -import { ExplorerDataType, getExplorerLink } from 'utils/getExplorerLink' import { useAllClaimingTransactions } from 'state/enhancedTransactions/hooks' import { useMemo } from 'react' +import { EnhancedTransactionLink } from 'components/EnhancedTransactionLink' export default function ClaimingStatus() { const { chainId } = useActiveWeb3React() @@ -66,14 +65,7 @@ export default function ClaimingStatus() {

)} - {isSubmitted && chainId && lastClaimTx?.hash && ( - - View transaction on Explorer - - )} + {isSubmitted && chainId && lastClaimTx?.hash && } ) }