aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/types.ts2
-rw-r--r--src/utils/abi_decoder.ts8
2 files changed, 7 insertions, 3 deletions
diff --git a/src/types.ts b/src/types.ts
index a6a24ef8e..92b873886 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -202,6 +202,8 @@ export interface TokenTransferProxyContract extends Web3.ContractInstance {
export enum SolidityTypes {
Address = 'address',
Uint256 = 'uint256',
+ Uint8 = 'uint8',
+ Uint = 'uint',
}
export enum ExchangeContractErrCodes {
diff --git a/src/utils/abi_decoder.ts b/src/utils/abi_decoder.ts
index 4646016f2..e9ba3bc5a 100644
--- a/src/utils/abi_decoder.ts
+++ b/src/utils/abi_decoder.ts
@@ -1,7 +1,7 @@
import * as Web3 from 'web3';
import * as _ from 'lodash';
import * as BigNumber from 'bignumber.js';
-import {AbiType, DecodedLogArgs, DecodedArgs, LogWithDecodedArgs, RawLog} from '../types';
+import {AbiType, DecodedLogArgs, DecodedArgs, LogWithDecodedArgs, RawLog, SolidityTypes} from '../types';
import * as SolidityCoder from 'web3/lib/solidity/coder';
export class AbiDecoder {
@@ -35,9 +35,11 @@ export class AbiDecoder {
value = decodedData[dataIndex];
dataIndex++;
}
- if (param.type === 'address') {
+ if (param.type === SolidityTypes.Address) {
value = this.padZeros(new BigNumber(value).toString(16));
- } else if (param.type === 'uint256' || param.type === 'uint8' || param.type === 'int' ) {
+ } else if (param.type === SolidityTypes.Uint256 ||
+ param.type === SolidityTypes.Uint8 ||
+ param.type === SolidityTypes.Uint ) {
value = new BigNumber(value);
}
decodedParams[param.name] = value;