smart_contract/
sys.rs

1extern "C" {
2    pub fn _payload_len() -> usize;
3    pub fn _payload(out: *mut u8);
4
5    pub fn _log(content: *const u8, len: usize);
6    pub fn _result(result: *const u8, len: usize);
7
8    pub fn _send_transaction(tag: u8, payload: *const u8, payload_len: usize);
9
10    pub fn _verify_ed25519(
11        pubkey: *const u8,
12        pubkey_len: usize,
13        data: *const u8,
14        data_len: usize,
15        sig: *const u8,
16        sig_len: usize,
17    ) -> i32;
18
19    pub fn _hash_blake2b_256(data: *const u8, data_len: usize, out: *mut u8, out_len: usize)
20        -> i32;
21
22    pub fn _hash_blake2b_512(data: *const u8, data_len: usize, out: *mut u8, out_len: usize)
23        -> i32;
24
25    pub fn _hash_sha256(data: *const u8, data_len: usize, out: *mut u8, out_len: usize) -> i32;
26
27    pub fn _hash_sha512(data: *const u8, data_len: usize, out: *mut u8, out_len: usize) -> i32;
28}