1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
pub type WasmPtr = i32;
pub type WasmPtrList = i32;
#[no_mangle]
extern "C" {
pub fn get_state(addresses: WasmPtrList) -> WasmPtrList;
pub fn set_state(addr_data: WasmPtrList) -> i32;
pub fn delete_state(addresses: WasmPtrList) -> WasmPtrList;
pub fn get_ptr_len(ptr: WasmPtr) -> isize;
pub fn alloc(len: usize) -> WasmPtr;
pub fn read_byte(offset: isize) -> u8;
pub fn write_byte(ptr: WasmPtr, offset: u32, byte: u8) -> i32;
pub fn get_ptr_collection_len(ptr: WasmPtrList) -> isize;
pub fn get_ptr_from_collection(ptr: WasmPtrList, index: u32) -> WasmPtr;
pub fn add_to_collection(head: WasmPtr, ptr: WasmPtr) -> WasmPtr;
pub fn create_collection(head: WasmPtr) -> WasmPtr;
pub fn invoke_smart_permission(
contract_addr: WasmPtr,
name: WasmPtr,
roles: WasmPtrList,
org_id: WasmPtr,
public_key: WasmPtr,
payload: WasmPtr,
) -> i32;
}