unit.rs
1 use candid::CandidType; 2 use serde::{Deserialize, Serialize}; 3 use std::fmt; 4 5 pub type Price = f64; 6 7 #[derive( 8 CandidType, Clone, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Debug, Hash, Copy, 9 )] 10 pub enum Currency { 11 USD, 12 CNY, 13 JPY, 14 EUR, 15 GBP, 16 BTC, 17 ETH, 18 ICP, 19 USDT, 20 USDC, 21 FLOS, 22 } 23 24 impl fmt::Display for Currency { 25 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { 26 write!( 27 f, 28 "{}", 29 match self { 30 Currency::USD => "USD", 31 Currency::CNY => "CNY", 32 Currency::JPY => "JPY", 33 Currency::EUR => "EUR", 34 Currency::GBP => "GBP", 35 Currency::BTC => "BTC", 36 Currency::ETH => "ETH", 37 Currency::ICP => "ICP", 38 Currency::USDT => "USDT", 39 Currency::USDC => "USDC", 40 Currency::FLOS => "FLOS", 41 } 42 ) 43 } 44 }