diff options
Diffstat (limited to 'packages/utils/src/abi_encoder/evm_data_types/uint.ts')
-rw-r--r-- | packages/utils/src/abi_encoder/evm_data_types/uint.ts | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/packages/utils/src/abi_encoder/evm_data_types/uint.ts b/packages/utils/src/abi_encoder/evm_data_types/uint.ts index 5180f0cf3..8e382e8dc 100644 --- a/packages/utils/src/abi_encoder/evm_data_types/uint.ts +++ b/packages/utils/src/abi_encoder/evm_data_types/uint.ts @@ -46,13 +46,17 @@ export class UIntDataType extends AbstractBlobDataType { return encodedValue; } - public decodeValue(calldata: RawCalldata): BigNumber { + public decodeValue(calldata: RawCalldata): BigNumber | number { const valueBuf = calldata.popWord(); const value = EncoderMath.safeDecodeNumericValue(valueBuf, UIntDataType._MIN_VALUE, this._maxValue); + const numberOfBytesInUint8 = 8; + if (this._width === numberOfBytesInUint8) { + return value.toNumber(); + } return value; } - public getSignature(): string { + public getSignatureType(): string { return `${SolidityTypes.Uint}${this._width}`; } } |