@0x/contracts-test-utils: Add filterLogs() and

`filterLogsToArguments()` helpers.
This commit is contained in:
Lawrence Forman
2019-07-30 16:55:37 -04:00
parent 1e462f5cc0
commit 92d112083e
2 changed files with 18 additions and 0 deletions

View File

@@ -15,6 +15,7 @@ export {
export { getLatestBlockTimestampAsync, increaseTimeAndMineBlockAsync } from './block_timestamp';
export { provider, txDefaults, web3Wrapper } from './web3_wrapper';
export { LogDecoder } from './log_decoder';
export { filterLogs, filterLogsToArguments } from './log_utils';
export { signingUtils } from './signing_utils';
export { orderUtils } from './order_utils';
export { typeEncodingUtils } from './type_encoding_utils';

View File

@@ -0,0 +1,17 @@
import { LogEntry, LogWithDecodedArgs } from 'ethereum-types';
// tslint:disable no-unnecessary-type-assertion
/**
* Filter logs by event name/type.
*/
export function filterLogs<TEventArgs>(logs: LogEntry[], event: string): Array<LogWithDecodedArgs<TEventArgs>> {
return (logs as Array<LogWithDecodedArgs<any>>).filter(log => log.event === event);
}
/**
* Filter logs by event name/type and convert to arguments.
*/
export function filterLogsToArguments<TEventArgs>(logs: LogEntry[], event: string): TEventArgs[] {
return filterLogs<TEventArgs>(logs, event).map(log => log.args);
}