# switchboard-program A Rust library to interact with Switchboard's hosted data feeds. ## Description This package can be used to manage Switchboard data feed account parsing. Specifically, this package will return the most recent confirmed round result from a provided data feed AccountInfo. ## Usage ```rust use switchboard_program; use switchboard_program::{ AggregatorState, RoundResult, FastRoundResultAccountData, fast_parse_switchboard_result }; ... let aggregator: AggregatorState = switchboard_program::get_aggregator( switchboard_feed_account // &AccountInfo )?; let round_result: RoundResult = switchboard_program::get_aggregator_result( &aggregator)?; // pub struct RoundResult { // pub num_success: Option, // pub num_error: Option, // pub result: Option, // pub round_open_slot: Option, // pub round_open_timestamp: Option, // pub min_response: Option, // pub max_response: Option, // pub medians: Vec, // } ... // Compute conservative? Use the parse optimized result account instead: let fast_parse_feed_round = FastRoundResultAccountData::deserialize( &switchboard_parse_optimized_account.try_borrow_data()?).unwrap(); // pub struct FastRoundResultAccountData { // pub parent: [u8;32], // pub result: FastRoundResult, // } // // A precisioned decimal representation of the current aggregator result // // where `result is represented as ${mantissa} / (10^${scale})` // pub struct SwitchboardDecimal { // pub mantissa: i128, // pub scale: u64 // } // pub struct FastRoundResult { // pub num_success: i32, // pub num_error: i32, // pub result: f64, // pub round_open_slot: u64, // pub round_open_timestamp: i64, // pub min_response: f64, // pub max_response: f64, // pub decimal: SwitchboardDecimal, // } ```