radix_engine_interface/api/
mod.rs1pub mod actor_api;
2pub mod actor_index_api;
3pub mod actor_key_value_entry_api;
4pub mod actor_sorted_index_api;
5pub mod blueprint_api;
6pub mod costing_api;
7pub mod execution_trace_api;
8pub mod field_api;
9pub mod key_value_entry_api;
10pub mod key_value_store_api;
11pub mod object_api;
12pub mod transaction_runtime_api;
13
14pub use actor_api::*;
16pub use actor_index_api::*;
17pub use actor_key_value_entry_api::*;
18pub use actor_sorted_index_api::*;
19pub use blueprint_api::*;
20pub use costing_api::*;
21pub use execution_trace_api::*;
22pub use field_api::*;
23pub use key_value_entry_api::*;
24pub use key_value_store_api::*;
25pub use object_api::*;
26pub use transaction_runtime_api::*;
27
28pub type ActorStateHandle = u32;
29
30pub const ACTOR_STATE_SELF: ActorStateHandle = 0u32;
31pub const ACTOR_STATE_OUTER_OBJECT: ActorStateHandle = 1u32;
32
33pub type ActorRefHandle = u32;
34
35pub const ACTOR_REF_SELF: ActorRefHandle = 0u32;
36pub const ACTOR_REF_OUTER: ActorRefHandle = 1u32;
37pub const ACTOR_REF_GLOBAL: ActorRefHandle = 2u32;
38pub const ACTOR_REF_AUTH_ZONE: ActorRefHandle = 8u32;
39
40pub type FieldIndex = u8;
41pub type CollectionIndex = u8;
42
43use radix_common::prelude::*;
44
45pub trait SystemApiError: fmt::Debug + ScryptoCategorize + ScryptoDecode {}
46
47pub trait SystemApi<E: SystemApiError>:
51 SystemActorApi<E>
52 + SystemActorKeyValueEntryApi<E>
53 + SystemObjectApi<E>
54 + SystemKeyValueStoreApi<E>
55 + SystemKeyValueEntryApi<E>
56 + SystemActorSortedIndexApi<E>
57 + SystemActorIndexApi<E>
58 + SystemFieldApi<E>
59 + SystemBlueprintApi<E>
60 + SystemCostingApi<E>
61 + SystemTransactionRuntimeApi<E>
62 + SystemExecutionTraceApi<E>
63{
64}