aboutsummaryrefslogtreecommitdiffstats
path: root/packages/utils/src/abi_encoder/abstract_data_types/types/pointer.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/utils/src/abi_encoder/abstract_data_types/types/pointer.ts')
-rw-r--r--packages/utils/src/abi_encoder/abstract_data_types/types/pointer.ts21
1 files changed, 10 insertions, 11 deletions
diff --git a/packages/utils/src/abi_encoder/abstract_data_types/types/pointer.ts b/packages/utils/src/abi_encoder/abstract_data_types/types/pointer.ts
index 47efac521..46e60979a 100644
--- a/packages/utils/src/abi_encoder/abstract_data_types/types/pointer.ts
+++ b/packages/utils/src/abi_encoder/abstract_data_types/types/pointer.ts
@@ -1,3 +1,4 @@
+/* tslint:disable prefer-function-over-method */
import { DataItem } from 'ethereum-types';
import * as ethUtil from 'ethereumjs-util';
import * as _ from 'lodash';
@@ -10,26 +11,24 @@ import { DataType } from '../data_type';
import { DataTypeFactory } from '../interfaces';
export abstract class Pointer extends DataType {
- protected _dependency: DataType;
+ protected _destination: DataType;
protected _parent: DataType;
- private readonly _isStatic: boolean;
- public constructor(dataItem: DataItem, factory: DataTypeFactory, dependency: DataType, parent: DataType) {
+ public constructor(dataItem: DataItem, factory: DataTypeFactory, destination: DataType, parent: DataType) {
super(dataItem, factory);
- this._dependency = dependency;
+ this._destination = destination;
this._parent = parent;
- this._isStatic = true;
}
public generateCalldataBlock(value: any, parentBlock?: CalldataBlock): CalldataBlocks.Pointer {
- if (parentBlock === undefined) {
+ if (!parentBlock) {
throw new Error(`DependentDataType requires a parent block to generate its block`);
}
- const dependencyBlock = this._dependency.generateCalldataBlock(value, parentBlock);
+ const destinationBlock = this._destination.generateCalldataBlock(value, parentBlock);
const name = this.getDataItem().name;
const signature = this.getSignature();
- const parentName = parentBlock ? parentBlock.getName() : '';
- const block = new CalldataBlocks.Pointer(name, signature, parentName, dependencyBlock, parentBlock);
+ const parentName = parentBlock.getName();
+ const block = new CalldataBlocks.Pointer(name, signature, parentName, destinationBlock, parentBlock);
return block;
}
@@ -40,12 +39,12 @@ export abstract class Pointer extends DataType {
const destinationOffsetAbsolute = calldata.toAbsoluteOffset(destinationOffsetRelative);
const currentOffset = calldata.getOffset();
calldata.setOffset(destinationOffsetAbsolute);
- const value = this._dependency.generateValue(calldata, rules);
+ const value = this._destination.generateValue(calldata, rules);
calldata.setOffset(currentOffset);
return value;
}
public isStatic(): boolean {
- return this._isStatic;
+ return true;
}
}