@@ -8,13 +8,16 @@ import './FeeDropdown.scss';
88
99const PRICE_LABELS = ['Fast', 'Normal', 'Slow'];
1010
11−export interface GasPrice {
11+export interface GasPriceData {
1212 price: number;
1313 wait: string;
14+ maxFeePerGas: number;
15+ maxPriorityFeePerGas: number;
16+ suggestedBaseFeePerGas: number;
1417}
1518
1619export const formatWait = (wait: number) => Math.round(wait * 100) / 100;
17−export const formatDisplay = ({ price, wait }: GasPrice) =>
20+export const formatDisplay = ({ price, wait }: GasPriceData) =>
1821 `${price} gwei (${wait} min)`;
1922
2023export default function FeeDropdown({
@@ -22,12 +25,16 @@ export default function FeeDropdown({
2225}: {
2326 setGasPrice: (g: number) => void;
2427}) {
25− const { suggestedGasPrices } = useGasPrice(DEFAULT_GAS_PRICE_GWEI);
28+ const { suggestedGasPrices }: { suggestedGasPrices: {
29+ fast: GasPriceData,
30+ average: GasPriceData,
31+ low: GasPriceData,
32+ }} = useGasPrice(DEFAULT_GAS_PRICE_GWEI);
2633
2734 const [open, setOpen] = useState(false);
2835 const [useCustom, setUseCustom] = useState(false);
2936 const [custom, setCustom] = useState<string | undefined>();
30− const [selected, setSelected] = useState<GasPrice>(
37+ const [selected, setSelected] = useState<GasPriceData>(
3138 suggestedGasPrices.average
3239 );
3340
@@ -51,7 +58,13 @@ export default function FeeDropdown({
5158 customWait = `< ${fast.wait}`;
5259 }
5360
54− setSelected({ price: cleanedNum, wait: customWait });
61+ setSelected({
62+ price: cleanedNum,
63+ wait: customWait,
64+ maxFeePerGas: cleanedNum,
65+ maxPriorityFeePerGas: cleanedNum,
66+ suggestedBaseFeePerGas: cleanedNum
67+ });
5568 };
5669
5770 useEffect(() => {
@@ -59,7 +72,7 @@ export default function FeeDropdown({
5972 }, [suggestedGasPrices]);
6073
6174 const selectPrice = useCallback(
62− (value: GasPrice) => () => {
75+ (value: GasPriceData) => () => {
6376 setSelected(value);
6477 setGasPrice(value.price);
6578 setOpen(false);
@@ -97,7 +110,7 @@ export default function FeeDropdown({
97110 toggleOpen={() => setOpen(!open)}>
98111 <Box className="prices">
99112 {Object.values(suggestedGasPrices).map(
100− (value: GasPrice, ind: number) => (
113+ (value: GasPriceData, ind: number) => (
101114 <Row
102115 className="price"
103116 onClick={selectPrice(value)}