pool_sync/pools/pool_structures/
maverick_structure.rs1use alloy::{dyn_abi::DynSolValue, primitives::Address};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize, Default)]
5pub struct MaverickPool {
6 pub address: Address,
7 pub token0: Address,
8 pub token1: Address,
9 pub token0_name: String,
10 pub token1_name: String,
11 pub token0_decimals: u8,
12 pub token1_decimals: u8,
13}
14
15impl From<&[DynSolValue]> for MaverickPool {
16 fn from(data: &[DynSolValue]) -> Self {
17 Self {
18 address: data[0].as_address().unwrap(),
19 token0: data[1].as_address().unwrap(),
20 token1: data[2].as_address().unwrap(),
21 token0_decimals: data[3].as_uint().unwrap().0.to::<u8>(),
22 token1_decimals: data[4].as_uint().unwrap().0.to::<u8>(),
23 ..Default::default()
24 }
25 }
26}