use fuels::{ accounts::wallet::WalletUnlocked, programs::responses::CallResponse, types::{Bits256, Bytes}, }; use pyth_sdk::pyth_utils::{handle_error, DataSource, GuardianSet, PythOracleContract}; pub(crate) async fn current_guardian_set_index( contract: &PythOracleContract, ) -> CallResponse { contract .methods() .current_guardian_set_index() .call() .await .map_err(handle_error) .unwrap() } pub(crate) async fn current_wormhole_provider( contract: &PythOracleContract, ) -> CallResponse { contract .methods() .current_wormhole_provider() .call() .await .map_err(handle_error) .unwrap() } pub(crate) async fn governance_action_is_consumed( contract: &PythOracleContract, governance_action_hash: Bits256, ) -> CallResponse { contract .methods() .governance_action_is_consumed(governance_action_hash) .call() .await .map_err(handle_error) .unwrap() } pub(crate) async fn guardian_set( contract: &PythOracleContract, index: u32, ) -> CallResponse { contract .methods() .guardian_set(index) .call() .await .map_err(handle_error) .unwrap() } pub(crate) async fn submit_new_guardian_set( contract: &PythOracleContract, encoded_vm: Bytes, ) -> CallResponse<()> { contract .methods() .submit_new_guardian_set(encoded_vm) .call() .await .map_err(handle_error) .unwrap() }