use std::fmt;
use zeroize::Zeroize;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub struct LocalSharedStatePackageContext {
pub vault_id: [u8; 32],
pub generation_id: [u8; 32],
}
pub struct LocalSharedStatePackageKey([u8; 32]);
impl Clone for LocalSharedStatePackageKey {
fn clone(&self) -> Self {
Self(self.0)
}
}
impl LocalSharedStatePackageKey {
pub fn new(bytes: [u8; 32]) -> Self {
Self(bytes)
}
pub fn protected_storage_bytes(&self) -> &[u8; 32] {
&self.0
}
}
impl fmt::Debug for LocalSharedStatePackageKey {
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
formatter.write_str("LocalSharedStatePackageKey([REDACTED])")
}
}
impl Drop for LocalSharedStatePackageKey {
fn drop(&mut self) {
self.0.zeroize();
}
}