Struct b3_helper_lib::TokenAmount
source · pub struct TokenAmount {
pub amount: u128,
pub decimals: u8,
}
Fields§
§amount: u128
§decimals: u8
Implementations§
source§impl TokenAmount
impl TokenAmount
pub fn new(amount: u128, decimals: u8) -> Self
pub fn from_tokens(tokens: ICPToken) -> Self
sourcepub fn as_u64(&self) -> Result<u64, TokenAmountError>
pub fn as_u64(&self) -> Result<u64, TokenAmountError>
Returns the amount as a u64, if the amount has no decimals. Otherwise returns an error.
Example
use b3_helper_lib::currency::TokenAmount;
let amount = TokenAmount::new(100, 0);
assert_eq!(amount.as_u64().unwrap(), 100);
let amount = TokenAmount::new(100, 1);
assert!(amount.as_u64().is_err());
sourcepub fn as_u128(&self) -> Result<u128, TokenAmountError>
pub fn as_u128(&self) -> Result<u128, TokenAmountError>
Returns the amount as a u128, if the amount has no decimals. Otherwise returns an error.
Example
use b3_helper_lib::currency::TokenAmount;
let amount = TokenAmount::new(100, 0);
assert_eq!(amount.as_u128().unwrap(), 100);
sourcepub fn to_satoshi(&self) -> Result<u64, TokenAmountError>
pub fn to_satoshi(&self) -> Result<u64, TokenAmountError>
Returns the amount to Satoshi.
sourcepub fn to_tokens(&self) -> Result<ICPToken, TokenAmountError>
pub fn to_tokens(&self) -> Result<ICPToken, TokenAmountError>
Returns the Tokens representation of this amount. Throws an error if the decimals are not 8.
Trait Implementations§
source§impl Add<TokenAmount> for TokenAmount
impl Add<TokenAmount> for TokenAmount
§type Output = Result<TokenAmount, TokenAmountError>
type Output = Result<TokenAmount, TokenAmountError>
The resulting type after applying the
+
operator.source§impl CandidType for TokenAmount
impl CandidType for TokenAmount
source§impl Clone for TokenAmount
impl Clone for TokenAmount
source§fn clone(&self) -> TokenAmount
fn clone(&self) -> TokenAmount
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for TokenAmount
impl Debug for TokenAmount
source§impl<'de> Deserialize<'de> for TokenAmount
impl<'de> Deserialize<'de> for TokenAmount
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>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Display for TokenAmount
impl Display for TokenAmount
source§impl Div<TokenAmount> for TokenAmount
impl Div<TokenAmount> for TokenAmount
§type Output = Result<TokenAmount, TokenAmountError>
type Output = Result<TokenAmount, TokenAmountError>
The resulting type after applying the
/
operator.source§impl From<ICPToken> for TokenAmount
impl From<ICPToken> for TokenAmount
source§impl From<u128> for TokenAmount
impl From<u128> for TokenAmount
source§impl FromStr for TokenAmount
impl FromStr for TokenAmount
source§impl Mul<TokenAmount> for TokenAmount
impl Mul<TokenAmount> for TokenAmount
§type Output = Result<TokenAmount, TokenAmountError>
type Output = Result<TokenAmount, TokenAmountError>
The resulting type after applying the
*
operator.source§impl PartialEq<TokenAmount> for TokenAmount
impl PartialEq<TokenAmount> for TokenAmount
source§fn eq(&self, other: &TokenAmount) -> bool
fn eq(&self, other: &TokenAmount) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<TokenAmount> for TokenAmount
impl PartialOrd<TokenAmount> for TokenAmount
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl Serialize for TokenAmount
impl Serialize for TokenAmount
source§impl Sub<TokenAmount> for TokenAmount
impl Sub<TokenAmount> for TokenAmount
§type Output = Result<TokenAmount, TokenAmountError>
type Output = Result<TokenAmount, TokenAmountError>
The resulting type after applying the
-
operator.source§impl TryFrom<&TokenAmount> for ICPToken
impl TryFrom<&TokenAmount> for ICPToken
§type Error = TokenAmountError
type Error = TokenAmountError
The type returned in the event of a conversion error.
source§impl TryFrom<TokenAmount> for Nat
impl TryFrom<TokenAmount> for Nat
§type Error = TokenAmountError
type Error = TokenAmountError
The type returned in the event of a conversion error.
impl Copy for TokenAmount
impl Eq for TokenAmount
impl StructuralEq for TokenAmount
impl StructuralPartialEq for TokenAmount
Auto Trait Implementations§
impl RefUnwindSafe for TokenAmount
impl Send for TokenAmount
impl Sync for TokenAmount
impl Unpin for TokenAmount
impl UnwindSafe for TokenAmount
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
Mutably borrows from an owned value. Read more