Struct ergotree_ir::ergo_tree::ErgoTree [−][src]
pub struct ErgoTree { /* fields omitted */ }
Expand description
The root of ErgoScript IR. Serialized instances of this class are self sufficient and can be passed around.
Implementations
impl ErgoTree
[src]
impl ErgoTree
[src]pub const MAX_CONSTANTS_COUNT: usize
[src]
pub const MAX_CONSTANTS_COUNT: usize
[src]Reasonable limit for the number of constants allowed in the ErgoTree
pub fn proposition(&self) -> Result<Rc<Expr>, ErgoTreeParsingError>
[src]
pub fn proposition(&self) -> Result<Rc<Expr>, ErgoTreeParsingError>
[src]get Expr out of ErgoTree
pub fn without_segregation(expr: Expr) -> ErgoTree
[src]
pub fn without_segregation(expr: Expr) -> ErgoTree
[src]Build ErgoTree using expr as is, without constants segregated
pub fn with_segregation(expr: &Expr) -> ErgoTree
[src]
pub fn with_segregation(expr: &Expr) -> ErgoTree
[src]Build ErgoTree with constants segregated from expr
pub fn debug_tree(&self) -> String
[src]
pub fn debug_tree(&self) -> String
[src]Prints with newlines
pub fn to_base16_bytes(&self) -> String
[src]
pub fn to_base16_bytes(&self) -> String
[src]Returns Base16-encoded serialized bytes
pub fn constants_len(&self) -> Result<usize, ErgoTreeConstantsParsingError>
[src]
pub fn constants_len(&self) -> Result<usize, ErgoTreeConstantsParsingError>
[src]Returns constants number as stored in serialized ErgoTree or error if the parsing of constants is failed
pub fn get_constant(
&self,
index: usize
) -> Result<Option<Constant>, ErgoTreeConstantsParsingError>
[src]
pub fn get_constant(
&self,
index: usize
) -> Result<Option<Constant>, ErgoTreeConstantsParsingError>
[src]Returns constant with given index (as stored in serialized ErgoTree) or None if index is out of bounds or error if constants parsing were failed
pub fn set_constant(
&mut self,
index: usize,
constant: Constant
) -> Result<Option<Constant>, ErgoTreeConstantsParsingError>
[src]
pub fn set_constant(
&mut self,
index: usize,
constant: Constant
) -> Result<Option<Constant>, ErgoTreeConstantsParsingError>
[src]Sets new constant value for a given index in constants list (as stored in serialized ErgoTree), and returns previous constant or None if index is out of bounds or error if constants parsing were failed
pub fn template_bytes(&self) -> Result<Vec<u8>, ErgoTreeConstantsParsingError>
[src]
pub fn template_bytes(&self) -> Result<Vec<u8>, ErgoTreeConstantsParsingError>
[src]Serialized proposition expression of SigmaProp type with ConstantPlaceholder nodes instead of Constant nodes
Trait Implementations
impl SigmaSerializable for ErgoTree
[src]
impl SigmaSerializable for ErgoTree
[src]fn sigma_serialize<W: SigmaByteWrite>(&self, w: &mut W) -> Result<(), Error>
[src]
fn sigma_serialize<W: SigmaByteWrite>(&self, w: &mut W) -> Result<(), Error>
[src]Write self
to the given writer
.
This function has a sigma_
prefix to alert the reader that the
serialization in use is consensus-critical serialization
Notice that the error type is std::io::Error
; this indicates that
serialization MUST be infallible up to errors in the underlying writer.
In other words, any type implementing SigmaSerializable
must make illegal states unrepresentable. Read more
fn sigma_parse<R: SigmaByteRead>(r: &mut R) -> Result<Self, SerializationError>
[src]
fn sigma_parse<R: SigmaByteRead>(r: &mut R) -> Result<Self, SerializationError>
[src]Try to read self
from the given reader
.
sigma-
prefix to alert the reader that the serialization in use
is consensus-critical Read more
fn sigma_parse_bytes(bytes: &[u8]) -> Result<Self, SerializationError>
[src]
fn sigma_parse_bytes(bytes: &[u8]) -> Result<Self, SerializationError>
[src]Parse self
from the bytes
fn sigma_serialize_bytes(&self) -> Vec<u8>
[src]
fn sigma_serialize_bytes(&self) -> Vec<u8>
[src]Serialize any SigmaSerializable value into bytes
impl Eq for ErgoTree
[src]
impl StructuralEq for ErgoTree
[src]
impl StructuralPartialEq for ErgoTree
[src]
Auto Trait Implementations
impl !RefUnwindSafe for ErgoTree
impl !Send for ErgoTree
impl !Sync for ErgoTree
impl Unpin for ErgoTree
impl UnwindSafe for ErgoTree
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> TryExtractFrom<Expr> for T where
T: TryFrom<Expr>,
[src]
impl<T> TryExtractFrom<Expr> for T where
T: TryFrom<Expr>,
[src]pub fn try_extract_from(Expr) -> Result<T, TryExtractFromError>
[src]
pub fn try_extract_from(Expr) -> Result<T, TryExtractFromError>
[src]Extract the value or return an error if type does not match
impl<F> TryExtractInto<F> for F
[src]
impl<F> TryExtractInto<F> for F
[src]pub fn try_extract_into<T>(Self) -> Result<T, TryExtractFromError> where
T: TryExtractFrom<F>,
[src]
pub fn try_extract_into<T>(Self) -> Result<T, TryExtractFromError> where
T: TryExtractFrom<F>,
[src]Extract value of the given type from any type (e.g. [‘Constant’], super::value::Value
)
on which TryExtractFrom
is implemented Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,