message: Change type of log return value in ContractResult
diff: @@ -140,11 +140,17 @@ impl ContractResult {
  }
  }
  +#[derive(Serialize, Deserialize, Clone, Default, Debug, PartialEq, JsonSchema)]
  +pub struct LogAttribute {
  + pub key: String,
  + pub value: String,
  +}
  +
  #[derive(Serialize, Deserialize, Clone, Default, Debug, PartialEq, JsonSchema)]
  pub struct Response {
  // let's make the positive case a struct, it contrains Msg: {...}, but also Data, Log, maybe later Events, etc.
  pub messages: Vec<CosmosMsg>,
  - pub log: Option<String>, // abci defines this as string
  + pub log: Option<Vec<LogAttribute>>, // abci defines this as string
  pub data: Option<Binary>, // abci defines this as bytes
  }
  @@ -202,7 +208,10 @@ mod test {
  to_address: HumanAddr("you".to_string()),
  amount: coin("1015", "earth"),
  }],
  - log: Some("released funds!".to_string()),
  + log: Some(vec![LogAttribute {
  + key: "action".to_string(),
  + value: "release".to_string(),
  + }]),
  data: None,
  });
  let bin = to_vec(&send).expect("encode contract result");
  