mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Adding price checker deactivation for Optimism (#18833)
This commit is contained in:
parent
f6210927dd
commit
94a2325ae0
@ -64,11 +64,13 @@ const ConfirmLegacyGasDisplay = () => {
|
|||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
detailText={
|
detailText={
|
||||||
<UserPreferencedCurrencyDisplay
|
useCurrencyRateCheck && (
|
||||||
type={SECONDARY}
|
<UserPreferencedCurrencyDisplay
|
||||||
value={hexMinimumTransactionFee}
|
type={SECONDARY}
|
||||||
hideLabel={Boolean(useNativeCurrencyAsPrimaryCurrency)}
|
value={hexMinimumTransactionFee}
|
||||||
/>
|
hideLabel={Boolean(useNativeCurrencyAsPrimaryCurrency)}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}
|
}
|
||||||
noBold
|
noBold
|
||||||
flexWidthValues
|
flexWidthValues
|
||||||
|
@ -1,6 +1,81 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`Multi layer fee message should match snapshot 1`] = `
|
exports[`Multi layer fee message when balance and token price checker is disabled should match screenshot 1`] = `
|
||||||
|
<div>
|
||||||
|
<div
|
||||||
|
class="multi-layer-fee-message"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="transaction-detail-item"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="transaction-detail-item__row"
|
||||||
|
>
|
||||||
|
<h6
|
||||||
|
class="box box--margin-top-1 box--margin-bottom-1 box--display-flex box--flex-direction-row box--flex-wrap-nowrap box--align-items-center typography typography--h6 typography--weight-bold typography--style-normal typography--color-text-default"
|
||||||
|
>
|
||||||
|
Layer 1 fees
|
||||||
|
</h6>
|
||||||
|
<div
|
||||||
|
class="transaction-detail-item__detail-values"
|
||||||
|
>
|
||||||
|
<h6
|
||||||
|
class="box box--margin-top-1 box--margin-bottom-1 box--margin-left-1 box--flex-direction-row box--text-align-right typography typography--h6 typography--weight-bold typography--style-normal typography--color-text-default"
|
||||||
|
>
|
||||||
|
Unknown
|
||||||
|
</h6>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="transaction-detail-item__row"
|
||||||
|
>
|
||||||
|
<h6
|
||||||
|
class="box box--margin-top-1 box--margin-bottom-1 box--flex-direction-row typography typography--h7 typography--weight-normal typography--style-normal typography--color-text-alternative"
|
||||||
|
/>
|
||||||
|
<h6
|
||||||
|
class="box box--margin-top-1 box--margin-bottom-1 box--flex-direction-row typography transaction-detail-item__row-subText typography--h7 typography--weight-normal typography--style-normal typography--align-end typography--color-text-alternative"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="transaction-detail-item"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="transaction-detail-item__row"
|
||||||
|
>
|
||||||
|
<h6
|
||||||
|
class="box box--margin-top-1 box--margin-bottom-1 box--display-flex box--flex-direction-row box--flex-wrap-nowrap box--align-items-center typography typography--h6 typography--weight-bold typography--style-normal typography--color-text-default"
|
||||||
|
>
|
||||||
|
Total
|
||||||
|
</h6>
|
||||||
|
<div
|
||||||
|
class="transaction-detail-item__detail-values"
|
||||||
|
>
|
||||||
|
<h6
|
||||||
|
class="box box--margin-top-1 box--margin-bottom-1 box--margin-left-1 box--flex-direction-row box--text-align-right typography typography--h6 typography--weight-bold typography--style-normal typography--color-text-default"
|
||||||
|
>
|
||||||
|
0.001000021000 ETH
|
||||||
|
</h6>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="transaction-detail-item__row"
|
||||||
|
>
|
||||||
|
<h6
|
||||||
|
class="box box--margin-top-1 box--margin-bottom-1 box--flex-direction-row typography typography--h7 typography--weight-normal typography--style-normal typography--color-text-alternative"
|
||||||
|
>
|
||||||
|
Amount + fees
|
||||||
|
</h6>
|
||||||
|
<h6
|
||||||
|
class="box box--margin-top-1 box--margin-bottom-1 box--flex-direction-row typography transaction-detail-item__row-subText typography--h7 typography--weight-normal typography--style-normal typography--align-end typography--color-text-alternative"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`Multi layer fee message when balance and token price checker is enabled should match snapshot 1`] = `
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div
|
||||||
class="multi-layer-fee-message"
|
class="multi-layer-fee-message"
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import React, { useContext, useState, useEffect } from 'react';
|
import React, { useContext, useState, useEffect } from 'react';
|
||||||
|
import { useSelector } from 'react-redux';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { captureException } from '@sentry/browser';
|
import { captureException } from '@sentry/browser';
|
||||||
import TransactionDetailItem from '../transaction-detail-item/transaction-detail-item.component';
|
import TransactionDetailItem from '../transaction-detail-item/transaction-detail-item.component';
|
||||||
@ -9,6 +10,7 @@ import { I18nContext } from '../../../contexts/i18n';
|
|||||||
import { sumHexes } from '../../../../shared/modules/conversion.utils';
|
import { sumHexes } from '../../../../shared/modules/conversion.utils';
|
||||||
import { EtherDenomination } from '../../../../shared/constants/common';
|
import { EtherDenomination } from '../../../../shared/constants/common';
|
||||||
import { Numeric } from '../../../../shared/modules/Numeric';
|
import { Numeric } from '../../../../shared/modules/Numeric';
|
||||||
|
import { getUseCurrencyRateCheck } from '../../../selectors';
|
||||||
|
|
||||||
export default function MultilayerFeeMessage({
|
export default function MultilayerFeeMessage({
|
||||||
transaction,
|
transaction,
|
||||||
@ -19,6 +21,8 @@ export default function MultilayerFeeMessage({
|
|||||||
const t = useContext(I18nContext);
|
const t = useContext(I18nContext);
|
||||||
const [fetchedLayer1Total, setLayer1Total] = useState(null);
|
const [fetchedLayer1Total, setLayer1Total] = useState(null);
|
||||||
|
|
||||||
|
const useCurrencyRateCheck = useSelector(getUseCurrencyRateCheck);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!transaction?.txParams) {
|
if (!transaction?.txParams) {
|
||||||
return;
|
return;
|
||||||
@ -55,14 +59,14 @@ export default function MultilayerFeeMessage({
|
|||||||
.toDenomination(EtherDenomination.ETH)
|
.toDenomination(EtherDenomination.ETH)
|
||||||
.toFixed(12)} ${nativeCurrency}`;
|
.toFixed(12)} ${nativeCurrency}`;
|
||||||
|
|
||||||
feeTotalInFiat = (
|
feeTotalInFiat = useCurrencyRateCheck ? (
|
||||||
<UserPreferencedCurrencyDisplay
|
<UserPreferencedCurrencyDisplay
|
||||||
type={SECONDARY}
|
type={SECONDARY}
|
||||||
value={fetchedLayer1Total}
|
value={fetchedLayer1Total}
|
||||||
showFiat
|
showFiat
|
||||||
hideLabel
|
hideLabel
|
||||||
/>
|
/>
|
||||||
);
|
) : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
const totalInWeiHex = sumHexes(
|
const totalInWeiHex = sumHexes(
|
||||||
@ -76,14 +80,14 @@ export default function MultilayerFeeMessage({
|
|||||||
.toDenomination(EtherDenomination.ETH)
|
.toDenomination(EtherDenomination.ETH)
|
||||||
.toFixed(12)} ${nativeCurrency}`;
|
.toFixed(12)} ${nativeCurrency}`;
|
||||||
|
|
||||||
const totalInFiat = (
|
const totalInFiat = useCurrencyRateCheck ? (
|
||||||
<UserPreferencedCurrencyDisplay
|
<UserPreferencedCurrencyDisplay
|
||||||
type={SECONDARY}
|
type={SECONDARY}
|
||||||
value={totalInWeiHex}
|
value={totalInWeiHex}
|
||||||
showFiat
|
showFiat
|
||||||
hideLabel
|
hideLabel
|
||||||
/>
|
/>
|
||||||
);
|
) : null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="multi-layer-fee-message">
|
<div className="multi-layer-fee-message">
|
||||||
@ -91,7 +95,7 @@ export default function MultilayerFeeMessage({
|
|||||||
key="total-item-gas-fee"
|
key="total-item-gas-fee"
|
||||||
detailTitle={t('layer1Fees')}
|
detailTitle={t('layer1Fees')}
|
||||||
detailTotal={layer1Total}
|
detailTotal={layer1Total}
|
||||||
detailText={feeTotalInFiat}
|
detailText={useCurrencyRateCheck && feeTotalInFiat}
|
||||||
noBold={plainStyle}
|
noBold={plainStyle}
|
||||||
flexWidthValues={plainStyle}
|
flexWidthValues={plainStyle}
|
||||||
/>
|
/>
|
||||||
|
@ -8,39 +8,100 @@ import MultilayerFeeMessage from './multi-layer-fee-message';
|
|||||||
jest.mock('../../../helpers/utils/optimism/fetchEstimatedL1Fee', () => '0x5');
|
jest.mock('../../../helpers/utils/optimism/fetchEstimatedL1Fee', () => '0x5');
|
||||||
|
|
||||||
describe('Multi layer fee message', () => {
|
describe('Multi layer fee message', () => {
|
||||||
const store = configureStore(mockState);
|
describe('when balance and token price checker is enabled', () => {
|
||||||
|
let store;
|
||||||
|
|
||||||
it('should match snapshot', () => {
|
beforeEach(() => {
|
||||||
const { container } = renderWithProvider(
|
store = configureStore(mockState);
|
||||||
<MultilayerFeeMessage
|
});
|
||||||
transaction={{
|
|
||||||
txParams: {
|
afterEach(() => {
|
||||||
value: '0x38d7ea4c68000',
|
store = null;
|
||||||
},
|
});
|
||||||
}}
|
|
||||||
layer2fee="0x4e3b29200"
|
it('should match snapshot', () => {
|
||||||
nativeCurrency="ETH"
|
const { container } = renderWithProvider(
|
||||||
/>,
|
<MultilayerFeeMessage
|
||||||
store,
|
transaction={{
|
||||||
);
|
txParams: {
|
||||||
expect(container).toMatchSnapshot();
|
value: '0x38d7ea4c68000',
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
layer2fee="0x4e3b29200"
|
||||||
|
nativeCurrency="ETH"
|
||||||
|
/>,
|
||||||
|
store,
|
||||||
|
);
|
||||||
|
expect(container).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should contain fee values', () => {
|
||||||
|
const { getByText } = renderWithProvider(
|
||||||
|
<MultilayerFeeMessage
|
||||||
|
transaction={{
|
||||||
|
txParams: {
|
||||||
|
value: '0x38d7ea4c68000',
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
layer2fee="0x4e3b29200"
|
||||||
|
nativeCurrency="ETH"
|
||||||
|
/>,
|
||||||
|
store,
|
||||||
|
);
|
||||||
|
expect(getByText('Layer 1 fees')).toBeInTheDocument();
|
||||||
|
expect(getByText('Amount + fees')).toBeInTheDocument();
|
||||||
|
expect(getByText('0.001000021000 ETH')).toBeInTheDocument();
|
||||||
|
expect(getByText('$0.56')).toBeInTheDocument();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should containe fee values', () => {
|
describe('when balance and token price checker is disabled', () => {
|
||||||
const { getByText } = renderWithProvider(
|
let storeWithPriceCheckerDisabled;
|
||||||
<MultilayerFeeMessage
|
|
||||||
transaction={{
|
beforeEach(() => {
|
||||||
txParams: {
|
storeWithPriceCheckerDisabled = configureStore({
|
||||||
value: '0x38d7ea4c68000',
|
...mockState,
|
||||||
},
|
metamask: {
|
||||||
}}
|
...mockState.metamask,
|
||||||
layer2fee="0x4e3b29200"
|
useCurrencyRateCheck: false,
|
||||||
nativeCurrency="ETH"
|
},
|
||||||
/>,
|
});
|
||||||
store,
|
});
|
||||||
);
|
|
||||||
expect(getByText('Layer 1 fees')).toBeInTheDocument();
|
afterEach(() => {
|
||||||
expect(getByText('Amount + fees')).toBeInTheDocument();
|
storeWithPriceCheckerDisabled = null;
|
||||||
expect(getByText('0.001000021000 ETH')).toBeInTheDocument();
|
});
|
||||||
|
|
||||||
|
it('should match screenshot', () => {
|
||||||
|
const { container } = renderWithProvider(
|
||||||
|
<MultilayerFeeMessage
|
||||||
|
transaction={{
|
||||||
|
txParams: {
|
||||||
|
value: '0x38d7ea4c68000',
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
layer2fee="0x4e3b29200"
|
||||||
|
nativeCurrency="ETH"
|
||||||
|
/>,
|
||||||
|
storeWithPriceCheckerDisabled,
|
||||||
|
);
|
||||||
|
expect(container).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should not contain a fiat value', () => {
|
||||||
|
const { queryByText } = renderWithProvider(
|
||||||
|
<MultilayerFeeMessage
|
||||||
|
transaction={{
|
||||||
|
txParams: {
|
||||||
|
value: '0x38d7ea4c68000',
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
layer2fee="0x4e3b29200"
|
||||||
|
nativeCurrency="ETH"
|
||||||
|
/>,
|
||||||
|
storeWithPriceCheckerDisabled,
|
||||||
|
);
|
||||||
|
expect(queryByText('$0.56')).not.toBeInTheDocument();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user