pub struct Gas(/* private fields */);Expand description
The Gas struct represents a U512 amount of gas.
Implementations§
Source§impl Gas
impl Gas
Sourcepub fn from_motes(motes: Motes, motes_per_unit_of_gas: u8) -> Option<Self>
pub fn from_motes(motes: Motes, motes_per_unit_of_gas: u8) -> Option<Self>
Converts the given motes to Gas by dividing them by conv_rate.
Returns None if motes_per_unit_of_gas == 0.
Sourcepub fn from_price(base_amount: U512, gas_price: u8) -> Option<Self>
pub fn from_price(base_amount: U512, gas_price: u8) -> Option<Self>
Converts the given U512 to Gas by dividing it by gas_price.
Returns None if gas_price == 0.
Sourcepub fn checked_add(&self, rhs: Self) -> Option<Self>
pub fn checked_add(&self, rhs: Self) -> Option<Self>
Checked integer addition. Computes self + rhs, returning None if overflow occurred.
Sourcepub fn saturating_add(self, rhs: Self) -> Self
pub fn saturating_add(self, rhs: Self) -> Self
Saturating integer addition. Computes self + rhs, returning max if overflow occurred.
Sourcepub fn saturating_sub(self, rhs: Self) -> Self
pub fn saturating_sub(self, rhs: Self) -> Self
Saturating integer subtraction. Computes self + rhs, returning min if overflow occurred.
Sourcepub fn checked_sub(&self, rhs: Self) -> Option<Self>
pub fn checked_sub(&self, rhs: Self) -> Option<Self>
Checked integer subtraction. Computes self - rhs, returning None if overflow occurred.
Sourcepub fn checked_mul(&self, rhs: Self) -> Option<Self>
pub fn checked_mul(&self, rhs: Self) -> Option<Self>
Checked integer subtraction. Computes self * rhs, returning None if overflow occurred.
Sourcepub fn checked_div(&self, rhs: Self) -> Option<Self>
pub fn checked_div(&self, rhs: Self) -> Option<Self>
Checked integer division. Computes self / rhs, returning None if overflow occurred.
Trait Implementations§
Source§impl DataSize for Gas
impl DataSize for Gas
Source§const IS_DYNAMIC: bool = false
const IS_DYNAMIC: bool = false
true, the type has a heap size that can vary at runtime, depending on the actual value.Source§const STATIC_HEAP_SIZE: usize = 0usize
const STATIC_HEAP_SIZE: usize = 0usize
IS_DYNAMIC is false, this is
the total amount of heap memory occupied by the value. Otherwise this is a lower bound.Source§fn estimate_heap_size(&self) -> usize
fn estimate_heap_size(&self) -> usize
Source§impl<'de> Deserialize<'de> for Gas
impl<'de> Deserialize<'de> for Gas
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>,
Source§impl JsonSchema for Gas
impl JsonSchema for Gas
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl Ord for Gas
impl Ord for Gas
Source§impl PartialOrd for Gas
impl PartialOrd for Gas
Source§impl ToBytes for Gas
impl ToBytes for Gas
Source§fn serialized_length(&self) -> usize
fn serialized_length(&self) -> usize
Vec<u8> which would be returned from a successful call to
to_bytes() or into_bytes(). The data is not actually serialized, so this call is
relatively cheap.impl Copy for Gas
impl Eq for Gas
impl StructuralPartialEq for Gas
Auto Trait Implementations§
impl Freeze for Gas
impl RefUnwindSafe for Gas
impl Send for Gas
impl Sync for Gas
impl Unpin for Gas
impl UnwindSafe for Gas
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more