diff options
author | Amir Bandeali <abandeali1@gmail.com> | 2018-02-13 10:25:45 +0800 |
---|---|---|
committer | Amir Bandeali <abandeali1@gmail.com> | 2018-04-21 04:56:16 +0800 |
commit | f12e4f8889d887952c2cd0b129fa926d1f3b9044 (patch) | |
tree | 97aad58f3713842378fb17ab414b6731a8a94249 | |
parent | df99a360fb3467b80952416ed1d1802f3599ee8d (diff) | |
download | dexon-sol-tools-f12e4f8889d887952c2cd0b129fa926d1f3b9044.tar dexon-sol-tools-f12e4f8889d887952c2cd0b129fa926d1f3b9044.tar.gz dexon-sol-tools-f12e4f8889d887952c2cd0b129fa926d1f3b9044.tar.bz2 dexon-sol-tools-f12e4f8889d887952c2cd0b129fa926d1f3b9044.tar.lz dexon-sol-tools-f12e4f8889d887952c2cd0b129fa926d1f3b9044.tar.xz dexon-sol-tools-f12e4f8889d887952c2cd0b129fa926d1f3b9044.tar.zst dexon-sol-tools-f12e4f8889d887952c2cd0b129fa926d1f3b9044.zip |
Use new logDecoder interface
-rw-r--r-- | packages/contracts/src/utils/exchange_wrapper.ts | 14 | ||||
-rw-r--r-- | packages/contracts/src/utils/log_decoder.ts | 9 |
2 files changed, 13 insertions, 10 deletions
diff --git a/packages/contracts/src/utils/exchange_wrapper.ts b/packages/contracts/src/utils/exchange_wrapper.ts index f86b507e9..788bf07f4 100644 --- a/packages/contracts/src/utils/exchange_wrapper.ts +++ b/packages/contracts/src/utils/exchange_wrapper.ts @@ -36,7 +36,7 @@ export class ExchangeWrapper { const tx = await this._zeroEx.awaitTransactionMinedAsync(txHash); tx.logs = _.filter(tx.logs, log => log.address === this._exchange.address); tx.logs = _.map(tx.logs, log => { - const logWithDecodedArgs = this._logDecoder.tryToDecodeLogOrNoop(log); + const logWithDecodedArgs = this._logDecoder.decodeLogOrThrow(log); wrapLogBigNumbers(logWithDecodedArgs); return logWithDecodedArgs; }); @@ -57,7 +57,7 @@ export class ExchangeWrapper { const tx = await this._zeroEx.awaitTransactionMinedAsync(txHash); tx.logs = _.filter(tx.logs, log => log.address === this._exchange.address); tx.logs = _.map(tx.logs, log => { - const logWithDecodedArgs = this._logDecoder.tryToDecodeLogOrNoop(log); + const logWithDecodedArgs = this._logDecoder.decodeLogOrThrow(log); wrapLogBigNumbers(logWithDecodedArgs); return logWithDecodedArgs; }); @@ -81,7 +81,7 @@ export class ExchangeWrapper { const tx = await this._zeroEx.awaitTransactionMinedAsync(txHash); tx.logs = _.filter(tx.logs, log => log.address === this._exchange.address); tx.logs = _.map(tx.logs, log => { - const logWithDecodedArgs = this._logDecoder.tryToDecodeLogOrNoop(log); + const logWithDecodedArgs = this._logDecoder.decodeLogOrThrow(log); wrapLogBigNumbers(logWithDecodedArgs); return logWithDecodedArgs; }); @@ -105,7 +105,7 @@ export class ExchangeWrapper { const tx = await this._zeroEx.awaitTransactionMinedAsync(txHash); tx.logs = _.filter(tx.logs, log => log.address === this._exchange.address); tx.logs = _.map(tx.logs, log => { - const logWithDecodedArgs = this._logDecoder.tryToDecodeLogOrNoop(log); + const logWithDecodedArgs = this._logDecoder.decodeLogOrThrow(log); wrapLogBigNumbers(logWithDecodedArgs); return logWithDecodedArgs; }); @@ -129,7 +129,7 @@ export class ExchangeWrapper { const tx = await this._zeroEx.awaitTransactionMinedAsync(txHash); tx.logs = _.filter(tx.logs, log => log.address === this._exchange.address); tx.logs = _.map(tx.logs, log => { - const logWithDecodedArgs = this._logDecoder.tryToDecodeLogOrNoop(log); + const logWithDecodedArgs = this._logDecoder.decodeLogOrThrow(log); wrapLogBigNumbers(logWithDecodedArgs); return logWithDecodedArgs; }); @@ -153,7 +153,7 @@ export class ExchangeWrapper { const tx = await this._zeroEx.awaitTransactionMinedAsync(txHash); tx.logs = _.filter(tx.logs, log => log.address === this._exchange.address); tx.logs = _.map(tx.logs, log => { - const logWithDecodedArgs = this._logDecoder.tryToDecodeLogOrNoop(log); + const logWithDecodedArgs = this._logDecoder.decodeLogOrThrow(log); wrapLogBigNumbers(logWithDecodedArgs); return logWithDecodedArgs; }); @@ -174,7 +174,7 @@ export class ExchangeWrapper { const tx = await this._zeroEx.awaitTransactionMinedAsync(txHash); tx.logs = _.filter(tx.logs, log => log.address === this._exchange.address); tx.logs = _.map(tx.logs, log => { - const logWithDecodedArgs = this._logDecoder.tryToDecodeLogOrNoop(log); + const logWithDecodedArgs = this._logDecoder.decodeLogOrThrow(log); wrapLogBigNumbers(logWithDecodedArgs); return logWithDecodedArgs; }); diff --git a/packages/contracts/src/utils/log_decoder.ts b/packages/contracts/src/utils/log_decoder.ts index 89f641078..d8685e3d7 100644 --- a/packages/contracts/src/utils/log_decoder.ts +++ b/packages/contracts/src/utils/log_decoder.ts @@ -22,8 +22,11 @@ export class LogDecoder { }); this._abiDecoder = new AbiDecoder(abiArrays); } - public tryToDecodeLogOrNoop<ArgsType>(log: Web3.LogEntry): LogWithDecodedArgs<ArgsType> | RawLog { - const logWithDecodedArgs = this._abiDecoder.tryToDecodeLogOrNoop(log); - return logWithDecodedArgs; + public decodeLogOrThrow<ArgsType>(log: Web3.LogEntry): LogWithDecodedArgs<ArgsType> | RawLog { + const logWithDecodedArgsOrLog = this._abiDecoder.tryToDecodeLogOrNoop(log); + if (_.isUndefined((logWithDecodedArgsOrLog as LogWithDecodedArgs<ArgsType>).args)) { + throw new Error(`Unable to decode log: ${JSON.stringify(log)}`); + } + return logWithDecodedArgsOrLog; } } |