From 76d6e6a7481a69c1c0100a90f30d5d28ec471e84 Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Thu, 15 Jun 2017 16:21:27 +0200 Subject: Add actual type for contract event arguments --- src/contract_wrappers/exchange_wrapper.ts | 3 ++- src/index.ts | 4 ++++ src/types.ts | 31 ++++++++++++++++++++++++++++++- 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/src/contract_wrappers/exchange_wrapper.ts b/src/contract_wrappers/exchange_wrapper.ts index 4698089eb..0b191ed93 100644 --- a/src/contract_wrappers/exchange_wrapper.ts +++ b/src/contract_wrappers/exchange_wrapper.ts @@ -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); } diff --git a/src/index.ts b/src/index.ts index 48e83fc19..041413994 100644 --- a/src/index.ts +++ b/src/index.ts @@ -19,4 +19,8 @@ export { OrderCancellationRequest, OrderFillRequest, ContractEventEmitter, + LogErrorArgs, + LogCancelArgs, + LogFillArgs, + EventArgs, } from './types'; diff --git a/src/types.ts b/src/types.ts index 11d3182d8..742ac71ff 100644 --- a/src/types.ts +++ b/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; -- cgit From 26f20fa3e32e963929a7449047d15327c3b445b0 Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Mon, 19 Jun 2017 09:47:29 +0200 Subject: Rename LogErrorArgs to LogErrorEventArgs and EventArgs to ContractEventArgs --- src/contract_wrappers/exchange_wrapper.ts | 4 ++-- src/index.ts | 4 ++-- src/types.ts | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/contract_wrappers/exchange_wrapper.ts b/src/contract_wrappers/exchange_wrapper.ts index 0b191ed93..3ffe927c7 100644 --- a/src/contract_wrappers/exchange_wrapper.ts +++ b/src/contract_wrappers/exchange_wrapper.ts @@ -22,7 +22,7 @@ import { ContractResponse, OrderCancellationRequest, OrderFillRequest, - LogErrorArgs, + LogErrorContractEventArgs, } from '../types'; import {assert} from '../utils/assert'; import {utils} from '../utils/utils'; @@ -713,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 as LogErrorArgs).errorId.toNumber() + const errCode = (errEvent.args as LogErrorContractEventArgs).errorId.toNumber() const errMessage = this._exchangeContractErrCodesToMsg[errCode]; throw new Error(errMessage); } diff --git a/src/index.ts b/src/index.ts index f9037124d..109718462 100644 --- a/src/index.ts +++ b/src/index.ts @@ -19,9 +19,9 @@ export { OrderCancellationRequest, OrderFillRequest, ContractEventEmitter, - LogErrorArgs, + LogErrorContractEventArgs, LogCancelArgs, LogFillArgs, - EventArgs, + ContractEventArgs, Web3Provider, } from './types'; diff --git a/src/types.ts b/src/types.ts index f15e05d1a..c4191ebd8 100644 --- a/src/types.ts +++ b/src/types.ts @@ -191,7 +191,7 @@ export interface ContractEvent { address: string; type: string; event: string; - args: EventArgs; + args: ContractEventArgs; } export interface LogFillArgs { @@ -217,11 +217,11 @@ export interface LogCancelArgs { tokens: string; orderHash: string; } -export interface LogErrorArgs { +export interface LogErrorContractEventArgs { errorId: BigNumber.BigNumber; orderHash: string; } -export type EventArgs = LogFillArgs|LogCancelArgs|LogErrorArgs; +export type ContractEventArgs = LogFillArgs|LogCancelArgs|LogErrorContractEventArgs; export interface Order { maker: string; -- cgit