Add actual type for contract event arguments
This commit is contained in:
@@ -22,6 +22,7 @@ import {
|
||||
ContractResponse,
|
||||
OrderCancellationRequest,
|
||||
OrderFillRequest,
|
||||
LogErrorArgs,
|
||||
} from '../types';
|
||||
import {assert} from '../utils/assert';
|
||||
import {utils} from '../utils/utils';
|
||||
@@ -712,7 +713,7 @@ export class ExchangeWrapper extends ContractWrapper {
|
||||
private _throwErrorLogsAsErrors(logs: ContractEvent[]): void {
|
||||
const errEvent = _.find(logs, {event: 'LogError'});
|
||||
if (!_.isUndefined(errEvent)) {
|
||||
const errCode = errEvent.args.errorId.toNumber();
|
||||
const errCode = (errEvent.args as LogErrorArgs).errorId.toNumber()
|
||||
const errMessage = this._exchangeContractErrCodesToMsg[errCode];
|
||||
throw new Error(errMessage);
|
||||
}
|
||||
|
||||
@@ -19,4 +19,8 @@ export {
|
||||
OrderCancellationRequest,
|
||||
OrderFillRequest,
|
||||
ContractEventEmitter,
|
||||
LogErrorArgs,
|
||||
LogCancelArgs,
|
||||
LogFillArgs,
|
||||
EventArgs,
|
||||
} from './types';
|
||||
|
||||
31
src/types.ts
31
src/types.ts
@@ -190,9 +190,38 @@ export interface ContractEvent {
|
||||
address: string;
|
||||
type: string;
|
||||
event: string;
|
||||
args: any;
|
||||
args: EventArgs;
|
||||
}
|
||||
|
||||
export interface LogFillArgs {
|
||||
maker: string;
|
||||
taker: string;
|
||||
feeRecipient: string;
|
||||
tokenM: string;
|
||||
tokenT: string;
|
||||
filledValueM: BigNumber.BigNumber;
|
||||
filledValueT: BigNumber.BigNumber;
|
||||
feeMPaid: BigNumber.BigNumber;
|
||||
feeTPaid: BigNumber.BigNumber;
|
||||
tokens: string;
|
||||
orderHash: string;
|
||||
}
|
||||
export interface LogCancelArgs {
|
||||
maker: string;
|
||||
feeRecipient: string;
|
||||
tokenM: string;
|
||||
tokenT: string;
|
||||
cancelledValueM: BigNumber.BigNumber;
|
||||
cancelledValueT: BigNumber.BigNumber;
|
||||
tokens: string;
|
||||
orderHash: string;
|
||||
}
|
||||
export interface LogErrorArgs {
|
||||
errorId: BigNumber.BigNumber;
|
||||
orderHash: string;
|
||||
}
|
||||
export type EventArgs = LogFillArgs|LogCancelArgs|LogErrorArgs;
|
||||
|
||||
export interface Order {
|
||||
maker: string;
|
||||
taker: string;
|
||||
|
||||
Reference in New Issue
Block a user