mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +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
54 lines
1.6 KiB
JavaScript
54 lines
1.6 KiB
JavaScript
import assert from 'assert'
|
|
import { mapStateToProps, mapDispatchToProps } from '../advanced-tab.container'
|
|
|
|
const defaultState = {
|
|
appState: {
|
|
warning: null,
|
|
},
|
|
metamask: {
|
|
featureFlags: {
|
|
sendHexData: false,
|
|
advancedInlineGas: false,
|
|
},
|
|
preferences: {
|
|
autoLogoutTimeLimit: 0,
|
|
showFiatInTestnets: false,
|
|
useNativeCurrencyAsPrimaryCurrency: true,
|
|
},
|
|
threeBoxSyncingAllowed: false,
|
|
threeBoxDisabled: false,
|
|
useNonceField: false,
|
|
},
|
|
}
|
|
|
|
describe('AdvancedTab Container', () => {
|
|
it('should map state to props correctly', () => {
|
|
const props = mapStateToProps(defaultState)
|
|
const expected = {
|
|
warning: null,
|
|
sendHexData: false,
|
|
advancedInlineGas: false,
|
|
showFiatInTestnets: false,
|
|
autoLogoutTimeLimit: 0,
|
|
threeBoxSyncingAllowed: false,
|
|
threeBoxDisabled: false,
|
|
useNonceField: false,
|
|
}
|
|
|
|
assert.deepEqual(props, expected)
|
|
})
|
|
|
|
it('should map dispatch to props correctly', () => {
|
|
const props = mapDispatchToProps(() => 'mockDispatch')
|
|
|
|
assert.ok(typeof props.setHexDataFeatureFlag === 'function')
|
|
assert.ok(typeof props.setRpcTarget === 'function')
|
|
assert.ok(typeof props.displayWarning === 'function')
|
|
assert.ok(typeof props.showResetAccountConfirmationModal === 'function')
|
|
assert.ok(typeof props.setAdvancedInlineGasFeatureFlag === 'function')
|
|
assert.ok(typeof props.setShowFiatConversionOnTestnetsPreference === 'function')
|
|
assert.ok(typeof props.setAutoLogoutTimeLimit === 'function')
|
|
assert.ok(typeof props.setUseNonceField === 'function')
|
|
})
|
|
})
|