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
6// implements: JOIN-004
7pub fn create_credential(inbox_id: impl AsRef<str>) -> Credential {
8    BasicCredential::new(
9        MlsCredential {
10            inbox_id: inbox_id.as_ref().to_owned(),
11        }
12        .encode_to_vec(),
13    )
14    .into()
15}
16
17pub fn parse_credential(bytes: &[u8]) -> Result<crate::InboxId, prost::DecodeError> {
18    Ok(MlsCredential::decode(bytes)?.inbox_id)
19}