aboutsummaryrefslogtreecommitdiffstats
path: root/packages/utils/src/abi_encoder/abstract_data_types/dependent_data_type.ts
diff options
context:
space:
mode:
authorGreg Hysen <greg.hysen@gmail.com>2018-11-21 08:51:56 +0800
committerGreg Hysen <greg.hysen@gmail.com>2018-11-29 08:38:11 +0800
commitc638151b73289fc936bb7d4323711d1954cc4fcb (patch)
tree72a58a5ce345852c4728b852e723e426caec489b /packages/utils/src/abi_encoder/abstract_data_types/dependent_data_type.ts
parent978a58105cd2d2f5d6ee3bcd870218fd357fb010 (diff)
downloaddexon-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.ts7
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);