Fix gas calculation error when confirming tx because of the modal premount, improve cancelled tx detection

This commit is contained in:
Mikhail Mikheev 2019-10-15 18:03:22 +04:00
parent 75d37a5f39
commit 0dd2ad5f5d
3 changed files with 16 additions and 13 deletions

View File

@ -21,7 +21,7 @@ export const estimateTxGasCosts = async (
const nonce = await safeInstance.methods.nonce().call() const nonce = await safeInstance.methods.nonce().call()
const threshold = await safeInstance.methods.getThreshold().call() const threshold = await safeInstance.methods.getThreshold().call()
const isExecution = (tx && tx.confirmations.size === threshold) || preApprovingOwner || threshold === '1' const isExecution = (tx && tx.confirmations.size === threshold) || !!preApprovingOwner || threshold === '1'
let txData let txData
if (isExecution) { if (isExecution) {

View File

@ -123,16 +123,18 @@ const ExpandedTx = ({
tx={tx} tx={tx}
safeAddress={safeAddress} safeAddress={safeAddress}
/> />
<ApproveTxModal {openModal === 'approveTx' && (
isOpen={openModal === 'approveTx'} <ApproveTxModal
processTransaction={processTransaction} isOpen
onClose={closeModal} processTransaction={processTransaction}
tx={tx} onClose={closeModal}
userAddress={userAddress} tx={tx}
safeAddress={safeAddress} userAddress={userAddress}
threshold={threshold} safeAddress={safeAddress}
thresholdReached={thresholdReached} threshold={threshold}
/> thresholdReached={thresholdReached}
/>
)}
</> </>
) )
} }

View File

@ -115,8 +115,9 @@ const extendedTransactionsSelector: Selector<GlobalState, RouterProps, List<Tran
let replacementTransaction let replacementTransaction
if (!tx.isExecuted) { if (!tx.isExecuted) {
replacementTransaction = transactions.findLast( replacementTransaction = transactions.findLast(
(transaction) => transaction.nonce === tx.nonce (transaction) => (transaction.nonce === tx.nonce
&& isAfter(parseISO(transaction.submissionDate), parseISO(tx.submissionDate)), && isAfter(parseISO(transaction.submissionDate), parseISO(tx.submissionDate)))
|| transaction.nonce > tx.nonce,
) )
if (replacementTransaction) { if (replacementTransaction) {
extendedTx = tx.set('cancelled', true) extendedTx = tx.set('cancelled', true)