balancer_maths_rust/pools/reclammv2/
reclammv2_data.rs1use crate::common::types::BasePoolState;
2use alloy_primitives::U256;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7pub struct ReClammV2Mutable {
8 #[serde(rename = "lastVirtualBalances")]
9 pub last_virtual_balances: Vec<U256>,
10 #[serde(rename = "dailyPriceShiftBase")]
11 pub daily_price_shift_base: U256,
12 #[serde(rename = "lastTimestamp")]
13 pub last_timestamp: U256,
14 #[serde(rename = "currentTimestamp")]
15 pub current_timestamp: U256,
16 #[serde(rename = "centerednessMargin")]
17 pub centeredness_margin: U256,
18 #[serde(rename = "startFourthRootPriceRatio")]
19 pub start_fourth_root_price_ratio: U256,
20 #[serde(rename = "endFourthRootPriceRatio")]
21 pub end_fourth_root_price_ratio: U256,
22 #[serde(rename = "priceRatioUpdateStartTime")]
23 pub price_ratio_update_start_time: U256,
24 #[serde(rename = "priceRatioUpdateEndTime")]
25 pub price_ratio_update_end_time: U256,
26}
27
28#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
30pub struct ReClammV2Immutable {
31 pub pool_address: String,
32 pub tokens: Vec<String>,
33}
34
35#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
37pub struct ReClammV2State {
38 pub base: BasePoolState,
39 pub mutable: ReClammV2Mutable,
40 pub immutable: ReClammV2Immutable,
41}
42
43impl From<ReClammV2State> for crate::common::types::PoolState {
44 fn from(state: ReClammV2State) -> Self {
45 crate::common::types::PoolState::ReClammV2(state)
46 }
47}