From c7bb906b03937cdba018fdbe4063287ba9844ea1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Albert=20Oliv=C3=A9?= Date: Fri, 5 May 2023 11:28:27 +0200 Subject: [PATCH] [MMI] Added code fencing in account details modal and selected accounts (#18070) * Added code fencing in account details modal and selected accounts * Fixed pipeline issues * Remove one code fence --- .../account-details-modal.component.js | 29 +++++++- .../account-details-modal.container.js | 10 +++ .../selected-account-component.test.js.snap | 8 +++ .../selected-account.component.js | 71 +++++++++++++++++-- .../selected-account.container.js | 20 +++++- 5 files changed, 132 insertions(+), 6 deletions(-) diff --git a/ui/components/app/modals/account-details-modal/account-details-modal.component.js b/ui/components/app/modals/account-details-modal/account-details-modal.component.js index f1ad623c6..f35a8153b 100644 --- a/ui/components/app/modals/account-details-modal/account-details-modal.component.js +++ b/ui/components/app/modals/account-details-modal/account-details-modal.component.js @@ -8,6 +8,10 @@ import EditableLabel from '../../../ui/editable-label'; import Button from '../../../ui/button'; import { getURLHostName } from '../../../../helpers/utils/util'; import { isHardwareKeyring } from '../../../../helpers/utils/hardware'; +///: BEGIN:ONLY_INCLUDE_IN(build-mmi) +import CustodyLabels from '../../../institutional/custody-labels/custody-labels'; +import { toChecksumHexAddress } from '../../../../../shared/modules/hexstring-utils'; +///: END:ONLY_INCLUDE_IN import { MetaMetricsEventCategory, MetaMetricsEventLinkType, @@ -28,6 +32,10 @@ export default class AccountDetailsModal extends Component { history: PropTypes.object, hideModal: PropTypes.func, blockExplorerLinkText: PropTypes.object, + ///: BEGIN:ONLY_INCLUDE_IN(build-mmi) + accountType: PropTypes.string, + custodyAccountDetails: PropTypes.object, + ///: END:ONLY_INCLUDE_IN }; static contextTypes = { @@ -46,6 +54,10 @@ export default class AccountDetailsModal extends Component { history, hideModal, blockExplorerLinkText, + ///: BEGIN:ONLY_INCLUDE_IN(build-mmi) + accountType, + custodyAccountDetails, + ///: END:ONLY_INCLUDE_IN } = this.props; const { name, address } = selectedIdentity; @@ -59,6 +71,17 @@ export default class AccountDetailsModal extends Component { exportPrivateKeyFeatureEnabled = false; } + ///: BEGIN:ONLY_INCLUDE_IN(build-mmi) + if (keyring?.type?.search('Custody') !== -1) { + exportPrivateKeyFeatureEnabled = false; + } + const showCustodyLabels = accountType === 'custody'; + const custodyLabels = custodyAccountDetails + ? custodyAccountDetails[toChecksumHexAddress(selectedIdentity.address)] + ?.labels + : {}; + ///: END:ONLY_INCLUDE_IN + const routeToAddBlockExplorerUrl = () => { hideModal(); history.push(`${NETWORKS_ROUTE}#blockExplorerUrl`); @@ -88,7 +111,11 @@ export default class AccountDetailsModal extends Component { onSubmit={(label) => setAccountLabel(address, label)} accounts={this.props.accounts} /> - + { + ///: BEGIN:ONLY_INCLUDE_IN(build-mmi) + showCustodyLabels && + ///: END:ONLY_INCLUDE_IN + } { @@ -23,6 +29,10 @@ const mapStateToProps = (state) => { rpcPrefs: getRpcPrefsForCurrentProvider(state), accounts: getMetaMaskAccountsOrdered(state), blockExplorerLinkText: getBlockExplorerLinkText(state, true), + ///: BEGIN:ONLY_INCLUDE_IN(build-mmi) + accountType: getAccountType(state), + custodyAccountDetails: getCustodyAccountDetails(state), + ///: END:ONLY_INCLUDE_IN }; }; diff --git a/ui/components/app/selected-account/__snapshots__/selected-account-component.test.js.snap b/ui/components/app/selected-account/__snapshots__/selected-account-component.test.js.snap index 6031f8d0b..43e1f1a76 100644 --- a/ui/components/app/selected-account/__snapshots__/selected-account-component.test.js.snap +++ b/ui/components/app/selected-account/__snapshots__/selected-account-component.test.js.snap @@ -29,6 +29,14 @@ exports[`SelectedAccount Component should match snapshot 1`] = ` class="selected-account__address" > 0x0DC...E7bc +