async fn fetch_account(&self) -> anyhow::Result<BaseAccount> {
        let mut auth_query_client = AuthQueryClient::new(self.grpc_channel.clone());
        let request = QueryAccountRequest {
            address: self.address.clone(),
        };

        let account_info = auth_query_client.account(request).await.map_err(|status| {
            anyhow::anyhow!(
                "failed to get account info, code: {}, message: {}",
                status.code(),
                status.message()
            )
        })?;

        let account_as_any = account_info
            .into_inner()
            .account
            .ok_or_else(|| anyhow::anyhow!("empty account info"))?;
        let expected_type_url = BaseAccount::type_url();

        if expected_type_url == account_as_any.type_url {
            return BaseAccount::decode(&*account_as_any.value)
                .map_err(|error| anyhow::anyhow!("failed to decode account info: {}", error));
        }

        Err(anyhow::anyhow!(
            "unexpected account type, expected: {}, got: {}",
            expected_type_url,
            account_as_any.type_url
        ))
    }
Fetches the account info for the current address.
core/node/da_clients/src/celestia/sdk.rs