Struct NearToken
pub struct NearToken { /* private fields */ }Implementations§
§impl NearToken
impl NearToken
pub 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))pub const fn from_micronear(inner: u128) -> NearToken
pub const fn from_micronear(inner: u128) -> NearToken
from_micronear is a function that takes value by a number of micro-near and converts it to an equivalent to the yocto-near.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_micronear(1), NearToken::from_yoctonear(10u128.pow(18)))pub 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 milli-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)))pub 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)))pub 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)pub const fn as_micronear(&self) -> u128
pub const fn as_micronear(&self) -> u128
as_micronear is a function that converts number of yocto-near to an equivalent to the micro-near.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_yoctonear(10u128.pow(18)).as_micronear(), 1)pub 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 milli-near.
§Examples
use near_token::NearToken;
assert_eq!(NearToken::from_yoctonear(10u128.pow(21)).as_millinear(), 1)pub 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)pub 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)pub 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);pub 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);pub 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)pub 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);pub 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));pub 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));pub 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));pub 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))pub 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§
§impl<'arbitrary> Arbitrary<'arbitrary> for NearToken
impl<'arbitrary> Arbitrary<'arbitrary> for NearToken
§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<NearToken, Error>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<NearToken, Error>
Self from the given unstructured data. Read more§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<NearToken, Error>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<NearToken, Error>
Self from the entirety of the given
unstructured data. Read more§impl BorshDeserialize for NearToken
impl BorshDeserialize for NearToken
fn deserialize_reader<__R>(reader: &mut __R) -> Result<NearToken, Error>where
__R: Read,
§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
§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,
§impl BorshSchema for NearToken
impl BorshSchema for NearToken
§fn declaration() -> String
fn declaration() -> String
§fn add_definitions_recursively(definitions: &mut BTreeMap<String, Definition>)
fn add_definitions_recursively(definitions: &mut BTreeMap<String, Definition>)
§impl<'de> Deserialize<'de> for NearToken
impl<'de> Deserialize<'de> for NearToken
§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>,
§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)
§impl IntoNearToken for NearToken
impl IntoNearToken for NearToken
§fn into_near_token(self) -> Result<NearToken, ParseAmountError>
fn into_near_token(self) -> Result<NearToken, ParseAmountError>
§impl JsonSchema for NearToken
Available on crate feature schemars-v0_8 only.
impl JsonSchema for NearToken
schemars-v0_8 only.§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read more§fn schema_name() -> String
fn schema_name() -> String
§fn json_schema(_: &mut SchemaGenerator) -> Schema
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl Ord for NearToken
impl Ord for NearToken
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
§impl PartialOrd for NearToken
impl PartialOrd for NearToken
§impl Serialize for NearToken
impl Serialize for NearToken
§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 UnsafeUnpin for NearToken
impl UnwindSafe for NearToken
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read more§impl<T> BitPackWrapAsExt for T
impl<T> BitPackWrapAsExt for T
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
§impl<T> CellSerializeWrapAsExt for T
impl<T> CellSerializeWrapAsExt for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<T> Conv for T
impl<T> Conv for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.