message: [types] impl conversions from/to prost proto and EventProof
  Closes:
  Approved by: andll
diff: @@ -673,6 +673,43 @@ impl EventProof {
  }
  }
  +impl TryFrom<crate::proto::types::EventProof> for EventProof {
  + type Error = Error;
  +
  + fn try_from(proto_proof: crate::proto::types::EventProof) -> Result<Self> {
  + let ledger_info_to_transaction_info_proof = proto_proof
  + .ledger_info_to_transaction_info_proof
  + .ok_or_else(|| format_err!("Missing ledger_info_to_transaction_info_proof"))?
  + .try_into()?;
  + let transaction_info = proto_proof
  + .transaction_info
  + .ok_or_else(|| format_err!("Missing transaction_info"))?
  + .try_into()?;
  + let transaction_info_to_event_proof = proto_proof
  + .transaction_info_to_event_proof
  + .ok_or_else(|| format_err!("Missing transaction_info_to_account_proof"))?
  + .try_into()?;
  +
  + Ok(EventProof::new(
  + ledger_info_to_transaction_info_proof,
  + transaction_info,
  + transaction_info_to_event_proof,
  + ))
  + }
  +}
  +
  +impl From<EventProof> for crate::proto::types::EventProof {
  + fn from(proof: EventProof) -> Self {
  + Self {
  + ledger_info_to_transaction_info_proof: Some(
  + proof.ledger_info_to_transaction_info_proof.into(),
  + ),
  + transaction_info: Some(proof.transaction_info.into()),
  + transaction_info_to_event_proof: Some(proof.transaction_info_to_event_proof.into()),
  + }
  + }
  +}
  +
  mod bitmap {
  /// The bitmap indicating which siblings are default in a compressed accumulator proof. 1 means
  /// non-default and 0 means default. The LSB corresponds to the sibling at the bottom of the
  