balancer_maths_rust/pools/gyro/
gyro_eclp_data.rs

1use crate::common::types::BasePoolState;
2use alloy_primitives::I256;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6pub struct GyroECLPImmutable {
7    pub alpha: I256,
8    pub beta: I256,
9    pub c: I256,
10    pub s: I256,
11    pub lambda: I256,
12    pub tau_alpha_x: I256,
13    pub tau_alpha_y: I256,
14    pub tau_beta_x: I256,
15    pub tau_beta_y: I256,
16    pub u: I256,
17    pub v: I256,
18    pub w: I256,
19    pub z: I256,
20    pub d_sq: I256,
21}
22
23#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
24pub struct GyroECLPState {
25    #[serde(flatten)]
26    pub base: BasePoolState,
27    #[serde(flatten)]
28    pub immutable: GyroECLPImmutable,
29}
30
31impl From<GyroECLPState> for crate::common::types::PoolState {
32    fn from(state: GyroECLPState) -> Self {
33        crate::common::types::PoolState::GyroECLP(state)
34    }
35}