message: Make all address types Vec<u8> not String
diff: @@ -18,14 +18,14 @@ pub struct BlockInfo {
  #[derive(Serialize, Deserialize, Clone, Default, Debug, PartialEq, JsonSchema)]
  pub struct MessageInfo {
  - pub signer: String,
  + pub signer: Vec<u8>,
  // go likes to return null for empty array, make sure we can parse it (use option)
  pub sent_funds: Option<Vec<Coin>>,
  }
  #[derive(Serialize, Deserialize, Clone, Default, Debug, PartialEq, JsonSchema)]
  pub struct ContractInfo {
  - pub address: String,
  + pub address: Vec<u8>,
  // go likes to return null for empty array, make sure we can parse it (use option)
  pub balance: Option<Vec<Coin>>,
  }
  @@ -41,14 +41,14 @@ pub struct Coin {
  pub enum CosmosMsg {
  // this moves tokens in the underlying sdk
  Send {
  - from_address: String,
  - to_address: String,
  + from_address: Vec<u8>,
  + to_address: Vec<u8>,
  amount: Vec<Coin>,
  },
  // this dispatches a call to another contract at a known address (with known ABI)
  // msg is the json-encoded HandleMsg struct
  Contract {
  - contract_addr: String,
  + contract_addr: Vec<u8>,
  msg: String,
  send: Vec<Coin>,
  },
  @@ -133,7 +133,7 @@ impl QueryResult {
  // just set signer, sent funds, and balance - rest given defaults
  // this is intended for use in testcode only
  -pub fn mock_params(signer: &str, sent: &[Coin], balance: &[Coin]) -> Params {
  +pub fn mock_params(signer: &[u8], sent: &[Coin], balance: &[Coin]) -> Params {
  Params {
  block: BlockInfo {
  height: 12_345,
  @@ -141,7 +141,7 @@ pub fn mock_params(signer: &str, sent: &[Coin], balance: &[Coin]) -> Params {
  chain_id: "cosmos-testnet-14002".to_string(),
  },
  message: MessageInfo {
  - signer: signer.to_string(),
  + signer: signer.to_vec(),
  sent_funds: if sent.len() == 0 {
  None
  } else {
  @@ -149,7 +149,8 @@ pub fn mock_params(signer: &str, sent: &[Coin], balance: &[Coin]) -> Params {
  },
  },
  contract: ContractInfo {
  - address: "cosmos2contract".to_string(),
  + // TODO: properly normalize this
  + address: b"cosmos2contract".to_vec(),
  balance: if balance.len() == 0 {
  None
  } else {
  @@ -185,8 +186,8 @@ mod test {
  fn can_deser_ok_result() {
  let send = ContractResult::Ok(Response {
  messages: vec![CosmosMsg::Send {
  - from_address: "me".to_string(),
  - to_address: "you".to_string(),
  + from_address: b"me".to_vec(),
  + to_address: b"you".to_vec(),
  amount: coin("1015", "earth"),
  }],
  log: Some("released funds!".to_string()),
  