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
//! ckb-std
//!
//! # Modules
//!
//! * `high_level` module: defines high level syscall API
//! * `syscalls` module: defines low level [CKB syscalls](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0009-vm-syscalls/0009-vm-syscalls.md)
//! * `debug!` macro: a `println!` like macro helps debugging
//! * `entry!` macro: defines contract entry point
//! * `default_alloc!` and `libc_alloc!` macro: defines global allocator for no-std rust

#![no_std]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]

#[cfg(not(feature = "rustc-dep-of-std"))]
extern crate alloc;

pub mod ckb_constants;
#[doc(hidden)]
pub mod debug;
#[doc(hidden)]
pub mod entry;
pub mod env;
pub mod error;
#[doc(hidden)]
pub mod global_alloc_macro;
#[cfg(feature = "ckb-types")]
pub mod high_level;
pub mod since;
pub mod syscalls;
#[cfg(feature = "ckb-types")]
pub use ckb_types;
#[cfg(feature = "ckb-types")]
pub mod dynamic_loading;
#[cfg(all(target_arch = "riscv64", feature = "dlopen-c"))]
pub mod dynamic_loading_c_impl;
#[cfg(feature = "allocator")]
pub use buddy_alloc;