message: [types] impl conversions from/to prost proto and ModuleId
  Closes:
  Approved by: andll
diff: @@ -17,6 +17,7 @@ use failure::Result;
  use proptest_derive::Arbitrary;
  use proto_conv::{FromProto, IntoProto};
  use serde::{Deserialize, Serialize};
  +use std::convert::{TryFrom, TryInto};
  #[derive(Serialize, Deserialize, Debug, PartialEq, Hash, Eq, Clone, PartialOrd, Ord)]
  pub struct StructTag {
  @@ -77,6 +78,26 @@ impl ModuleId {
  }
  }
  +impl TryFrom<crate::proto::types::ModuleId> for ModuleId {
  + type Error = failure::Error;
  +
  + fn try_from(proto: crate::proto::types::ModuleId) -> Result<Self> {
  + Ok(Self {
  + address: proto.address.try_into()?,
  + name: Identifier::new(proto.name)?,
  + })
  + }
  +}
  +
  +impl From<ModuleId> for crate::proto::types::ModuleId {
  + fn from(txn: ModuleId) -> Self {
  + Self {
  + address: txn.address.into(),
  + name: txn.name.into_string(),
  + }
  + }
  +}
  +
  impl<'a> From<&'a ModuleId> for AccessPath {
  fn from(module_id: &'a ModuleId) -> Self {
  AccessPath::code_access_path(module_id)
  