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))
Trait Implementations§
source§impl BorshDeserialize for NearToken
impl BorshDeserialize for NearToken
fn deserialize_reader<R>(reader: &mut R) -> Result<NearToken, Error>where
R: Read,
source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
source§impl BorshSerialize for NearToken
impl BorshSerialize for NearToken
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
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 PartialEq for NearToken
impl PartialEq for NearToken
source§impl PartialOrd for NearToken
impl PartialOrd for NearToken
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more