1use crate::{VTX_MAGIC_V1, VTX_MAGIC_V2};
2
3pub fn encode_v1(component_bytes: &[u8]) -> Vec<u8> {
5 let mut out = Vec::with_capacity(VTX_MAGIC_V1.len() + component_bytes.len());
6 out.extend_from_slice(&VTX_MAGIC_V1);
7 out.extend_from_slice(component_bytes);
8 out
9}
10
11pub fn encode_v2(component_bytes: &[u8], metadata_json: &[u8]) -> Vec<u8> {
13 let len = metadata_json.len() as u32;
14 let mut out =
15 Vec::with_capacity(VTX_MAGIC_V2.len() + 4 + metadata_json.len() + component_bytes.len());
16 out.extend_from_slice(&VTX_MAGIC_V2);
17 out.extend_from_slice(&len.to_le_bytes());
18 out.extend_from_slice(metadata_json);
19 out.extend_from_slice(component_bytes);
20 out
21}