You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.1 KiB
60 lines
1.1 KiB
import { cloneDeep } from 'lodash';
|
|
import {
|
|
RESET_CUSTOM_DATA,
|
|
SET_CUSTOM_GAS_LIMIT,
|
|
SET_CUSTOM_GAS_PRICE,
|
|
} from './gas-action-constants';
|
|
|
|
const initState = {
|
|
customData: {
|
|
price: null,
|
|
limit: null,
|
|
},
|
|
};
|
|
|
|
// Reducer
|
|
export default function reducer(state = initState, action) {
|
|
switch (action.type) {
|
|
case SET_CUSTOM_GAS_PRICE:
|
|
return {
|
|
...state,
|
|
customData: {
|
|
...state.customData,
|
|
price: action.value,
|
|
},
|
|
};
|
|
case SET_CUSTOM_GAS_LIMIT:
|
|
return {
|
|
...state,
|
|
customData: {
|
|
...state.customData,
|
|
limit: action.value,
|
|
},
|
|
};
|
|
case RESET_CUSTOM_DATA:
|
|
return {
|
|
...state,
|
|
customData: cloneDeep(initState.customData),
|
|
};
|
|
default:
|
|
return state;
|
|
}
|
|
}
|
|
|
|
export function setCustomGasPrice(newPrice) {
|
|
return {
|
|
type: SET_CUSTOM_GAS_PRICE,
|
|
value: newPrice,
|
|
};
|
|
}
|
|
|
|
export function setCustomGasLimit(newLimit) {
|
|
return {
|
|
type: SET_CUSTOM_GAS_LIMIT,
|
|
value: newLimit,
|
|
};
|
|
}
|
|
|
|
export function resetCustomData() {
|
|
return { type: RESET_CUSTOM_DATA };
|
|
}
|
|
|