1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
metamask-extension/ui/pages/settings/security-tab/security-tab.container.js
Victor Thomas 2ff289e271
Add Opt-out Settings toggle for 4byte contract method names resolution (#20098)
* Adding 4byte toggle to settings UI and preferences

* Adding 4byte toggle to advanced settings tab

* adding use4ByteResolution privacy logic to getContractMethodData & getMethodDataAsync, removing unused useMethodData hook, adding clearKnownMethodData

* add 4byte setting to onboarding advanced option

* more test changes

* adding e2e for 4byte setting toggle

* test and copy changes, snap updates

* removing 4byte from advanced section

* adding settings constant and fixing refs

* removing clearKnownMethodData, adding flag to selector, test fixes

* e2e refactor, selectors refactor

* adding tests

* Fix jest tests, remove unwanted forceUpdateMetamaskState

* Fix jest tests

* lint:fix

* settingsRefs fixes

---------

Co-authored-by: David Walsh <davidwalsh83@gmail.com>
2023-08-04 13:28:37 -04:00

85 lines
2.3 KiB
JavaScript

import { connect } from 'react-redux';
import { withRouter } from 'react-router-dom';
import { compose } from 'redux';
import {
setFeatureFlag,
setIpfsGateway,
setParticipateInMetaMetrics,
setUseCurrencyRateCheck,
setUseMultiAccountBalanceChecker,
setUsePhishDetect,
setUseTokenDetection,
setUseAddressBarEnsResolution,
setOpenSeaEnabled,
setUseNftDetection,
setUse4ByteResolution,
} from '../../../store/actions';
import SecurityTab from './security-tab.component';
const mapStateToProps = (state) => {
const {
appState: { warning },
metamask,
} = state;
const {
featureFlags: { showIncomingTransactions } = {},
participateInMetaMetrics,
usePhishDetect,
useTokenDetection,
ipfsGateway,
useMultiAccountBalanceChecker,
useCurrencyRateCheck,
useAddressBarEnsResolution,
openSeaEnabled,
useNftDetection,
use4ByteResolution,
} = metamask;
return {
warning,
showIncomingTransactions,
participateInMetaMetrics,
usePhishDetect,
useTokenDetection,
ipfsGateway,
useMultiAccountBalanceChecker,
useCurrencyRateCheck,
useAddressBarEnsResolution,
openSeaEnabled,
useNftDetection,
use4ByteResolution,
};
};
const mapDispatchToProps = (dispatch) => {
return {
setParticipateInMetaMetrics: (val) =>
dispatch(setParticipateInMetaMetrics(val)),
setShowIncomingTransactionsFeatureFlag: (shouldShow) =>
dispatch(setFeatureFlag('showIncomingTransactions', shouldShow)),
setUsePhishDetect: (val) => dispatch(setUsePhishDetect(val)),
setUseCurrencyRateCheck: (val) => dispatch(setUseCurrencyRateCheck(val)),
setUseTokenDetection: (value) => {
return dispatch(setUseTokenDetection(value));
},
setIpfsGateway: (value) => {
return dispatch(setIpfsGateway(value));
},
setUseMultiAccountBalanceChecker: (value) => {
return dispatch(setUseMultiAccountBalanceChecker(value));
},
setUseAddressBarEnsResolution: (value) =>
dispatch(setUseAddressBarEnsResolution(value)),
setOpenSeaEnabled: (val) => dispatch(setOpenSeaEnabled(val)),
setUseNftDetection: (val) => dispatch(setUseNftDetection(val)),
setUse4ByteResolution: (value) => {
return dispatch(setUse4ByteResolution(value));
},
};
};
export default compose(
withRouter,
connect(mapStateToProps, mapDispatchToProps),
)(SecurityTab);