mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-24 19:10:22 +01:00
5f254f7325
* Add UseNonce toggle * Get the toggle actually working and dispatching * Display nonce field on confirmation page * Remove console.log * Add placeholder * Set customNonceValue * Add nonce key/value to txParams * remove customNonceValue from component state * Use translation file and existing CSS class * Use existing TextField component * Remove console.log * Fix lint nits * Okay this sorta works? * Move nonce toggle to advanced tab * Set min to 0 * Wrap value in Number() * Add customNonceMap * Update custom nonce translation * Update styles * Reset CustomNonce * Fix lint * Get tests passing * Add customNonceValue to defaults * Fix test * Fix comments * Update tests * Use camel case * Ensure custom nonce can only be whole number * Correct font size for custom nonce input * UX improvements for custom nonce feature * Fix advanced-tab-component tests for custom nonce changes * Update title of nonce toggle in settings * Remove unused locale message * Cast custom nonce to string in confirm-transaction-base.component * Handle string conversion and invalid values for custom nonces in handler * Don't call getNonceLock in tx controller if there is a custom nonce * Set nonce details for cases where nonce is customized * Fix incorrectly use value for deciding whether to getnoncelock in approveTransaction * Default nonceLock to empty object in approveTransaction * Reapply use on nonceLock in cases where customNonceValue in approveTransaction. * Show warning message if custom nonce is higher than MetaMask's next nonce * Fix e2e test failure caused by custom nonce and 3box toggle conflict * Update nonce warning message to include the suggested nonce * Handle nextNonce comparison and update logic in lifecycle * Default nonce field to suggested nonce * Clear custom nonce on reject or confirm * Fix bug where nonces are not shown in tx list on self sent transactions * Ensure custom nonce is reset after tx is created in background * Convert customNonceValue to number in approve tranasction controller * Lint fix * Call getNextNonce after updating custom nonce
71 lines
2.2 KiB
JavaScript
71 lines
2.2 KiB
JavaScript
import AdvancedTab from './advanced-tab.component'
|
|
import { compose } from 'recompose'
|
|
import { connect } from 'react-redux'
|
|
import { withRouter } from 'react-router-dom'
|
|
import {
|
|
updateAndSetCustomRpc,
|
|
displayWarning,
|
|
setFeatureFlag,
|
|
showModal,
|
|
setShowFiatConversionOnTestnetsPreference,
|
|
setAutoLogoutTimeLimit,
|
|
setThreeBoxSyncingPermission,
|
|
turnThreeBoxSyncingOnAndInitialize,
|
|
setUseNonceField,
|
|
} from '../../../store/actions'
|
|
import {preferencesSelector} from '../../../selectors/selectors'
|
|
|
|
export const mapStateToProps = state => {
|
|
const { appState: { warning }, metamask } = state
|
|
const {
|
|
featureFlags: {
|
|
sendHexData,
|
|
advancedInlineGas,
|
|
} = {},
|
|
threeBoxSyncingAllowed,
|
|
threeBoxDisabled,
|
|
useNonceField,
|
|
} = metamask
|
|
const { showFiatInTestnets, autoLogoutTimeLimit } = preferencesSelector(state)
|
|
|
|
return {
|
|
warning,
|
|
sendHexData,
|
|
advancedInlineGas,
|
|
showFiatInTestnets,
|
|
autoLogoutTimeLimit,
|
|
threeBoxSyncingAllowed,
|
|
threeBoxDisabled,
|
|
useNonceField,
|
|
}
|
|
}
|
|
|
|
export const mapDispatchToProps = dispatch => {
|
|
return {
|
|
setHexDataFeatureFlag: shouldShow => dispatch(setFeatureFlag('sendHexData', shouldShow)),
|
|
setRpcTarget: (newRpc, chainId, ticker, nickname) => dispatch(updateAndSetCustomRpc(newRpc, chainId, ticker, nickname)),
|
|
displayWarning: warning => dispatch(displayWarning(warning)),
|
|
showResetAccountConfirmationModal: () => dispatch(showModal({ name: 'CONFIRM_RESET_ACCOUNT' })),
|
|
setAdvancedInlineGasFeatureFlag: shouldShow => dispatch(setFeatureFlag('advancedInlineGas', shouldShow)),
|
|
setUseNonceField: value => dispatch(setUseNonceField(value)),
|
|
setShowFiatConversionOnTestnetsPreference: value => {
|
|
return dispatch(setShowFiatConversionOnTestnetsPreference(value))
|
|
},
|
|
setAutoLogoutTimeLimit: value => {
|
|
return dispatch(setAutoLogoutTimeLimit(value))
|
|
},
|
|
setThreeBoxSyncingPermission: newThreeBoxSyncingState => {
|
|
if (newThreeBoxSyncingState) {
|
|
dispatch(turnThreeBoxSyncingOnAndInitialize())
|
|
} else {
|
|
dispatch(setThreeBoxSyncingPermission(newThreeBoxSyncingState))
|
|
}
|
|
},
|
|
}
|
|
}
|
|
|
|
export default compose(
|
|
withRouter,
|
|
connect(mapStateToProps, mapDispatchToProps)
|
|
)(AdvancedTab)
|