diff --git a/cosmrs/src/base.rs b/cosmrs/src/base.rs index 4133520d..91258a5a 100644 --- a/cosmrs/src/base.rs +++ b/cosmrs/src/base.rs @@ -136,6 +136,16 @@ pub struct Coin { pub amount: u128, } +impl Coin { + /// Constructor + pub fn new(amount: u128, denom: &str) -> Result { + Ok(Coin { + amount, + denom: denom.parse()?, + }) + } +} + impl TryFrom for Coin { type Error = ErrorReport; @@ -224,7 +234,7 @@ impl Serialize for Denom { #[cfg(test)] mod tests { - use super::{AccountId, Denom}; + use super::{AccountId, Coin, Denom}; #[test] fn account_id() { @@ -248,4 +258,9 @@ mod tests { .is_ok() ); } + + #[test] + fn coin() { + Coin::new(1000, "uatom").unwrap(); + } }