dao_hooks/
all_hooks.rs

1use cosmwasm_schema::cw_serde;
2use cw4::MemberChangedHookMsg;
3
4use crate::nft_stake::NftStakeChangedHookMsg;
5use crate::proposal::{PreProposeHookMsg, ProposalHookMsg};
6use crate::stake::StakeChangedHookMsg;
7use crate::vote::VoteHookMsg;
8
9/// An enum representing all possible DAO hooks.
10#[cw_serde]
11pub enum DaoHooks {
12    /// Called when a member is added or removed
13    /// to a cw4-groups or cw721-roles contract.
14    MemberChangedHook(MemberChangedHookMsg),
15    /// Called when NFTs are staked or unstaked.
16    NftStakeChangeHook(NftStakeChangedHookMsg),
17    /// Pre-propose hooks
18    PreProposeHook(PreProposeHookMsg),
19    /// Called when a proposal status changes.
20    ProposalHook(ProposalHookMsg),
21    /// Called when tokens are staked or unstaked.
22    StakeChangeHook(StakeChangedHookMsg),
23    /// Called when a vote is cast.
24    VoteHook(VoteHookMsg),
25}