pub struct CallParameters {
/// Peer id of the AIR script initiator.
pub init_peer_id: String,
/// Id of the current service.
pub service_id: String,
/// Id of the service creator.
pub service_creator_peer_id: String,
/// Id of the host which run this service.
pub host_id: String,
/// Id of the particle which execution resulted a call this service.
pub particle_id: String,
/// Security tetraplets which described origin of the arguments.
pub tetraplets: Vec<Vec<SecurityTetraplet>>,
}
#[cfg(target_arch = "wasm32")]
#[doc(hidden)]
#[allow(clippy::all)]
impl CallParameters {
pub fn __fce_generated_serialize(&self) -> *const u8 {
let mut raw_record: Vec<u8> = Vec::with_capacity(4 * 6usize);
let field_ident_ptr = self.init_peer_id.as_ptr() as u32;
raw_record.extend(&field_ident_ptr.to_le_bytes());
raw_record.extend(&(self.init_peer_id.len() as u32).to_le_bytes());
let field_ident_ptr = self.service_id.as_ptr() as u32;
raw_record.extend(&field_ident_ptr.to_le_bytes());
raw_record.extend(&(self.service_id.len() as u32).to_le_bytes());
let field_ident_ptr = self.service_creator_peer_id.as_ptr() as u32;
raw_record.extend(&field_ident_ptr.to_le_bytes());
raw_record.extend(&(self.service_creator_peer_id.len() as u32).to_le_bytes());
let field_ident_ptr = self.host_id.as_ptr() as u32;
raw_record.extend(&field_ident_ptr.to_le_bytes());
raw_record.extend(&(self.host_id.len() as u32).to_le_bytes());
let field_ident_ptr = self.particle_id.as_ptr() as u32;
raw_record.extend(&field_ident_ptr.to_le_bytes());
raw_record.extend(&(self.particle_id.len() as u32).to_le_bytes());
unsafe fn __fce_generated_vec_serializer_tetraplets_5(
arg: &Vec<Vec<SecurityTetraplet>>
) -> (u32, u32) {
unsafe fn __fce_generated_vec_serializer_tetraplets_5_SecurityTetraplet(
arg: &Vec<SecurityTetraplet>
) -> (u32, u32) {
let mut result: Vec<u32> = Vec::with_capacity(arg.len());
for value in arg {
result.push(value.__fce_generated_serialize() as _);
}
let result_ptr = result.as_ptr();
let result_len = result.len();
fluence::internal::add_object_to_release(Box::new(result));
(result_ptr as _, result_len as _)
}
let mut result: Vec<u32> = Vec::with_capacity(2 * arg.len());
for value in arg {
let (ptr, size) =
__fce_generated_vec_serializer_tetraplets_5_SecurityTetraplet(&value);
result.push(ptr as _);
result.push(size as _);
}
let result_ptr = result.as_ptr();
let result_len = result.len() / 2;
fluence::internal::add_object_to_release(Box::new(result));
(result_ptr as _, result_len as _)
}
let serialized_arg_5 =
unsafe { __fce_generated_vec_serializer_tetraplets_5(&self.tetraplets) };
raw_record.extend(&serialized_arg_5.0.to_le_bytes());
raw_record.extend(&serialized_arg_5.1.to_le_bytes());
let raw_record_ptr = raw_record.as_ptr();
fluence::internal::add_object_to_release(Box::new(raw_record));
raw_record_ptr as _
}
pub unsafe fn __fce_generated_deserialize(record_ptr: *const u8) -> Self {
let raw_record: Vec<u8> = Vec::from_raw_parts(record_ptr as _, 48usize, 48usize);
let field_0 = unsafe {
let offset = u32::from_le_bytes([
raw_record[0usize],
raw_record[0usize + 1],
raw_record[0usize + 2],
raw_record[0usize + 3],
]);
let size = u32::from_le_bytes([
raw_record[0usize + 4],
raw_record[0usize + 5],
raw_record[0usize + 6],
raw_record[0usize + 7],
]);
String::from_raw_parts(offset as _, size as _, size as _)
};
let field_1 = unsafe {
let offset = u32::from_le_bytes([
raw_record[8usize],
raw_record[8usize + 1],
raw_record[8usize + 2],
raw_record[8usize + 3],
]);
let size = u32::from_le_bytes([
raw_record[8usize + 4],
raw_record[8usize + 5],
raw_record[8usize + 6],
raw_record[8usize + 7],
]);
String::from_raw_parts(offset as _, size as _, size as _)
};
let field_2 = unsafe {
let offset = u32::from_le_bytes([
raw_record[16usize],
raw_record[16usize + 1],
raw_record[16usize + 2],
raw_record[16usize + 3],
]);
let size = u32::from_le_bytes([
raw_record[16usize + 4],
raw_record[16usize + 5],
raw_record[16usize + 6],
raw_record[16usize + 7],
]);
String::from_raw_parts(offset as _, size as _, size as _)
};
let field_3 = unsafe {
let offset = u32::from_le_bytes([
raw_record[24usize],
raw_record[24usize + 1],
raw_record[24usize + 2],
raw_record[24usize + 3],
]);
let size = u32::from_le_bytes([
raw_record[24usize + 4],
raw_record[24usize + 5],
raw_record[24usize + 6],
raw_record[24usize + 7],
]);
String::from_raw_parts(offset as _, size as _, size as _)
};
let field_4 = unsafe {
let offset = u32::from_le_bytes([
raw_record[32usize],
raw_record[32usize + 1],
raw_record[32usize + 2],
raw_record[32usize + 3],
]);
let size = u32::from_le_bytes([
raw_record[32usize + 4],
raw_record[32usize + 5],
raw_record[32usize + 6],
raw_record[32usize + 7],
]);
String::from_raw_parts(offset as _, size as _, size as _)
};
unsafe fn __fce_generated_vec_deserializer_40(
offset: u32,
size: u32
) -> Vec<Vec<SecurityTetraplet>> {
unsafe fn __fce_generated_vec_deserializer_40_SecurityTetraplet(
offset: u32,
size: u32
) -> Vec<SecurityTetraplet> {
let mut arg: Vec<u32> = Vec::from_raw_parts(offset as _, size as _, size as _);
let mut result = Vec::with_capacity(arg.len());
for offset in arg {
let value = SecurityTetraplet::__fce_generated_deserialize(offset as _);
result.push(value);
}
result
}
let vec_passing_size = 2;
let mut arg: Vec<u32> =
Vec::from_raw_parts(offset as _, (vec_passing_size * size) as _, (vec_passing_size * size) as _);
let mut result = Vec::with_capacity(arg.len());
let mut arg = arg.into_iter();
while let Some(offset) = arg.next() {
let size = arg.next().unwrap();
let value = __fce_generated_vec_deserializer_40_SecurityTetraplet(
offset as _,
size as _
);
result.push(value);
}
result
}
let offset = u32::from_le_bytes([
raw_record[40usize],
raw_record[40usize + 1],
raw_record[40usize + 2],
raw_record[40usize + 3],
]);
let size = u32::from_le_bytes([
raw_record[40usize + 4],
raw_record[40usize + 5],
raw_record[40usize + 6],
raw_record[40usize + 7],
]);
let field_5 = unsafe { __fce_generated_vec_deserializer_40(offset as _, size as _) };
Self {
init_peer_id: field_0,
service_id: field_1,
service_creator_peer_id: field_2,
host_id: field_3,
particle_id: field_4,
tetraplets: field_5
}
}
}
#[cfg(target_arch = "wasm32")]
#[doc(hidden)]
#[allow(clippy::all)]
#[link_section = "__fce_generated_section__CallParameters"]
pub static __fce_generated_static_global_CallParameters: [u8; 455usize] = {
* b"{\"ast_type\":\"Record\",\"name\":\"CallParameters\",\"fields\":{\"Named\":[{\"name\":\"init_peer_id\",\"ty\":{\"Utf8String\":\"ByValue\"}},{\"name\":\"service_id\",\"ty\":{\"Utf8String\":\"ByValue\"}},{\"name\":\"service_creator_peer_id\",\"ty\":{\"Utf8String\":\"ByValue\"}},{\"name\":\"host_id\",\"ty\":{\"Utf8String\":\"ByValue\"}},{\"name\":\"particle_id\",\"ty\":{\"Utf8String\":\"ByValue\"}},{\"name\":\"tetraplets\",\"ty\":{\"Vector\":[{\"Vector\":[{\"Record\":[\"SecurityTetraplet\",\"ByValue\"]},\"ByValue\"]},\"ByValue\"]}}]}}"
};