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