diff options
author | Leonid <logvinov.leon@gmail.com> | 2017-10-13 22:16:11 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-13 22:16:11 +0800 |
commit | 5591378245184178dd1a1997076bb1cbb17ddcb1 (patch) | |
tree | 0ce4bebb4c038748e04f791cda501543018113df /src/utils/abi_decoder.ts | |
parent | ba654c04a086b8c4ce4330b3d6064716a4090599 (diff) | |
parent | dde2268f9fad24ad8baee88eca7aef068d05c178 (diff) | |
download | dexon-sol-tools-5591378245184178dd1a1997076bb1cbb17ddcb1.tar dexon-sol-tools-5591378245184178dd1a1997076bb1cbb17ddcb1.tar.gz dexon-sol-tools-5591378245184178dd1a1997076bb1cbb17ddcb1.tar.bz2 dexon-sol-tools-5591378245184178dd1a1997076bb1cbb17ddcb1.tar.lz dexon-sol-tools-5591378245184178dd1a1997076bb1cbb17ddcb1.tar.xz dexon-sol-tools-5591378245184178dd1a1997076bb1cbb17ddcb1.tar.zst dexon-sol-tools-5591378245184178dd1a1997076bb1cbb17ddcb1.zip |
Merge pull request #194 from 0xProject/feature/type-safe-subscriptions
Make logs fetching and subscriptions more type-safe
Diffstat (limited to 'src/utils/abi_decoder.ts')
-rw-r--r-- | src/utils/abi_decoder.ts | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/utils/abi_decoder.ts b/src/utils/abi_decoder.ts index 52b114c12..a6c45bee7 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, LogWithDecodedArgs, RawLog, SolidityTypes} from '../types'; +import {AbiType, DecodedLogArgs, LogWithDecodedArgs, RawLog, SolidityTypes, ContractEventArgs} from '../types'; import * as SolidityCoder from 'web3/lib/solidity/coder'; export class AbiDecoder { @@ -11,7 +11,8 @@ export class AbiDecoder { _.map(abiArrays, this.addABI.bind(this)); } // This method can only decode logs from the 0x smart contracts - public tryToDecodeLogOrNoop(log: Web3.LogEntry): LogWithDecodedArgs|RawLog { + public tryToDecodeLogOrNoop<ArgsType extends ContractEventArgs>( + log: Web3.LogEntry): LogWithDecodedArgs<ArgsType>|RawLog { const methodId = log.topics[0]; const event = this.methodIds[methodId]; if (_.isUndefined(event)) { |