From 839db68571037f6fff8273aaade6ea0bd14ea8a5 Mon Sep 17 00:00:00 2001 From: Fabio Berger Date: Wed, 16 May 2018 14:59:10 +0200 Subject: Fix TSLint rules --- packages/utils/src/abi_decoder.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'packages/utils/src/abi_decoder.ts') diff --git a/packages/utils/src/abi_decoder.ts b/packages/utils/src/abi_decoder.ts index d329f917a..654c7753b 100644 --- a/packages/utils/src/abi_decoder.ts +++ b/packages/utils/src/abi_decoder.ts @@ -23,7 +23,8 @@ export class AbiDecoder { formatted = formatted.slice(2); } - formatted = _.padStart(formatted, 40, '0'); + const desiredLength = 40; + formatted = _.padStart(formatted, desiredLength, '0'); return `0x${formatted}`; } constructor(abiArrays: AbiDefinition[][]) { @@ -45,16 +46,17 @@ export class AbiDecoder { const dataTypes = _.map(nonIndexedInputs, input => input.type); const decodedData = ethersInterface.events[event.name].parse(log.data); - let failedToDecode = false; + let didFailToDecode = false; _.forEach(event.inputs, (param: EventParameter, i: number) => { // Indexed parameters are stored in topics. Non-indexed ones in decodedData let value: BigNumber | string | number = param.indexed ? log.topics[topicsIndex++] : decodedData[i]; if (_.isUndefined(value)) { - failedToDecode = true; + didFailToDecode = true; return; } if (param.type === SolidityTypes.Address) { - value = AbiDecoder._padZeros(new BigNumber(value).toString(16)); + const baseHex = 16; + value = AbiDecoder._padZeros(new BigNumber(value).toString(baseHex)); } else if (param.type === SolidityTypes.Uint256 || param.type === SolidityTypes.Uint) { value = new BigNumber(value); } else if (param.type === SolidityTypes.Uint8) { @@ -63,7 +65,7 @@ export class AbiDecoder { decodedParams[param.name] = value; }); - if (failedToDecode) { + if (didFailToDecode) { return log; } else { return { -- cgit v1.2.3 From 7fab7829071f5b60a6dad058c5a7b6d56f607b97 Mon Sep 17 00:00:00 2001 From: Fabio Berger Date: Thu, 17 May 2018 14:07:55 +0200 Subject: Improve naming --- packages/utils/src/abi_decoder.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'packages/utils/src/abi_decoder.ts') diff --git a/packages/utils/src/abi_decoder.ts b/packages/utils/src/abi_decoder.ts index 654c7753b..c78bfa343 100644 --- a/packages/utils/src/abi_decoder.ts +++ b/packages/utils/src/abi_decoder.ts @@ -23,8 +23,8 @@ export class AbiDecoder { formatted = formatted.slice(2); } - const desiredLength = 40; - formatted = _.padStart(formatted, desiredLength, '0'); + const addressLength = 40; + formatted = _.padStart(formatted, addressLength, '0'); return `0x${formatted}`; } constructor(abiArrays: AbiDefinition[][]) { -- cgit v1.2.3 From 83c37c6a7a320326975c8afd9d49a42c9afcefd4 Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Tue, 22 May 2018 11:05:24 -0700 Subject: Address feedback --- packages/utils/src/abi_decoder.ts | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'packages/utils/src/abi_decoder.ts') diff --git a/packages/utils/src/abi_decoder.ts b/packages/utils/src/abi_decoder.ts index c78bfa343..d2d8364ca 100644 --- a/packages/utils/src/abi_decoder.ts +++ b/packages/utils/src/abi_decoder.ts @@ -12,21 +12,12 @@ import { import * as ethers from 'ethers'; import * as _ from 'lodash'; +import { addressUtils } from './address_utils'; import { BigNumber } from './configured_bignumber'; export class AbiDecoder { private _savedABIs: AbiDefinition[] = []; private _methodIds: { [signatureHash: string]: EventAbi } = {}; - private static _padZeros(address: string): string { - let formatted = address; - if (_.startsWith(formatted, '0x')) { - formatted = formatted.slice(2); - } - - const addressLength = 40; - formatted = _.padStart(formatted, addressLength, '0'); - return `0x${formatted}`; - } constructor(abiArrays: AbiDefinition[][]) { _.forEach(abiArrays, this.addABI.bind(this)); } @@ -56,7 +47,7 @@ export class AbiDecoder { } if (param.type === SolidityTypes.Address) { const baseHex = 16; - value = AbiDecoder._padZeros(new BigNumber(value).toString(baseHex)); + value = addressUtils.padZeros(new BigNumber(value).toString(baseHex)); } else if (param.type === SolidityTypes.Uint256 || param.type === SolidityTypes.Uint) { value = new BigNumber(value); } else if (param.type === SolidityTypes.Uint8) { -- cgit v1.2.3