1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Serialize, Deserialize)]
4pub struct QueryRequest {
5 pub vec: Vec<f32>,
6}
7
8impl QueryRequest {
9 #[must_use]
10 pub fn from_vec(v: &[f32]) -> Self {
11 Self { vec: v.to_vec() }
12 }
13}
14
15#[derive(Clone, Debug, Serialize, Deserialize)]
16pub struct ProofStepSerde {
17 pub sibling_hex: String, pub sibling_is_right: bool,
19}
20
21#[derive(Clone, Debug, Serialize, Deserialize)]
22pub struct QueryResult {
23 pub id: String,
24 pub score: f32, pub leaf_hex: String, pub path: Vec<ProofStepSerde>,
27}
28
29#[derive(Clone, Debug, Serialize, Deserialize)]
30pub struct QueryEvidence {
31 pub index_pack_cid: String, pub results: Vec<QueryResult>,
33 pub dim: u16,
34 }