ve3_shared/
msgs_global_config.rs

1use cosmwasm_schema::{cw_serde, QueryResponses};
2use cosmwasm_std::Addr;
3#[allow(unused_imports)]
4use cw_ownable::{cw_ownable_execute, Ownership};
5
6#[cw_serde]
7pub struct InstantiateMsg {
8  pub owner: String,
9}
10
11#[cw_ownable_execute]
12#[cw_serde]
13pub enum ExecuteMsg {
14  SetAddresses {
15    addresses: Vec<(String, String)>,
16    lists: Vec<(String, Vec<String>)>,
17  },
18
19  ClearAddresses {
20    addresses: Vec<String>,
21  },
22
23  ClearLists {
24    lists: Vec<String>,
25  },
26}
27
28#[cw_serde]
29#[derive(QueryResponses)]
30pub enum QueryMsg {
31  #[returns(Ownership<String>)]
32  Ownership {},
33
34  /// Get a single address
35  #[returns(AddressResponse)]
36  Address(String),
37
38  /// Get a list of addresses
39  #[returns(Vec<AddressResponse>)]
40  Addresses(Vec<String>),
41
42  /// Query all stored addresses with pagination
43  #[returns(Vec<AddressResponse>)]
44  AllAddresses {
45    start_after: Option<String>,
46    limit: Option<u32>,
47  },
48
49  /// Get a single address
50  #[returns(AddressListResponse)]
51  AddressList(String),
52}
53
54pub type AddressResponse = (String, Addr);
55pub type AddressListResponse = Vec<Addr>;
56
57#[cw_serde]
58pub struct MigrateMsg {}