diff options
author | Greg Hysen <greg.hysen@gmail.com> | 2018-11-21 08:51:56 +0800 |
---|---|---|
committer | Greg Hysen <greg.hysen@gmail.com> | 2018-11-29 08:38:11 +0800 |
commit | c638151b73289fc936bb7d4323711d1954cc4fcb (patch) | |
tree | 72a58a5ce345852c4728b852e723e426caec489b /packages/utils/src/abi_encoder/abstract_data_types/dependent_data_type.ts | |
parent | 978a58105cd2d2f5d6ee3bcd870218fd357fb010 (diff) | |
download | dexon-sol-tools-c638151b73289fc936bb7d4323711d1954cc4fcb.tar dexon-sol-tools-c638151b73289fc936bb7d4323711d1954cc4fcb.tar.gz dexon-sol-tools-c638151b73289fc936bb7d4323711d1954cc4fcb.tar.bz2 dexon-sol-tools-c638151b73289fc936bb7d4323711d1954cc4fcb.tar.lz dexon-sol-tools-c638151b73289fc936bb7d4323711d1954cc4fcb.tar.xz dexon-sol-tools-c638151b73289fc936bb7d4323711d1954cc4fcb.tar.zst dexon-sol-tools-c638151b73289fc936bb7d4323711d1954cc4fcb.zip |
Some minor cleanup in ABI Encoder
Diffstat (limited to 'packages/utils/src/abi_encoder/abstract_data_types/dependent_data_type.ts')
-rw-r--r-- | packages/utils/src/abi_encoder/abstract_data_types/dependent_data_type.ts | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/packages/utils/src/abi_encoder/abstract_data_types/dependent_data_type.ts b/packages/utils/src/abi_encoder/abstract_data_types/dependent_data_type.ts index f4992dd0f..7649b1836 100644 --- a/packages/utils/src/abi_encoder/abstract_data_types/dependent_data_type.ts +++ b/packages/utils/src/abi_encoder/abstract_data_types/dependent_data_type.ts @@ -28,16 +28,17 @@ export abstract class DependentDataType extends DataType { const dependencyBlock = this._dependency.generateCalldataBlock(value, parentBlock); const name = this.getDataItem().name; const signature = this.getSignature(); - const parentName = parentBlock === undefined ? '' : parentBlock.getName(); + const parentName = parentBlock ? parentBlock.getName() : ''; const block = new DependentCalldataBlock(name, signature, parentName, dependencyBlock, parentBlock); return block; } public generateValue(calldata: RawCalldata, rules: DecodingRules): any { const destinationOffsetBuf = calldata.popWord(); - const currentOffset = calldata.getOffset(); - const destinationOffsetRelative = parseInt(ethUtil.bufferToHex(destinationOffsetBuf), Constants.HEX_BASE); + const destinationOffsetHex = ethUtil.bufferToHex(destinationOffsetBuf); + const destinationOffsetRelative = parseInt(destinationOffsetHex, Constants.HEX_BASE); const destinationOffsetAbsolute = calldata.toAbsoluteOffset(destinationOffsetRelative); + const currentOffset = calldata.getOffset(); calldata.setOffset(destinationOffsetAbsolute); const value = this._dependency.generateValue(calldata, rules); calldata.setOffset(currentOffset); |