diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-10-03 17:20:33 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-10-04 16:14:19 +0800 |
commit | a9681072ee4b45bda23b754fa46175b68c09b8b9 (patch) | |
tree | 0dcbcb44fec31b1df6ce37a9e308b7f8bac476d2 | |
parent | 16af052a168f64b6ba12b336cce9d404d383ce84 (diff) | |
download | dexon-0x-contracts-a9681072ee4b45bda23b754fa46175b68c09b8b9.tar.gz dexon-0x-contracts-a9681072ee4b45bda23b754fa46175b68c09b8b9.tar.zst dexon-0x-contracts-a9681072ee4b45bda23b754fa46175b68c09b8b9.zip |
Factor out tryToDecodeLogOrNoOp
-rw-r--r-- | src/0x.ts | 23 |
1 files changed, 12 insertions, 11 deletions
@@ -302,17 +302,7 @@ export class ZeroEx { const transactionReceipt = await this._web3Wrapper.getTransactionReceiptAsync(txHash); if (!_.isNull(transactionReceipt)) { intervalUtils.clearAsyncExcludingInterval(intervalId); - const logsWithDecodedArgs = _.map(transactionReceipt.logs, (log: Web3.LogEntry) => { - const decodedLog = this._abiDecoder.decodeLog(log); - if (_.isUndefined(decodedLog)) { - return log; - } - const logWithDecodedArgs: LogWithDecodedArgs = { - ...log, - ...decodedLog, - }; - return logWithDecodedArgs; - }); + const logsWithDecodedArgs = _.map(transactionReceipt.logs, this.tryToDecodeLogOrNoOp.bind(this)); const transactionReceiptWithDecodedLogArgs: TransactionReceiptWithDecodedLogs = { ...transactionReceipt, logs: logsWithDecodedArgs, @@ -332,6 +322,17 @@ export class ZeroEx { const logs = await this._web3Wrapper.getLogsAsync(filter); return logs; } + private tryToDecodeLogOrNoOp(log: Web3.LogEntry): LogWithDecodedArgs|Web3.LogEntry { + const decodedLog = this._abiDecoder.decodeLog(log); + if (_.isUndefined(decodedLog)) { + return log; + } + const logWithDecodedArgs: LogWithDecodedArgs = { + ...log, + ...decodedLog, + }; + return logWithDecodedArgs; + } /* * HACK: `TokenWrapper` needs a token transfer proxy address. `TokenTransferProxy` address is fetched from * an `ExchangeWrapper`. `ExchangeWrapper` needs `TokenWrapper` to validate orders, creating a dependency cycle. |