mirror of
https://github.com/aljazceru/cdk.git
synced 2025-12-26 17:14:59 +01:00
Merge pull request #909 from thesimplekid/fix_unit_ser
fix(cashu): preserve original case for custom CurrencyUnit values
This commit is contained in:
@@ -23,6 +23,8 @@
|
||||
- cdk-mintd: Updated to use new mint lifecycle methods for improved service management ([thesimplekid]).
|
||||
- cdk-integration-tests: Updated test utilities to use new mint lifecycle management ([thesimplekid]).
|
||||
|
||||
### Fixed
|
||||
- cashu: Fixed CurrencyUnit custom units preserving original case instead of being converted to uppercase ([thesimplekid]).
|
||||
|
||||
|
||||
## [0.11.0](https://github.com/cashubtc/cdk/releases/tag/v0.11.0)
|
||||
|
||||
@@ -591,14 +591,14 @@ impl CurrencyUnit {
|
||||
impl FromStr for CurrencyUnit {
|
||||
type Err = Error;
|
||||
fn from_str(value: &str) -> Result<Self, Self::Err> {
|
||||
let value = &value.to_uppercase();
|
||||
match value.as_str() {
|
||||
let upper_value = value.to_uppercase();
|
||||
match upper_value.as_str() {
|
||||
"SAT" => Ok(Self::Sat),
|
||||
"MSAT" => Ok(Self::Msat),
|
||||
"USD" => Ok(Self::Usd),
|
||||
"EUR" => Ok(Self::Eur),
|
||||
"AUTH" => Ok(Self::Auth),
|
||||
c => Ok(Self::Custom(c.to_string())),
|
||||
_ => Ok(Self::Custom(value.to_string())),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -977,4 +977,12 @@ mod tests {
|
||||
.unwrap();
|
||||
assert_eq!(b.len(), 1);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn custom_unit_ser_der() {
|
||||
let unit = CurrencyUnit::Custom(String::from("test"));
|
||||
let serialized = serde_json::to_string(&unit).unwrap();
|
||||
let deserialized: CurrencyUnit = serde_json::from_str(&serialized).unwrap();
|
||||
assert_eq!(unit, deserialized)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user