aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmir Bandeali <abandeali1@gmail.com>2018-02-13 10:25:45 +0800
committerAmir Bandeali <abandeali1@gmail.com>2018-04-21 04:56:16 +0800
commitf12e4f8889d887952c2cd0b129fa926d1f3b9044 (patch)
tree97aad58f3713842378fb17ab414b6731a8a94249
parentdf99a360fb3467b80952416ed1d1802f3599ee8d (diff)
downloaddexon-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.ts14
-rw-r--r--packages/contracts/src/utils/log_decoder.ts9
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;
}
}