casper_contract_sdk_sys/
for_each_host_function.rs1#[macro_export]
2macro_rules! for_each_host_function {
3 ($mac:ident) => {
4 $mac! {
5 #[doc = "Read value from a storage available for caller's entity address."]
6 pub fn casper_read(
7 key_space: u64,
8 key_ptr: *const u8,
9 key_size: usize,
10 info: *mut $crate::ReadInfo,
11 alloc: extern "C" fn(usize, *mut core::ffi::c_void) -> *mut u8,
12 alloc_ctx: *const core::ffi::c_void,
13 ) -> u32;
14 pub fn casper_write(
15 key_space: u64,
16 key_ptr: *const u8,
17 key_size: usize,
18 value_ptr: *const u8,
19 value_size: usize,
20 ) -> u32;
21 pub fn casper_remove(
22 key_space: u64,
23 key_ptr: *const u8,
24 key_size: usize,
25 ) -> u32;
26 pub fn casper_print(msg_ptr: *const u8, msg_size: usize,);
27 pub fn casper_return(flags: u32, data_ptr: *const u8, data_len: usize,);
28 pub fn casper_copy_input(
29 alloc: extern "C" fn(usize, *mut core::ffi::c_void) -> *mut u8,
30 alloc_ctx: *const core::ffi::c_void,
31 ) -> *mut u8;
32 pub fn casper_create(
33 code_ptr: *const u8,
34 code_size: usize,
35 transferred_value: u64,
36 constructor_ptr: *const u8,
37 constructor_size: usize,
38 input_ptr: *const u8,
39 input_size: usize,
40 seed_ptr: *const u8,
41 seed_size: usize,
42 result_ptr: *mut $crate::CreateResult,
43 ) -> u32;
44
45 pub fn casper_call(
47 address_ptr: *const u8,
48 address_size: usize,
49 transferred_amount: u64,
50 entry_point_ptr: *const u8,
51 entry_point_size: usize,
52 input_ptr: *const u8,
53 input_size: usize,
54 alloc: extern "C" fn(usize, *mut core::ffi::c_void) -> *mut u8, alloc_ctx: *const core::ffi::c_void,
56 ) -> u32;
57 pub fn casper_upgrade(
58 code_ptr: *const u8,
59 code_size: usize,
60 entry_point_ptr: *const u8,
61 entry_point_size: usize,
62 input_ptr: *const u8,
63 input_size: usize,
64 ) -> u32;
65 #[doc = r"Get balance of an entity by its address."]
66 pub fn casper_env_balance(entity_kind: u32, entity_addr_ptr: *const u8, entity_addr_len: usize, output_ptr: *mut core::ffi::c_void,) -> u32;
67 pub fn casper_env_info(info_ptr: *const u8, info_size: u32,) -> u32;
68 pub fn casper_transfer(entity_addr_ptr: *const u8, entity_addr_len: usize, amount: *const core::ffi::c_void,) -> u32;
69 pub fn casper_emit(topic_ptr: *const u8, topic_size: usize, payload_ptr: *const u8, payload_size: usize,) -> u32;
70 }
71 };
72}