Skip to main content

bolt_cw_sdk/oracle/
chain_id.rs

1use 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}