bolt_cw_sdk/oracle/
chain_id.rs1use crate::oracle::client::OracleAdminClient;
2use crate::oracle::error::OracleError;
3use cosmrs::tendermint::chain::Id;
4
5impl OracleAdminClient {
6 pub async fn chain_id(&self) -> Result<Id, OracleError> {
7 Ok(self.public_oracle_client.status().await?.node_info.network)
8 }
9}
10
11#[cfg(test)]
12mod tests {
13 use serial_test::serial;
14
15 use super::*;
16 use crate::test_utils::helpers::VALID_BECH32_ADDRESS;
17 use crate::test_utils::test_scenario::TestScenario;
18
19 #[tokio::test]
20 #[serial]
21 async fn test_chain_id() {
22 let test_scenario = TestScenario::new_from_config("config.json".to_string()).await;
23
24 let oracle_contract_address = VALID_BECH32_ADDRESS.to_string();
25
26 let client = OracleAdminClient::from_scenario(&test_scenario, &oracle_contract_address)
27 .expect("Failed to create oracle admin client");
28 let result = client.chain_id().await.expect("Failed to get chain id");
29 assert_eq!(
30 result.to_string(),
31 test_scenario.chain_id,
32 "Chain id does not match"
33 )
34 }
35}