1use cosmwasm_schema::cw_serde;
2use cosmwasm_std::{Coin, Decimal};
3use crate::types::{Route, NeuronBandwidth, ThoughtStats, Thought};
4
5#[cw_serde]
6pub struct ParticleRankResponse {
7 pub rank: u64,
8}
9
10#[cw_serde]
11pub struct GraphStatsResponse {
12 pub cyberlinks: u64,
13 pub particles: u64,
14}
15
16#[cw_serde]
17pub struct ThoughtResponse {
18 pub thought: Thought,
19}
20
21#[cw_serde]
22pub struct ThoughtStatsResponse {
23 pub thought_stats: ThoughtStats,
24}
25
26#[cw_serde]
27pub struct ThoughtsFeesResponse {
28 pub fees: Vec<Coin>,
29}
30
31
32#[cw_serde]
33pub struct RoutesResponse {
34 pub routes: Vec<Route>,
35}
36
37#[cw_serde]
38pub struct RoutedEnergyResponse {
39 pub value: Vec<Coin>,
40}
41
42#[cw_serde]
43pub struct RouteResponse {
44 pub route: Route,
45}
46
47#[cw_serde]
48pub struct BandwidthPriceResponse {
49 pub price: String,
50}
51
52#[cw_serde]
53pub struct BandwidthLoadResponse {
54 pub load: Decimal,
55}
56
57#[cw_serde]
58pub struct TotalBandwidthResponse {
59 pub total_bandwidth: u64,
60}
61
62#[cw_serde]
63pub struct NeuronBandwidthResponse {
64 pub neuron_bandwidth: NeuronBandwidth,
65}
66
67#[cw_serde]
68pub struct PoolParamsResponse {
69 pub type_id: u32,
70 pub reserve_coin_denoms: Vec<String>,
71 pub reserve_account_address: String,
72 pub pool_coin_denom: String,
73}
74
75#[cw_serde]
76pub struct PoolLiquidityResponse {
77 pub liquidity: Vec<Coin>,
78}
79
80#[cw_serde]
81pub struct PoolSupplyResponse {
82 pub supply: Coin,
83}
84
85#[cw_serde]
86pub struct PoolPriceResponse {
87 pub price: Decimal,
88}
89
90#[cw_serde]
91pub struct PoolAddressResponse {
92 pub address: String,
93}