cosmwasm_vm/
lib.rs

1mod backend;
2mod cache;
3mod calls;
4mod capabilities;
5mod compatibility;
6mod config;
7mod conversion;
8mod environment;
9mod errors;
10mod filesystem;
11mod imports;
12mod instance;
13mod limited;
14mod memory;
15mod modules;
16mod parsed_wasm;
17mod sections;
18mod serde;
19mod size;
20mod static_analysis;
21pub mod testing;
22mod wasm_backend;
23
24pub use crate::backend::{
25    Backend, BackendApi, BackendError, BackendResult, GasInfo, Querier, Storage,
26};
27pub use crate::cache::{AnalysisReport, Cache, Metrics, PerModuleMetrics, PinnedMetrics, Stats};
28pub use crate::calls::{
29    call_execute, call_execute_raw, call_ibc_destination_callback,
30    call_ibc_destination_callback_raw, call_ibc_source_callback, call_ibc_source_callback_raw,
31    call_instantiate, call_instantiate_raw, call_migrate, call_migrate_raw, call_migrate_with_info,
32    call_migrate_with_info_raw, call_query, call_query_raw, call_reply, call_reply_raw, call_sudo,
33    call_sudo_raw,
34};
35#[cfg(feature = "stargate")]
36pub use crate::calls::{
37    call_ibc_channel_close, call_ibc_channel_close_raw, call_ibc_channel_connect,
38    call_ibc_channel_connect_raw, call_ibc_channel_open, call_ibc_channel_open_raw,
39    call_ibc_packet_ack, call_ibc_packet_ack_raw, call_ibc_packet_receive,
40    call_ibc_packet_receive_raw, call_ibc_packet_timeout, call_ibc_packet_timeout_raw,
41};
42pub use crate::capabilities::capabilities_from_csv;
43pub use crate::config::{CacheOptions, Config, WasmLimits};
44pub use crate::errors::{
45    CommunicationError, CommunicationResult, RegionValidationError, RegionValidationResult,
46    VmError, VmResult,
47};
48pub use crate::instance::{DebugInfo, GasReport, Instance, InstanceOptions};
49pub use crate::serde::{from_slice, to_vec};
50pub use crate::size::Size;
51
52pub mod internals {
53    #![doc(hidden)]
54    //! We use the internals module for exporting types that are only
55    //! intended to be used in internal crates / utils.
56    //! Please don't use any of these types directly, as
57    //! they might change frequently or be removed in the future.
58
59    pub use crate::compatibility::{check_wasm, LogOutput, Logger};
60    pub use crate::instance::instance_from_module;
61    pub use crate::wasm_backend::{compile, make_compiling_engine, make_runtime_engine};
62}