stealth_lib/
utils.rs

1use std::fmt::Display;
2
3#[derive(Debug, PartialEq)]
4pub struct SolanaError {
5    error_msg: String,
6    error_name: String,
7    #[allow(unused)]
8    error_code_number: u32,
9    #[allow(unused)]
10    error_origin: Option<String>,
11    #[allow(unused)]
12    compared_values: Option<String>
13}
14
15impl Display for SolanaError {
16    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
17        write!(f, "Error: {} - {}", self.error_name, self.error_msg)
18    }
19}
20
21pub fn err(msg: &str) -> SolanaError {
22    SolanaError {
23        error_msg: msg.to_string(),
24        error_name: "Exception".to_string(),
25        error_code_number: 0,
26        error_origin: None,
27        compared_values: None
28    }
29}
30
31pub fn vec_to_u128(vec: &Vec<u8>) -> u128 {
32    let mut array = [0u8; 16];
33    array.copy_from_slice(&vec);
34    u128::from_be_bytes(array)
35}
36
37
38pub fn bytes_to_binary(i: &[u8; 32], r: &mut Vec<u8>) {
39    for m in i.iter() {
40        format!("{:8b}", m).chars().for_each(|b| if b == '1' { r.push(1); } else { r.push(0) } );
41    }
42}