neutron_sdk/interchain_txs/v045/
helpers.rs

1use cosmos_sdk_proto::{
2    cosmos::base::abci::v1beta1::{MsgData, TxMsgData},
3    traits::Message,
4};
5use cosmwasm_std::{Binary, StdError, StdResult};
6
7/// Decodes acknowledgement into `Vec<MsgData>` structure
8pub fn decode_acknowledgement_response(data: Binary) -> StdResult<Vec<MsgData>> {
9    let msg_data: Result<TxMsgData, _> = TxMsgData::decode(data.as_slice());
10    match msg_data {
11        Err(e) => Err(StdError::generic_err(format!(
12            "Can't decode response: {}",
13            e
14        ))),
15        #[allow(deprecated)]
16        Ok(msg) => Ok(msg.data),
17    }
18}