docs: def parse_vote_info(protobuf: bytes) -> dict:
      '''decode vote init tx op_return protobuf message and validate it.'''
  
      vote = pavoteproto.Vote()
      vote.ParseFromString(protobuf)
  
      assert vote.version > 0, {"error": "Vote info incomplete, version can't be 0."}
      assert vote.start_block < vote.end_block, {"error": "vote can't end in the past."}
  
      return {
          "version": vote.version,
          "description": vote.description,
          "count_mode": vote.MODE.Name(vote.count_mode),
          "choices": vote.choices,
          "start_block": vote.start_block,
          "end_block": vote.end_block,
          "vote_metainfo": vote.vote_metainfo
      }