1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-04 15:14:29 +01:00
metamask-extension/ui/pages/send/send-header/send-header.component.js
Brad Decker e0953d9f68
Update send and confirm state management, and tx controller gas defaults, for EIP1559 (#11549)
wip

Documentation improvements for send slice support of EIP1559

Remove console.log in send duck

Property lookup safety improvement in selectors/confirm-transaction

Add code accidentally removed in rebase

Update addTxGasDefaults and _getDefaultGasFees to work with new estimate types, and ensure we correctly handle gas price estimates when on EIP1559 networks (#11615)

* Fix typo

Remove console.log in send duck

* Update addTxGasDefaults and _getDefaultGasFees to work correctly with all new gas fee estimate types

* Don't show gas timing support when not on eip1559 compatible network

* Hide gas timing component on transaction screen when on a non-1559 network

* Improve comments, tests and edge case handling

* Ensure eip1559 fees are applied and updated correctly when eip1559 estimate api fails

* Lint fix

Co-authored-by: Brad Decker <git@braddecker.dev>

Remove console.log

Handle possible gasEstimateType undefined

Remove unnecessary nonce field position change in confirm-page-container-content__details
2021-07-30 22:15:18 -02:30

45 lines
1.3 KiB
JavaScript

import React from 'react';
import { useHistory } from 'react-router-dom';
import { useDispatch, useSelector } from 'react-redux';
import PageContainerHeader from '../../../components/ui/page-container/page-container-header';
import { getMostRecentOverviewPage } from '../../../ducks/history/history';
import { useI18nContext } from '../../../hooks/useI18nContext';
import {
ASSET_TYPES,
getSendAsset,
getSendStage,
resetSendState,
SEND_STAGES,
} from '../../../ducks/send';
export default function SendHeader() {
const history = useHistory();
const mostRecentOverviewPage = useSelector(getMostRecentOverviewPage);
const dispatch = useDispatch();
const stage = useSelector(getSendStage);
const asset = useSelector(getSendAsset);
const t = useI18nContext();
const onClose = () => {
dispatch(resetSendState());
history.push(mostRecentOverviewPage);
};
let title = asset.type === ASSET_TYPES.NATIVE ? t('send') : t('sendTokens');
if (stage === SEND_STAGES.ADD_RECIPIENT || stage === SEND_STAGES.INACTIVE) {
title = t('addRecipient');
} else if (stage === SEND_STAGES.EDIT) {
title = t('edit');
}
return (
<PageContainerHeader
className="send__header"
onClose={onClose}
title={title}
headerCloseText={t('cancel')}
/>
);
}