#[repr(C)]pub struct PoolMeta {
pub address: [u8; 32],
pub pair_index: u16,
pub fee_bps: u16,
pub venue_id: u8,
pub protocol_id: u8,
pub gas_cost_1e5: u16,
pub gas_units_1k: u16,
pub gas_price_gwei: u16,
pub native_price_deci_usd: u16,
pub _pad: [u8; 2],
}Expand description
Per-pool metadata: compact identity + fee data for a single DEX pool.
Fixed-size (48 bytes). Fits 32 pools in ~1.5KB within the PoolBooks region. Layout: address(32) + pair_index(2) + fee_bps(2) + venue_id(1) + protocol_id(1) + gas_cost_1e5(2) + gas_units(2) + gas_price_gwei(2) + native_price_cents(4) = 48.
Fields§
§address: [u8; 32]Pool contract address: 32 bytes (EVM uses first 20, Solana uses all 32).
pair_index: u16Pair index for multi-asset pools (0 for standard 2-token pools).
fee_bps: u16Pool swap fee in basis points (AMM fee, not gas).
venue_id: u8Venue ID (VENUE_DEX_ARB, VENUE_DEX_SOL, etc.)
protocol_id: u8Protocol: 0=unknown, 1=uniswap_v2, 2=uniswap_v3, 3=curve, 4=balancer_v2, 5=aerodrome, 6=velodrome, 7=camelot, 8=raydium_clmm, 9=orca_whirlpool
gas_cost_1e5: u16Estimated total execution cost, 1 unit = $0.00001 (max $0.65).
Pre-computed: gas_units_1k × gas_price_gwei × native_price / 1e9 × 1e5.
Use gas_cost_usd() for f64 conversion. 0 = unknown.
gas_units_1k: u16Protocol gas units in thousands (e.g., 180 = 180,000 gas). 0 = unknown.
From edge’s protocol.estimate_gas(). Use gas_units() for full value.
gas_price_gwei: u16Current gas price on this chain in gwei (base + priority). 0 = unknown.
native_price_deci_usd: u16Native token price in deci-dollars (1 unit = $0.10). ETH=$3500 → 35000. Max $6,553.50.
For exact native price, use ChainFeeTable.fee_for_chain().native_price_1e9.
_pad: [u8; 2]Implementations§
Source§impl PoolMeta
impl PoolMeta
Sourcepub fn gas_cost_usd(&self) -> f64
pub fn gas_cost_usd(&self) -> f64
Pre-computed gas execution cost in USD (f64). 0.0 if unknown.
Sourcepub fn native_price_usd(&self) -> f64
pub fn native_price_usd(&self) -> f64
Native token price in USD (e.g., 3500.0 for ETH). 0.0 if unknown.
Sourcepub fn compute_gas_cost_usd(&self) -> f64
pub fn compute_gas_cost_usd(&self) -> f64
Compute gas cost from raw inputs (for custom models).
gas_units × gas_price_gwei × native_price_usd / 1e9
Sourcepub fn total_cost_bps(&self, notional_1e9: u64) -> f64
pub fn total_cost_bps(&self, notional_1e9: u64) -> f64
Total cost to execute on this pool: swap fee + gas, in bps of a given notional.