message: [storage] impl conversions from/to prost proto and GetAccountStateWithProofByVersionRequest
  Closes:
  Approved by: mimoo
diff: @@ -30,6 +30,7 @@ use failure::prelude::*;
  #[cfg(any(test, feature = "testing"))]
  use proptest_derive::Arbitrary;
  use proto_conv::{FromProto, IntoProto};
  +use std::convert::TryFrom;
  use types::{
  account_address::AccountAddress,
  account_state_blob::AccountStateBlob,
  @@ -70,6 +71,32 @@ impl FromProto for GetAccountStateWithProofByVersionRequest {
  }
  }
  +impl TryFrom<crate::proto::storage_prost::GetAccountStateWithProofByVersionRequest>
  + for GetAccountStateWithProofByVersionRequest
  +{
  + type Error = Error;
  +
  + fn try_from(
  + proto: crate::proto::storage_prost::GetAccountStateWithProofByVersionRequest,
  + ) -> Result<Self> {
  + let address = AccountAddress::try_from(&proto.address[..])?;
  + let version = proto.version;
  +
  + Ok(Self { address, version })
  + }
  +}
  +
  +impl From<GetAccountStateWithProofByVersionRequest>
  + for crate::proto::storage_prost::GetAccountStateWithProofByVersionRequest
  +{
  + fn from(version: GetAccountStateWithProofByVersionRequest) -> Self {
  + Self {
  + address: version.address.into(),
  + version: version.version,
  + }
  + }
  +}
  +
  /// Helper to construct and parse [`proto::storage::GetAccountStateWithProofByVersionResponse`]
  ///
  /// It does so by implementing [`IntoProto`](#impl-IntoProto) and [`FromProto`](#impl-FromProto),
  