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]
48pub struct MigrateMsg {
49 pub new_timeout: Option<u64>,
50}
51
52#[cw_serde]
53#[derive(QueryResponses)]
54pub enum QueryMsg {
55 #[returns(ProposalStatus)]
56 ProposalState { id: u64 },
57
58 #[returns(String)]
59 LastError {},
60}
61
62pub use astroport_governance;
63use cosmwasm_std::CosmosMsg;