Struct ergo_lib::chain::ergo_box::BoxValue[][src]

pub struct BoxValue(_);
Expand description

Box value in nanoERGs with bound checks

Implementations

impl BoxValue[src]

pub const MIN_VALUE_PER_BOX_BYTE: u32[src]

Minimal box value per byte of the serialized box that was set on on launch

pub const MIN_RAW: u64[src]

Absolute minimal value, calculated from smallest possible box size and original value per byte requirement

pub const MAX_RAW: u64[src]

Absolute maximal allowed box value

pub const MIN: BoxValue[src]

Absolute minimal value, calculated from smallest possible box size and original value per byte requirement

pub const SAFE_USER_MIN: BoxValue[src]

Recommended (safe) minimal box value to use in case box size estimation is unavailable. Allows box size up to 2777 bytes with current min box value per byte of 360 nanoERGs

pub const UNITS_PER_ERGO: u32[src]

Number of units inside one ERGO (i.e. one ERG using nano ERG representation)

pub fn new(v: u64) -> Result<BoxValue, BoxValueError>[src]

create from u64 with bounds check

pub const fn within_bounds(v: u64) -> bool[src]

Check if a value is in bounds

pub fn as_u64(&self) -> &u64[src]

Get the value as u64

pub fn as_i64(&self) -> i64[src]

Get the value as i64

pub fn checked_add(&self, rhs: &Self) -> Result<Self, BoxValueError>[src]

Addition with overflow check

pub fn checked_sub(&self, rhs: &Self) -> Result<Self, BoxValueError>[src]

Subtraction with overflow and bounds check

pub fn checked_mul(&self, rhs: &Self) -> Result<Self, BoxValueError>[src]

Multiplication with overflow check

pub fn checked_mul_u32(&self, rhs: u32) -> Result<Self, BoxValueError>[src]

Multiplication with overflow check

Trait Implementations

impl Clone for BoxValue[src]

fn clone(&self) -> BoxValue[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for BoxValue[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<'de> Deserialize<'de> for BoxValue[src]

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
    __D: Deserializer<'de>, 
[src]

Deserialize this value from the given Serde deserializer. Read more

impl Hash for BoxValue[src]

fn hash<__H: Hasher>(&self, state: &mut __H)[src]

Feeds this value into the given Hasher. Read more

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given Hasher. Read more

impl PartialEq<BoxValue> for BoxValue[src]

fn eq(&self, other: &BoxValue) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &BoxValue) -> bool[src]

This method tests for !=.

impl PartialOrd<BoxValue> for BoxValue[src]

fn partial_cmp(&self, other: &Self) -> Option<Ordering>[src]

This method returns an ordering between self and other values if one exists. Read more

#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than (for self and other) and is used by the < operator. Read more

#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Serialize for BoxValue[src]

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
    __S: Serializer
[src]

Serialize this value into the given Serde serializer. Read more

impl SigmaSerializable for BoxValue[src]

fn sigma_serialize<W: WriteSigmaVlqExt>(&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]

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_serialize_bytes(&self) -> Vec<u8, Global>[src]

Serialize any SigmaSerializable value into bytes

fn sigma_parse_bytes(bytes: &[u8]) -> Result<Self, SerializationError>[src]

Parse self from the bytes

impl TryFrom<i64> for BoxValue[src]

type Error = BoxValueError

The type returned in the event of a conversion error.

fn try_from(v: i64) -> Result<Self, Self::Error>[src]

Performs the conversion.

impl TryFrom<u64> for BoxValue[src]

type Error = BoxValueError

The type returned in the event of a conversion error.

fn try_from(v: u64) -> Result<Self, Self::Error>[src]

Performs the conversion.

impl Copy for BoxValue[src]

impl Eq for BoxValue[src]

impl StructuralEq for BoxValue[src]

impl StructuralPartialEq for BoxValue[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

pub fn equivalent(&self, key: &K) -> bool[src]

Compare self to key and return true if they are equal.

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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]

🔬 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<F> TryExtractInto<F> for 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<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]