use crate::error::{Result, SolanaError};
use borsh::{BorshDeserialize, BorshSerialize};
pub fn compact_array_to_bytes<T: BorshSerialize>(items: &[T]) -> Result<Vec<u8>> {
let mut bytes = Vec::new();
items
.serialize(&mut &mut bytes)
.map_err(|e| SolanaError::SerializationError(e.to_string()))?;
Ok(bytes)
}
pub fn bytes_to_compact_array<T: BorshDeserialize>(bytes: &[u8]) -> Result<Vec<T>> {
let mut bytes_mut = bytes; Vec::<T>::deserialize(&mut bytes_mut)
.map_err(|e| SolanaError::SerializationError(e.to_string()))
}