bitbank_api/public/
tickers.rs1use super::*;
2
3pub use super::ticker::Ticker;
4
5#[serde_as]
6#[derive(Deserialize, Debug)]
7struct Raw {
8 #[serde_as(as = "DisplayFromStr")]
9 pub pair: Pair,
10 #[serde(flatten)]
11 pub inner: crate::public::ticker::Ticker,
12}
13
14#[derive(Deserialize, Debug)]
15struct Response(Vec<Raw>);
16
17#[derive(TypedBuilder)]
18pub struct Params {}
19
20pub async fn get(_: Params) -> anyhow::Result<Vec<(Pair, Ticker)>> {
21 let resp: Response = do_get("/tickers".to_owned()).await?;
22 let out = resp.0.into_iter().map(|x| (x.pair, x.inner)).collect();
23 Ok(out)
24}
25
26#[cfg(test)]
27mod tests {
28 use super::*;
29
30 #[tokio::test]
31 async fn test() -> anyhow::Result<()> {
32 let params = Params::builder().build();
33 let x = get(params).await?;
34 dbg!(&x);
35 Ok(())
36 }
37}