pub struct NearToken { /* private fields */ }Implementations§
Source§impl NearToken
impl NearToken
Sourcepub const fn from_yoctonear(inner: u128) -> NearToken
pub const fn from_yoctonear(inner: u128) -> NearToken
from_yoctonear is a function that takes value by a number of yocto-near.
§Examples
use near_token::NearToken;
assert_eq!( NearToken::from_yoctonear(10u128.pow(21)), NearToken::from_millinear(1))Sourcepub const fn from_millinear(inner: u128) -> NearToken
pub const fn from_millinear(inner: u128) -> NearToken
from_millinear is a function that takes value by a number of mili-near and converts it to an equivalent to the yocto-near.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_millinear(1), NearToken::from_yoctonear(10u128.pow(21)))Sourcepub const fn from_near(inner: u128) -> NearToken
pub const fn from_near(inner: u128) -> NearToken
from_near is a function that takes value by a number of near and converts it to an equivalent to the yocto-near.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_near(1), NearToken::from_yoctonear(10u128.pow(24)))Sourcepub const fn as_near(&self) -> u128
pub const fn as_near(&self) -> u128
as_near is a function that converts number of yocto-near to an equivalent to the near.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_yoctonear(10u128.pow(24)).as_near(), 1)Sourcepub const fn as_millinear(&self) -> u128
pub const fn as_millinear(&self) -> u128
as_millinear is a function that converts number of yocto-near to an equivalent to the mili-near.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_yoctonear(10u128.pow(21)).as_millinear(), 1)Sourcepub const fn as_yoctonear(&self) -> u128
pub const fn as_yoctonear(&self) -> u128
as_yoctonear is a function that shows a number of yocto-near.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_yoctonear(10).as_yoctonear(), 10)Sourcepub const fn is_zero(&self) -> bool
pub const fn is_zero(&self) -> bool
is_zero is a boolian function that checks NearToken
if a NearToken inner is zero, returns true.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_yoctonear(0).is_zero(), true)Sourcepub const fn checked_add(self, rhs: NearToken) -> Option<NearToken>
pub const fn checked_add(self, rhs: NearToken) -> Option<NearToken>
Checked integer addition. Computes self + rhs, returning None if overflow occurred.
§Examples
use near_token::NearToken;
use std::u128;
assert_eq!(NearToken::from_yoctonear(u128::MAX -2).checked_add(NearToken::from_yoctonear(2)), Some(NearToken::from_yoctonear(u128::MAX)));
assert_eq!(NearToken::from_yoctonear(u128::MAX -2).checked_add(NearToken::from_yoctonear(3)), None);Sourcepub const fn checked_sub(self, rhs: NearToken) -> Option<NearToken>
pub const fn checked_sub(self, rhs: NearToken) -> Option<NearToken>
Checked integer subtraction. Computes self - rhs, returning None if overflow occurred.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_yoctonear(2).checked_sub(NearToken::from_yoctonear(2)), Some(NearToken::from_yoctonear(0)));
assert_eq!(NearToken::from_yoctonear(2).checked_sub(NearToken::from_yoctonear(3)), None);Sourcepub const fn checked_mul(self, rhs: u128) -> Option<NearToken>
pub const fn checked_mul(self, rhs: u128) -> Option<NearToken>
Checked integer multiplication. Computes self * rhs, returning None if overflow occurred.
§Examples
use near_token::NearToken;
use std::u128;
assert_eq!(NearToken::from_yoctonear(2).checked_mul(2), Some(NearToken::from_yoctonear(4)));
assert_eq!(NearToken::from_yoctonear(u128::MAX).checked_mul(2), None)Sourcepub const fn checked_div(self, rhs: u128) -> Option<NearToken>
pub const fn checked_div(self, rhs: u128) -> Option<NearToken>
Checked integer division. Computes self / rhs, returning None if rhs == 0.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_yoctonear(10).checked_div(2), Some(NearToken::from_yoctonear(5)));
assert_eq!(NearToken::from_yoctonear(2).checked_div(0), None);Sourcepub const fn saturating_add(self, rhs: NearToken) -> NearToken
pub const fn saturating_add(self, rhs: NearToken) -> NearToken
Saturating integer addition. Computes self + rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_yoctonear(5).saturating_add(NearToken::from_yoctonear(5)), NearToken::from_yoctonear(10));
assert_eq!(NearToken::from_yoctonear(u128::MAX).saturating_add(NearToken::from_yoctonear(1)), NearToken::from_yoctonear(u128::MAX));Sourcepub const fn saturating_sub(self, rhs: NearToken) -> NearToken
pub const fn saturating_sub(self, rhs: NearToken) -> NearToken
Saturating integer subtraction. Computes self - rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_yoctonear(5).saturating_sub(NearToken::from_yoctonear(2)), NearToken::from_yoctonear(3));
assert_eq!(NearToken::from_yoctonear(1).saturating_sub(NearToken::from_yoctonear(2)), NearToken::from_yoctonear(0));Sourcepub const fn saturating_mul(self, rhs: u128) -> NearToken
pub const fn saturating_mul(self, rhs: u128) -> NearToken
Saturating integer multiplication. Computes self * rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use near_token::NearToken;
use std::u128;
assert_eq!(NearToken::from_yoctonear(2).saturating_mul(5), NearToken::from_yoctonear(10));
assert_eq!(NearToken::from_yoctonear(u128::MAX).saturating_mul(2), NearToken::from_yoctonear(u128::MAX));Sourcepub const fn saturating_div(self, rhs: u128) -> NearToken
pub const fn saturating_div(self, rhs: u128) -> NearToken
Saturating integer division. Computes self / rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_yoctonear(10).saturating_div(2), NearToken::from_yoctonear(5));
assert_eq!(NearToken::from_yoctonear(10).saturating_div(0), NearToken::from_yoctonear(0))Sourcepub fn exact_amount_display(&self) -> String
pub fn exact_amount_display(&self) -> String
Formats the NearToken and displays the amount in NEAR or yoctoNEAR depending on the value.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_yoctonear(10_u128.pow(24)).exact_amount_display(), "1 NEAR");
assert_eq!(NearToken::from_yoctonear(15 * 10_u128.pow(23)).exact_amount_display(), "1.5 NEAR");
assert_eq!(NearToken::from_yoctonear(500).exact_amount_display(), "500 yoctoNEAR");
assert_eq!(NearToken::from_yoctonear(0).exact_amount_display(), "0 NEAR");Trait Implementations§
Source§impl<'de> Deserialize<'de> for NearToken
impl<'de> Deserialize<'de> for NearToken
Source§fn deserialize<D>(
deserializer: D,
) -> Result<NearToken, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<NearToken, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl Display for NearToken
NearToken Display implementation rounds up the token amount to the relevant precision point.
There are 4 breakpoints:
impl Display for NearToken
NearToken Display implementation rounds up the token amount to the relevant precision point. There are 4 breakpoints:
- exactly 0 NEAR
- <0.001 NEAR
- 0.001 - 0.999 NEAR (uses 3 digits after the floating point)
-
1 NEAR (uses 2 digits after the floating point)
Source§impl Ord for NearToken
impl Ord for NearToken
Source§impl PartialOrd for NearToken
impl PartialOrd for NearToken
Source§impl Serialize for NearToken
impl Serialize for NearToken
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl Copy for NearToken
impl Eq for NearToken
impl StructuralPartialEq for NearToken
Auto Trait Implementations§
impl Freeze for NearToken
impl RefUnwindSafe for NearToken
impl Send for NearToken
impl Sync for NearToken
impl Unpin for NearToken
impl UnwindSafe for NearToken
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<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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.