multiversx_sc/
lib.rs

1#![no_std]
2#![allow(deprecated)]
3pub use multiversx_sc_derive::{self as derive, contract, module, proxy};
4
5// re-export basic heap types
6extern crate alloc;
7
8/// The current version of `multiversx_sc_codec`, re-exported.
9pub use multiversx_sc_codec as codec;
10
11// Re-exporting the VM-core, for convenience.
12pub use multiversx_chain_core as chain_core;
13
14/// Reexported for convenience.
15pub use crate::codec::arrayvec;
16
17/// Reexported for convenience.
18pub use generic_array::typenum;
19
20pub mod abi;
21pub mod api;
22pub mod contract_base;
23pub mod err_msg;
24pub mod external_view_contract;
25pub mod formatter;
26pub mod hex_call_data;
27pub mod io;
28pub mod log_util;
29mod macros;
30pub mod non_zero_util;
31pub mod storage;
32pub mod tuple_util;
33pub mod types;
34
35#[cfg(feature = "std")]
36mod std_impl;
37
38pub use hex_call_data::*;
39pub use hex_literal;
40pub use storage::{storage_clear, storage_get, storage_get_len, storage_set};
41
42/// Conveniently groups all framework imports required by a smart contract form the framework.
43pub mod imports;
44
45/// Conveniently groups all imports required for deriving framework-related traits for types.
46pub mod derive_imports;
47
48/// Conveniently groups all imports required for generated proxies.
49pub mod proxy_imports {
50    pub use super::{derive_imports::*, imports::*};
51}