1use alloc::vec::Vec;
2use crate::prelude::{Address, H256};
3use crate::runtime;
4use crate::types::LogLevel;
5
6pub fn revert(msg: &str) -> ! {
7 runtime::revert(msg)
8}
9
10pub fn ret(data: &[u8]) {
11 runtime::ret(data)
12}
13
14pub fn input() -> Vec<u8> {
15 runtime::input()
16}
17
18pub fn self_address() -> Address {
19 runtime::self_address()
20}
21
22pub fn caller_address() -> Address {
23 runtime::caller_address()
24}
25
26pub fn origin_address() -> Address {
27 runtime::origin_address()
28}
29
30pub fn tx_hash() -> H256 {
31 runtime::tx_hash()
32}
33
34pub fn sha256(data: impl AsRef<[u8]>) -> H256 {
35 runtime::sha256(data)
36}
37
38pub fn block_time() -> u64 {
39 runtime::block_time()
40}
41
42pub fn block_height() -> u64 {
43 runtime::block_height()
44}
45
46pub fn call_contract(addr: &Address, input: &[u8]) -> Vec<u8> {
47 runtime::call_contract(addr, input)
48}
49
50pub fn cns_call_contract(cns: &[u8], input: &[u8]) -> Vec<u8> {
51 runtime::cns_call_contract(cns, input)
52}
53
54pub fn log(class_name: &[u8], data: &[u8], level: LogLevel) {
55 runtime::log(class_name, data, level)
56}
57
58
59
60
61