From 21aec63f417d6a68ee05f44979fd267bb04282da Mon Sep 17 00:00:00 2001 From: Thomas Huang Date: Wed, 17 Feb 2021 12:47:01 -0800 Subject: [PATCH] Fix encypt/decrypt tx queueing (#10350) Fixes #10231 Use unconfirmedTransactionsListSelector in the encypt/decrypt components to render the appropriate data to the component at the appropriate time(?). I am still unsure how sometimes the state.confirmTransaction can we left empty sometimes on rendering the component, possibly the issue with the ConfirmTransaction componentDidUpdate constantly hitting this section. https://github.com/MetaMask/metamask-extension/blob/develop/ui/app/pages/confirm-transaction/confirm-transaction.component.js#L94-L101 For now this seems to be an intermediate fix. --- .../confirm-decrypt-message.container.js | 6 ++++-- .../confirm-encryption-public-key.container.js | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ui/app/pages/confirm-decrypt-message/confirm-decrypt-message.container.js b/ui/app/pages/confirm-decrypt-message/confirm-decrypt-message.container.js index 800ec7abc..f1cc41f7b 100644 --- a/ui/app/pages/confirm-decrypt-message/confirm-decrypt-message.container.js +++ b/ui/app/pages/confirm-decrypt-message/confirm-decrypt-message.container.js @@ -10,6 +10,7 @@ import { } from '../../store/actions'; import { getTargetAccountWithSendEtherInfo, + unconfirmedTransactionsListSelector, conversionRateSelector, } from '../../selectors'; import { clearConfirmTransaction } from '../../ducks/confirm-transaction/confirm-transaction.duck'; @@ -18,11 +19,12 @@ import ConfirmDecryptMessage from './confirm-decrypt-message.component'; function mapStateToProps(state) { const { - confirmTransaction, metamask: { domainMetadata = {} }, } = state; - const { txData = {} } = confirmTransaction; + const unconfirmedTransactions = unconfirmedTransactionsListSelector(state); + + const txData = unconfirmedTransactions[0]; const { msgParams: { from }, diff --git a/ui/app/pages/confirm-encryption-public-key/confirm-encryption-public-key.container.js b/ui/app/pages/confirm-encryption-public-key/confirm-encryption-public-key.container.js index ee8061dcf..3439589b6 100644 --- a/ui/app/pages/confirm-encryption-public-key/confirm-encryption-public-key.container.js +++ b/ui/app/pages/confirm-encryption-public-key/confirm-encryption-public-key.container.js @@ -10,6 +10,7 @@ import { import { conversionRateSelector, + unconfirmedTransactionsListSelector, getTargetAccountWithSendEtherInfo, } from '../../selectors'; @@ -19,11 +20,12 @@ import ConfirmEncryptionPublicKey from './confirm-encryption-public-key.componen function mapStateToProps(state) { const { - confirmTransaction, metamask: { domainMetadata = {} }, } = state; - const { txData = {} } = confirmTransaction; + const unconfirmedTransactions = unconfirmedTransactionsListSelector(state); + + const txData = unconfirmedTransactions[0]; const { msgParams: from } = txData;