ckb_std/
lib.rs

1//! ckb-std
2//!
3//! # Modules
4//!
5//! * `high_level` module: defines high level syscall API
6//! * `syscalls` module: defines low level [CKB syscalls](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0009-vm-syscalls/0009-vm-syscalls.md)
7//! * `debug!` macro: a `println!` like macro helps debugging
8//! * `entry!` macro: defines contract entry point
9//! * `default_alloc!` and `libc_alloc!` macro: defines global allocator for no-std rust
10
11#![cfg_attr(not(feature = "native-simulator"), no_std)]
12#![cfg_attr(docsrs, feature(doc_auto_cfg))]
13
14extern crate alloc;
15
16pub mod ckb_constants;
17#[doc(hidden)]
18pub mod debug;
19#[doc(hidden)]
20pub mod entry;
21pub mod env;
22pub mod error;
23#[doc(hidden)]
24pub mod global_alloc_macro;
25#[cfg(feature = "ckb-types")]
26pub mod high_level;
27pub mod since;
28pub mod syscalls;
29
30#[cfg(feature = "ckb-types")]
31pub use ckb_types;
32#[cfg(feature = "ckb-types")]
33pub mod dynamic_loading;
34#[cfg(all(target_arch = "riscv64", feature = "dlopen-c"))]
35pub mod dynamic_loading_c_impl;
36#[cfg(feature = "allocator")]
37pub use buddy_alloc;
38#[cfg(all(target_arch = "riscv64", feature = "dummy-atomic"))]
39pub mod dummy_atomic;
40#[cfg(feature = "log")]
41pub mod logger;
42#[cfg(feature = "log")]
43pub use log;
44#[cfg(feature = "type-id")]
45pub mod type_id;
46#[cfg(feature = "native-simulator")]
47pub use ckb_x64_simulator::set_script_info;