public static Log readFrom(final RLPInput in, final boolean compacted) {
    in.enterList();
    final Address logger = Address.wrap(in.readBytes());

    final List<LogTopic> topics;
    final Bytes data;
    if (compacted) {
      topics = in.readList(listIn -> LogTopic.wrap(Bytes32.wrap(readTrimmedData(in))));
      data = Bytes.wrap(readTrimmedData(in));
    } else {
      topics = in.readList(listIn -> LogTopic.wrap(listIn.readBytes32()));
      data = in.readBytes();
    }

    in.leaveList();
    return new Log(logger, data, topics);
  }
Reads the log entry from the provided RLP input.

@param in the input from which to decode the log entry.
@param compacted whether to compact the rlp log entry by trimming leading zeros on topics and
    data.
@return the read log entry.
evm/src/main/java/org/hyperledger/besu/evm/log/Log.java