pub struct Program {
pub program: String,
pub implements: Vec<InterfaceRef>,
pub structs: Vec<Struct>,
pub records: Vec<Record>,
pub mappings: Vec<Mapping>,
pub storage_variables: Vec<StorageVariable>,
pub functions: Vec<Function>,
pub views: Vec<Function>,
}Expand description
The complete ABI for a Leo program.
Fields§
§program: StringThe program identifier (e.g., “token.aleo”).
implements: Vec<InterfaceRef>Interfaces this program implements, by reference.
structs: Vec<Struct>Struct type definitions.
records: Vec<Record>Record type definitions.
mappings: Vec<Mapping>On-chain key-value storage definitions.
storage_variables: Vec<StorageVariable>Storage variable definitions.
functions: Vec<Function>Public entry points (program functions only, not internal helpers).
Compiled to Aleo transitions.
views: Vec<Function>Read-only view fn entry points (V15). Compiled to Aleo view blocks.
Off-consensus, plaintext-only inputs and outputs, no transactions or fees.
Defaults to empty for backwards compatibility with pre-V15 ABI consumers.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Program
impl<'de> Deserialize<'de> for Program
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Program
impl StructuralPartialEq for Program
Auto Trait Implementations§
impl Freeze for Program
impl RefUnwindSafe for Program
impl Send for Program
impl Sync for Program
impl Unpin for Program
impl UnsafeUnpin for Program
impl UnwindSafe for Program
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more