1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use super::{CandidType, Serializer, Type, TypeId};

pub use ic_types::Principal;

impl CandidType for Principal {
    fn id() -> TypeId {
        TypeId::of::<Principal>()
    }
    fn _ty() -> Type {
        Type::Principal
    }
    fn idl_serialize<S>(&self, serializer: S) -> Result<(), S::Error>
    where
        S: Serializer,
    {
        serializer.serialize_principal(self.as_slice())
    }
}