ibc_controller_package/
lib.rs1use astroport_governance::assembly::ProposalStatus;
2use cosmwasm_schema::{cw_serde, QueryResponses};
3
4#[cw_serde]
5pub struct InstantiateMsg {
6 pub owner: String,
7 pub timeout: u64,
8}
9
10#[cw_serde]
11pub struct IbcProposal {
12 pub id: u64,
13 pub messages: Vec<CosmosMsg>,
14}
15
16#[cw_serde]
17pub enum ExecuteMsg {
18 IbcExecuteProposal {
20 channel_id: String,
21 proposal_id: u64,
22 messages: Vec<CosmosMsg>,
23 },
24 UpdateTimeout { new_timeout: u64 },
26 ProposeNewOwner {
30 owner: String,
32 expires_in: u64,
34 },
35 DropOwnershipProposal {},
39 ClaimOwnership {},
43 SendHeartbeat { channels: Vec<String> },
45}
46
47#[cw_serde]
48#[derive(QueryResponses)]
49pub enum QueryMsg {
50 #[returns(ProposalStatus)]
51 ProposalState { id: u64 },
52
53 #[returns(String)]
54 LastError {},
55}
56
57pub use astroport_governance;
58use cosmwasm_std::CosmosMsg;