tempo_node/rpc/amm/
pools.rs1use alloy_primitives::{Address, B256, U256};
2use serde::{Deserialize, Serialize};
3use tempo_alloy::rpc::pagination::FilterRange;
4
5#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
6#[serde(rename_all = "camelCase")]
7pub struct PoolsResponse {
8 pub next_cursor: Option<String>,
10 pub pools: Vec<Pool>,
12}
13
14#[derive(Clone, Debug, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
15#[serde(rename_all = "camelCase")]
16pub struct PoolsFilters {
17 pub effective_validator_reserve: Option<FilterRange<U256>>,
19 pub pending_fee_swap_in: Option<FilterRange<U256>>,
21 pub reserve_user_token: Option<FilterRange<U256>>,
23 pub reserve_validator_token: Option<FilterRange<U256>>,
25 pub total_supply: Option<FilterRange<U256>>,
27 pub user_token: Option<Address>,
29 pub validator_token: Option<Address>,
31}
32
33#[derive(Clone, Debug, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
34#[serde(rename_all = "camelCase")]
35pub struct Pool {
36 pub effective_reserve_validator_token: U256,
38 pub pool_id: B256,
40 pub reserve_user_token: U256,
42 pub reserve_validator_token: U256,
44 pub total_supply: U256,
46 pub user_token: Address,
48 pub validator_token: Address,
50}