Skip to main content

xmtp_id/key_package/
credential.rs

1use openmls::credentials::BasicCredential;
2use openmls::prelude::Credential;
3use prost::Message;
4use xmtp_proto::xmtp::identity::MlsCredential;
5
6pub fn create_credential(inbox_id: impl AsRef<str>) -> Credential {
7    BasicCredential::new(
8        MlsCredential {
9            inbox_id: inbox_id.as_ref().to_owned(),
10        }
11        .encode_to_vec(),
12    )
13    .into()
14}
15
16pub fn parse_credential(bytes: &[u8]) -> Result<crate::InboxId, prost::DecodeError> {
17    Ok(MlsCredential::decode(bytes)?.inbox_id)
18}