bip329 0.5.0

A library for working with BIP329 labels
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::SpendableFieldValue;
use serde::Deserializer;

pub(crate) fn deserialize_string_or_bool<'de, D>(deserializer: D) -> Result<bool, D::Error>
where
    D: Deserializer<'de>,
{
    // keep normal output parsing aligned with metadata-aware parsing
    let value = <SpendableFieldValue as serde::Deserialize>::deserialize(deserializer)?;

    match value {
        SpendableFieldValue::Boolean(value) | SpendableFieldValue::String(value) => Ok(value),
        SpendableFieldValue::Omitted => {
            unreachable!("serde only calls this deserializer for present spendable fields")
        }
    }
}