abstract_cw4/
lib.rs

1/*!
2CW4 is a spec for storing group membership, which can be combined
3with CW3 multisigs. The purpose is to store a set of members/voters
4that can be accessed to determine permissions in another section.
5
6Since this is often deployed as a contract pair, we expect this
7contract to often be queried with `QueryRaw` and the internal
8layout of some of the data structures becomes part of the public API.
9Implementations may add more data structures, but at least
10the ones laid out here should be under the specified keys and in the
11same format.
12
13In this case, a cw3 contract could *read* an external group contract with
14no significant cost besides reading local storage. However, updating
15that group contract (if allowed), would be an external message and
16will be charged as part of the overhead for each contract.
17
18For more information on this specification, please check out the
19[README](https://github.com/CosmWasm/cw-plus/blob/main/packages/cw4/README.md).
20*/
21
22mod helpers;
23mod hook;
24mod msg;
25mod query;
26
27pub use crate::helpers::Cw4Contract;
28pub use crate::hook::{MemberChangedHookMsg, MemberDiff};
29pub use crate::msg::Cw4ExecuteMsg;
30pub use crate::query::{
31    member_key, AdminResponse, Cw4QueryMsg, HooksResponse, Member, MemberListResponse,
32    MemberResponse, TotalWeightResponse, MEMBERS_CHANGELOG, MEMBERS_CHECKPOINTS, MEMBERS_KEY,
33    TOTAL_KEY, TOTAL_KEY_CHANGELOG, TOTAL_KEY_CHECKPOINTS,
34};