PriceLevelsRpcSource
Fetch-on-demand source for pAMM price levels: one titan_getPammPriceLevels call per get_price_levels. Also exposes the quote helpers directly. Simplest for sporadic use.
Usage
rust
use propamm::prices::{PriceLevels, PriceLevelsRpcSource};
use std::sync::Arc;
// custom endpoint — snapshot and quotes both use it
let prices = PriceLevels::with_source(Arc::new(
PriceLevelsRpcSource::new("https://us.rpc.titanbuilder.xyz"),
));Constructors
PriceLevelsRpcSource::new()
rust
pub fn new(url: impl Into<String>) -> SelfPriceLevelsRpcSource::default()
rust
impl Default for PriceLevelsRpcSourceEquivalent to new(DEFAULT_PRICE_LEVELS_RPC_URL).
Methods
Implements PriceLevelsSource.
get_price_levels()
rust
async fn get_price_levels(&self) -> Result<Arc<PriceLevelsSnapshot>>Fresh snapshot via titan_getPammPriceLevels. Errors on HTTP or JSON-RPC failure.
get_quote()
rust
pub async fn get_quote(
&self,
token_in: Address,
token_out: Address,
amount_in: U256,
) -> Result<TitanQuote>get_quote_venue()
rust
pub async fn get_quote_venue(
&self,
venue: Address,
token_in: Address,
token_out: Address,
amount_in: U256,
) -> Result<TitanQuote>