diff --git a/abi/src/main/java/org/web3j/abi/datatypes/BytesType.java b/abi/src/main/java/org/web3j/abi/datatypes/BytesType.java index 4d83a2b52..1f55240ee 100644 --- a/abi/src/main/java/org/web3j/abi/datatypes/BytesType.java +++ b/abi/src/main/java/org/web3j/abi/datatypes/BytesType.java @@ -27,9 +27,13 @@ public BytesType(byte[] src, String type) { @Override public int bytes32PaddedLength() { - return value.length <= 32 - ? MAX_BYTE_LENGTH - : (value.length / MAX_BYTE_LENGTH + 1) * MAX_BYTE_LENGTH; + if (value.length < MAX_BYTE_LENGTH) { + return MAX_BYTE_LENGTH; + } else if (value.length % MAX_BYTE_LENGTH == 0) { + return value.length; + } else { + return (value.length / MAX_BYTE_LENGTH + 1) * MAX_BYTE_LENGTH; + } } @Override