Skip to content

Commit

Permalink
fix: tx detail candidate (#10458)
Browse files Browse the repository at this point in the history
  • Loading branch information
zhouhanseng committed Aug 18, 2023
1 parent 999896e commit 9142f51
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,12 @@ import { useAccount, useNativeToken, useNativeTokenPrice } from '@masknet/web3-h
import { ChainbaseHistory, ExplorerResolver, Web3 } from '@masknet/web3-providers'
import { chainbase } from '@masknet/web3-providers/helpers'
import { TransactionStatusType, formatBalance, multipliedBy, trimZero } from '@masknet/web3-shared-base'
import { formatHash, formatWeiToEther, formatWeiToGwei } from '@masknet/web3-shared-evm'
import {
formatHash,
formatWeiToEther,
formatWeiToGwei,
type Transaction as EvmTransaction,
} from '@masknet/web3-shared-evm'
import { Box, Link, Typography, alpha } from '@mui/material'
import { useQuery } from '@tanstack/react-query'
import { capitalize } from 'lodash-es'
Expand Down Expand Up @@ -133,6 +138,7 @@ export const TransactionDetail = memo(function TransactionDetail() {
const { classes, cx, theme } = useStyles()
const location = useLocation()
const transactionState = location.state.transaction as TransactionState
const candidateState = location.state.candidate as EvmTransaction
const isRecentTx = transactionState && 'candidates' in transactionState
const transaction = isRecentTx ? transactionState.candidates[transactionState.id] : transactionState
const account = useAccount()
Expand Down Expand Up @@ -204,7 +210,7 @@ export const TransactionDetail = memo(function TransactionDetail() {
const gasFee = tx ? formatWeiToEther(multipliedBy(tx.gas_price, tx.gas)) : undefined
const gasCost = gasFee && nativeTokenPrice ? gasFee.times(nativeTokenPrice) : undefined

const receiverAddress = parseReceiverFromERC20TransferInput(tx?.input || txInput)
const receiverAddress = parseReceiverFromERC20TransferInput(candidateState?.data || tx?.input || txInput)

const loadingToAddress =
transactionState?.type === 'transfer'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ export const ActivityItem = memo<ActivityItemProps>(function ActivityItem({ tran

interface RecentActivityItemProps extends Omit<ActivityItemProps, 'transaction' | 'onView'> {
transaction: RecentTransaction<ChainId, EvmTransaction>
onView: (tx: RecentTransaction<ChainId, EvmTransaction>) => void
onView: (tx: RecentTransaction<ChainId, EvmTransaction>, candidate?: EvmTransaction) => void
onSpeedup?: (tx: RecentTransaction<ChainId, EvmTransaction>) => void
onCancel?: (tx: RecentTransaction<ChainId, EvmTransaction>) => void
}
Expand Down Expand Up @@ -318,7 +318,7 @@ export const RecentActivityItem = memo<RecentActivityItemProps>(function RecentA
}, [domain, t])

return (
<ListItem className={cx(classes.item, className)} onClick={() => onView(transaction)} {...rest}>
<ListItem className={cx(classes.item, className)} onClick={() => onView(transaction, candidate)} {...rest}>
<Box className={classes.txIconContainer}>
{/* TODO specify cateType */}
<TransactionIcon cateType={'send'} />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,14 @@ export const ActivityList = memo<ActivityListProps>(function ActivityList() {
}, [])

const handleView = useCallback(
(transaction: Transaction<ChainId, SchemaType> | RecentTransaction<ChainId, EvmTransaction>) => {
(
transaction: Transaction<ChainId, SchemaType> | RecentTransaction<ChainId, EvmTransaction>,
candidate?: EvmTransaction,
) => {
navigate(PopupRoutes.TransactionDetail, {
// No available API to fetch a transaction info yet.
// Just pass target transaction to the detail page.
state: { transaction },
state: { transaction, candidate },
})
},
[navigate],
Expand Down

0 comments on commit 9142f51

Please sign in to comment.