A Metamask fork with Infura removed and default networks editable
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.
ciphermask/ui/components/app/transaction-activity-log/transaction-activity-log.co...

60 lines
1.5 KiB

import { connect } from 'react-redux';
import { findLastIndex } from 'lodash';
import {
conversionRateSelector,
getRpcPrefsForCurrentProvider,
} from '../../../selectors';
import { getNativeCurrency } from '../../../ducks/metamask/metamask';
import TransactionActivityLog from './transaction-activity-log.component';
import { combineTransactionHistories } from './transaction-activity-log.util';
import {
TRANSACTION_RESUBMITTED_EVENT,
TRANSACTION_CANCEL_ATTEMPTED_EVENT,
} from './transaction-activity-log.constants';
const matchesEventKey =
(matchEventKey) =>
({ eventKey }) =>
eventKey === matchEventKey;
const mapStateToProps = (state) => {
return {
conversionRate: conversionRateSelector(state),
nativeCurrency: getNativeCurrency(state),
rpcPrefs: getRpcPrefsForCurrentProvider(state),
};
};
const mergeProps = (stateProps, dispatchProps, ownProps) => {
const {
transactionGroup: { transactions = [], primaryTransaction } = {},
...restOwnProps
} = ownProps;
const activities = combineTransactionHistories(transactions);
const inlineRetryIndex = findLastIndex(
activities,
matchesEventKey(TRANSACTION_RESUBMITTED_EVENT),
);
const inlineCancelIndex = findLastIndex(
activities,
matchesEventKey(TRANSACTION_CANCEL_ATTEMPTED_EVENT),
);
return {
...stateProps,
...dispatchProps,
...restOwnProps,
activities,
inlineRetryIndex,
inlineCancelIndex,
primaryTransaction,
};
};
export default connect(
mapStateToProps,
null,
mergeProps,
)(TransactionActivityLog);