(deserializer: D)
| 93 | |
| 94 | impl<'de> Deserialize<'de> for PublicKey { |
| 95 | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> |
| 96 | where |
| 97 | D: serde::Deserializer<'de>, |
| 98 | { |
| 99 | if deserializer.is_human_readable() { |
| 100 | let s = String::deserialize(deserializer)?; |
| 101 | PublicKey::from_base32(&s).map_err(serde::de::Error::custom) |
| 102 | } else { |
| 103 | let bytes = <[u8; 32]>::deserialize(deserializer)?; |
| 104 | PublicKey::from_bytes(&bytes).map_err(serde::de::Error::custom) |
| 105 | } |
| 106 | } |
| 107 | } |
| 108 | |
| 109 | /// A secret key for signing changes. |
nothing calls this directly
no test coverage detected