Struct miden_core::mast::ExternalNode
source · pub struct ExternalNode { /* private fields */ }
Expand description
Node for referencing procedures not present in a given MastForest
(hence “external”).
External nodes can be used to verify the integrity of a program’s hash while keeping parts of the program secret. They also allow a program to refer to a well-known procedure that was not compiled with the program (e.g. a procedure in the standard library).
The hash of an external node is the hash of the procedure it represents, such that an external node can be swapped with the actual subtree that it represents without changing the MAST root.
Implementations§
source§impl ExternalNode
impl ExternalNode
sourcepub fn new(procedure_hash: RpoDigest) -> Self
pub fn new(procedure_hash: RpoDigest) -> Self
Returns a new ExternalNode
instantiated with the specified procedure hash.
Trait Implementations§
source§impl Clone for ExternalNode
impl Clone for ExternalNode
source§fn clone(&self) -> ExternalNode
fn clone(&self) -> ExternalNode
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ExternalNode
impl Debug for ExternalNode
source§impl Display for ExternalNode
impl Display for ExternalNode
source§impl PartialEq for ExternalNode
impl PartialEq for ExternalNode
source§impl PrettyPrint for ExternalNode
impl PrettyPrint for ExternalNode
source§fn to_pretty_string(&self) -> String
fn to_pretty_string(&self) -> String
source§fn pretty_print(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn pretty_print(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Pretty-print this object to the given core::fmt::Formatter. Read more
impl Eq for ExternalNode
impl StructuralPartialEq for ExternalNode
Auto Trait Implementations§
impl Freeze for ExternalNode
impl RefUnwindSafe for ExternalNode
impl Send for ExternalNode
impl Sync for ExternalNode
impl Unpin for ExternalNode
impl UnwindSafe for ExternalNode
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)