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
38
39
40
41
42
43
//! Oasis runtime SDK.
#![feature(test)]
#![feature(associated_type_defaults)]
#![deny(rust_2018_idioms, unreachable_pub)]

pub mod callformat;
pub mod config;
pub mod context;
pub mod crypto;
pub mod dispatcher;
pub mod enclave_rpc;
pub mod error;
pub mod event;
pub mod history;
pub mod keymanager;
pub mod module;
pub mod modules;
pub mod runtime;
pub mod schedule_control;
pub mod sender;
pub mod state;
pub mod storage;
pub mod subcall;
pub mod testing;
pub mod types;

pub use crate::{
    context::Context, core::common::version::Version, module::Module, runtime::Runtime,
    state::CurrentState,
};

// Re-export the appropriate version of the oasis-core-runtime library.
pub use oasis_core_runtime as core;

// Re-export the cbor crate.
pub use cbor;

// Re-export the SDK support proc-macros.
#[cfg(feature = "oasis-runtime-sdk-macros")]
pub use oasis_runtime_sdk_macros::*;

// Required so that proc-macros can refer to items within this crate.
use crate as oasis_runtime_sdk;