public static Address fromHexStringStrict(final String str) {
    checkArgument(str != null);
    final Bytes value = Bytes.fromHexString(str);
    checkArgument(
        value.size() == SIZE,
        "An account address must be %s bytes long, got %s",
        SIZE,
        value.size());
    return new Address(value);
  }
Parse a hexadecimal string representing an account address.

@param str A hexadecimal string representing a valid account address (strictly 20 bytes).
@return The parsed address.
@throws IllegalArgumentException if the provided string is {@code null}.
@throws IllegalArgumentException if the string is either not hexadecimal, or not the valid
    representation of a 20 byte address.
datatypes/src/main/java/org/hyperledger/besu/datatypes/Address.java