use crate::client::http::{decode, json_headers, send, ClientError, NamespaceConfig};
use crate::client::transport::RequestBody;
use crate::client::types::AccountBalance;
use crate::verifier::fetch::HttpMethod;
pub struct AccountNamespace<'t> {
config: NamespaceConfig<'t>,
}
impl<'t> AccountNamespace<'t> {
#[must_use]
pub fn new(config: NamespaceConfig<'t>) -> Self {
Self { config }
}
pub fn balance(&self) -> Result<AccountBalance, ClientError> {
let url = format!("{}/api/v1/account/balance", self.config.base_url);
let headers = json_headers(self.config.api_key.as_deref(), None);
let response = send(
self.config.transport,
&url,
HttpMethod::Get,
&headers,
&RequestBody::None,
)?;
decode(&response.body)
}
}