kujira_pilot/
query.rs

1use cosmwasm_schema::{cw_serde, QueryResponses};
2use cosmwasm_std::{Addr, Coin, Decimal, Uint128};
3
4use crate::Status;
5
6#[cw_serde]
7#[derive(QueryResponses)]
8pub enum QueryMsg {
9    #[returns(ConfigResponse)]
10    Config {},
11
12    #[returns(SaleResponse)]
13    Sale { idx: Uint128 },
14
15    #[returns(SalesResponse)]
16    Sales {
17        start_after: Option<Uint128>,
18        limit: Option<u8>,
19    },
20}
21
22#[cw_serde]
23pub struct ConfigResponse {
24    pub owner: Addr,
25    pub deposit: Coin,
26    pub orca_code_id: u64,
27    pub orca_admin: Option<Addr>,
28    pub orca_owner: Option<Addr>,
29    pub sale_fee: Decimal,
30    pub withdrawal_fee: Decimal,
31    pub fee_address: Addr,
32    pub stable_address: Addr,
33    pub stable_factor: Decimal,
34}
35
36#[cw_serde]
37pub struct SaleResponse {
38    pub idx: Uint128,
39    pub title: String,
40    pub description: String,
41    pub url: String,
42    pub price: Decimal,
43    pub owner: Addr,
44    pub beneficiary: Addr,
45    pub amount: Coin,
46    pub status: Status,
47    pub orca_address: Addr,
48    pub orca_config: kujira_orca::ConfigResponse,
49}
50
51#[cw_serde]
52pub struct SalesResponse {
53    pub sales: Vec<SaleResponse>,
54}