use astroport_governance::assembly::ProposalStatus;
use cosmwasm_schema::{cw_serde, QueryResponses};
#[cw_serde]
pub struct InstantiateMsg {
pub owner: String,
pub timeout: u64,
}
#[cw_serde]
pub struct IbcProposal {
pub id: u64,
pub messages: Vec<CosmosMsg>,
}
#[cw_serde]
pub enum ExecuteMsg {
IbcExecuteProposal {
channel_id: String,
proposal_id: u64,
messages: Vec<CosmosMsg>,
},
UpdateTimeout { new_timeout: u64 },
ProposeNewOwner {
owner: String,
expires_in: u64,
},
DropOwnershipProposal {},
ClaimOwnership {},
SendHeartbeat { channels: Vec<String> },
}
#[cw_serde]
#[derive(QueryResponses)]
pub enum QueryMsg {
#[returns(ProposalStatus)]
ProposalState { id: u64 },
#[returns(String)]
LastError {},
}
pub use astroport_governance;
use cosmwasm_std::CosmosMsg;