@0x/contracts-test-utils: Add filterLogs() and
`filterLogsToArguments()` helpers.
This commit is contained in:
@@ -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';
|
||||
|
||||
17
contracts/test-utils/src/log_utils.ts
Normal file
17
contracts/test-utils/src/log_utils.ts
Normal 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);
|
||||
}
|
||||
Reference in New Issue
Block a user