mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Remove getTxParams
(#8676)
This function primarily ensured that there was a reasonable fallback for `txParams` if the given transaction was missing it. This fallback was only used in one place: the customize gas modal, during the send flow specifically. The helper function has been removed, and the default `txParams` is set in the one place it was needed. In the future we should attempt to simplify this modal so it doesn't need to know details about the context in which it's being used.
This commit is contained in:
parent
00834f5de6
commit
795676d3ec
@ -40,10 +40,10 @@ import {
|
|||||||
getEstimatedGasTimes,
|
getEstimatedGasTimes,
|
||||||
getRenderableBasicEstimateData,
|
getRenderableBasicEstimateData,
|
||||||
getBasicGasEstimateBlockTime,
|
getBasicGasEstimateBlockTime,
|
||||||
getTxParams,
|
|
||||||
isCustomPriceSafe,
|
isCustomPriceSafe,
|
||||||
getTokenBalance,
|
getTokenBalance,
|
||||||
getSendMaxModeState,
|
getSendMaxModeState,
|
||||||
|
getFastPriceEstimateInHexWEI,
|
||||||
} from '../../../../selectors'
|
} from '../../../../selectors'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
@ -67,7 +67,7 @@ import { addHexPrefix } from 'ethereumjs-util'
|
|||||||
import { calcMaxAmount } from '../../../../pages/send/send-content/send-amount-row/amount-max-button/amount-max-button.utils'
|
import { calcMaxAmount } from '../../../../pages/send/send-content/send-amount-row/amount-max-button/amount-max-button.utils'
|
||||||
|
|
||||||
const mapStateToProps = (state, ownProps) => {
|
const mapStateToProps = (state, ownProps) => {
|
||||||
const { currentNetworkTxList } = state.metamask
|
const { currentNetworkTxList, send } = state.metamask
|
||||||
const { modalState: { props: modalProps } = {} } = state.appState.modal || {}
|
const { modalState: { props: modalProps } = {} } = state.appState.modal || {}
|
||||||
const { txData = {} } = modalProps || {}
|
const { txData = {} } = modalProps || {}
|
||||||
const { transaction = {} } = ownProps
|
const { transaction = {} } = ownProps
|
||||||
@ -75,8 +75,18 @@ const mapStateToProps = (state, ownProps) => {
|
|||||||
|
|
||||||
const buttonDataLoading = getBasicGasEstimateLoadingStatus(state)
|
const buttonDataLoading = getBasicGasEstimateLoadingStatus(state)
|
||||||
const gasEstimatesLoading = getGasEstimatesLoadingStatus(state)
|
const gasEstimatesLoading = getGasEstimatesLoadingStatus(state)
|
||||||
|
const selectedToken = getSelectedToken(state)
|
||||||
|
|
||||||
const { gasPrice: currentGasPrice, gas: currentGasLimit, value } = getTxParams(state, selectedTransaction)
|
// a "default" txParams is used during the send flow, since the transaction doesn't exist yet in that case
|
||||||
|
const txParams = selectedTransaction?.txParams
|
||||||
|
? selectedTransaction.txParams
|
||||||
|
: {
|
||||||
|
gas: send.gasLimit || '0x5208',
|
||||||
|
gasPrice: send.gasPrice || getFastPriceEstimateInHexWEI(state, true),
|
||||||
|
value: selectedToken ? '0x0' : send.amount,
|
||||||
|
}
|
||||||
|
|
||||||
|
const { gasPrice: currentGasPrice, gas: currentGasLimit, value } = txParams
|
||||||
const customModalGasPriceInHex = getCustomGasPrice(state) || currentGasPrice
|
const customModalGasPriceInHex = getCustomGasPrice(state) || currentGasPrice
|
||||||
const customModalGasLimitInHex = getCustomGasLimit(state) || currentGasLimit || '0x5208'
|
const customModalGasLimitInHex = getCustomGasLimit(state) || currentGasLimit || '0x5208'
|
||||||
const customGasTotal = calcGasTotal(customModalGasLimitInHex, customModalGasPriceInHex)
|
const customGasTotal = calcGasTotal(customModalGasLimitInHex, customModalGasPriceInHex)
|
||||||
@ -102,7 +112,7 @@ const mapStateToProps = (state, ownProps) => {
|
|||||||
const isMainnet = getIsMainnet(state)
|
const isMainnet = getIsMainnet(state)
|
||||||
const showFiat = Boolean(isMainnet || showFiatInTestnets)
|
const showFiat = Boolean(isMainnet || showFiatInTestnets)
|
||||||
|
|
||||||
const isTokenSelected = Boolean(getSelectedToken(state))
|
const isTokenSelected = Boolean(selectedToken)
|
||||||
|
|
||||||
const newTotalEth = maxModeOn && !isTokenSelected ? addHexWEIsToRenderableEth(balance, '0x0') : addHexWEIsToRenderableEth(value, customGasTotal)
|
const newTotalEth = maxModeOn && !isTokenSelected ? addHexWEIsToRenderableEth(balance, '0x0') : addHexWEIsToRenderableEth(value, customGasTotal)
|
||||||
|
|
||||||
|
@ -3,14 +3,13 @@ import TransactionTimeRemaining from './transaction-time-remaining.component'
|
|||||||
import {
|
import {
|
||||||
getEstimatedGasPrices,
|
getEstimatedGasPrices,
|
||||||
getEstimatedGasTimes,
|
getEstimatedGasTimes,
|
||||||
getTxParams,
|
|
||||||
} from '../../../selectors'
|
} from '../../../selectors'
|
||||||
import { getRawTimeEstimateData } from '../../../helpers/utils/gas-time-estimates.util'
|
import { getRawTimeEstimateData } from '../../../helpers/utils/gas-time-estimates.util'
|
||||||
import { hexWEIToDecGWEI } from '../../../helpers/utils/conversions.util'
|
import { hexWEIToDecGWEI } from '../../../helpers/utils/conversions.util'
|
||||||
|
|
||||||
const mapStateToProps = (state, ownProps) => {
|
const mapStateToProps = (state, ownProps) => {
|
||||||
const { transaction } = ownProps
|
const { transaction } = ownProps
|
||||||
const { gasPrice: currentGasPrice } = getTxParams(state, transaction)
|
const { gasPrice: currentGasPrice } = transaction.txParams
|
||||||
const customGasPrice = calcCustomGasPrice(currentGasPrice)
|
const customGasPrice = calcCustomGasPrice(currentGasPrice)
|
||||||
const gasPrices = getEstimatedGasPrices(state)
|
const gasPrices = getEstimatedGasPrices(state)
|
||||||
const estimatedTimes = getEstimatedGasTimes(state)
|
const estimatedTimes = getEstimatedGasTimes(state)
|
||||||
|
@ -21,8 +21,8 @@ import { useMethodData } from './useMethodData'
|
|||||||
*/
|
*/
|
||||||
export function useRetryTransaction (transactionGroup) {
|
export function useRetryTransaction (transactionGroup) {
|
||||||
const { primaryTransaction, initialTransaction } = transactionGroup
|
const { primaryTransaction, initialTransaction } = transactionGroup
|
||||||
const gasPrice = primaryTransaction.txParams?.gasPrice
|
const gasPrice = primaryTransaction.txParams.gasPrice
|
||||||
const methodData = useMethodData(primaryTransaction.txParams?.data)
|
const methodData = useMethodData(primaryTransaction.txParams.data)
|
||||||
const trackMetricsEvent = useMetricEvent(({
|
const trackMetricsEvent = useMetricEvent(({
|
||||||
eventOpts: {
|
eventOpts: {
|
||||||
category: 'Navigation',
|
category: 'Navigation',
|
||||||
@ -42,8 +42,8 @@ export function useRetryTransaction (transactionGroup) {
|
|||||||
await dispatch(fetchGasEstimates(basicEstimates.blockTime))
|
await dispatch(fetchGasEstimates(basicEstimates.blockTime))
|
||||||
const transaction = initialTransaction
|
const transaction = initialTransaction
|
||||||
const increasedGasPrice = increaseLastGasPrice(gasPrice)
|
const increasedGasPrice = increaseLastGasPrice(gasPrice)
|
||||||
dispatch(setCustomGasPriceForRetry(increasedGasPrice || transaction.txParams?.gasPrice))
|
dispatch(setCustomGasPriceForRetry(increasedGasPrice || transaction.txParams.gasPrice))
|
||||||
dispatch(setCustomGasLimit(transaction.txParams?.gas))
|
dispatch(setCustomGasLimit(transaction.txParams.gas))
|
||||||
dispatch(showSidebar({
|
dispatch(showSidebar({
|
||||||
transitionName: 'sidebar-left',
|
transitionName: 'sidebar-left',
|
||||||
type: 'customize-gas',
|
type: 'customize-gas',
|
||||||
|
@ -10,9 +10,7 @@ import {
|
|||||||
TRANSACTION_TYPE_RETRY,
|
TRANSACTION_TYPE_RETRY,
|
||||||
} from '../../../app/scripts/controllers/transactions/enums'
|
} from '../../../app/scripts/controllers/transactions/enums'
|
||||||
import { hexToDecimal } from '../helpers/utils/conversions.util'
|
import { hexToDecimal } from '../helpers/utils/conversions.util'
|
||||||
import { getFastPriceEstimateInHexWEI } from './custom-gas'
|
|
||||||
import {
|
import {
|
||||||
getSelectedToken,
|
|
||||||
getSelectedAddress,
|
getSelectedAddress,
|
||||||
} from '.'
|
} from '.'
|
||||||
import txHelper from '../../lib/tx-helper'
|
import txHelper from '../../lib/tx-helper'
|
||||||
@ -306,15 +304,3 @@ export const submittedPendingTransactionsSelector = createSelector(
|
|||||||
transactions.filter((transaction) => transaction.status === SUBMITTED_STATUS)
|
transactions.filter((transaction) => transaction.status === SUBMITTED_STATUS)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
export const getTxParams = (state, selectedTransaction = {}) => {
|
|
||||||
const { metamask: { send } } = state
|
|
||||||
const { txParams } = selectedTransaction
|
|
||||||
return txParams || {
|
|
||||||
from: send.from,
|
|
||||||
gas: send.gasLimit || '0x5208',
|
|
||||||
gasPrice: send.gasPrice || getFastPriceEstimateInHexWEI(state, true),
|
|
||||||
to: send.to,
|
|
||||||
value: getSelectedToken(state) ? '0x0' : send.amount,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user