pub trait OnetimeKeyStorage<SK>where
    SK: SecretKey,{
    // Required methods
    fn get_onetime_keypair(
        &self,
        key: &SK::PK
    ) -> StorageResult<Option<&KeyPair<SK>>>;
    fn save_onetime_keypair(
        &mut self,
        keypair: KeyPair<SK>
    ) -> StorageResult<()>;
    fn forget_onetime_keypair(&mut self, key: &SK::PK) -> StorageResult<()>;
    fn is_onetime_keys_empty(&self) -> StorageResult<bool>;
    fn provide_ontime_key(&self) -> StorageResult<Option<&SK::PK>>;
}
Expand description

One-time keys storage.

Required Methods§

source

fn get_onetime_keypair( &self, key: &SK::PK ) -> StorageResult<Option<&KeyPair<SK>>>

Get a OnetimeKeyPair.

source

fn save_onetime_keypair(&mut self, keypair: KeyPair<SK>) -> StorageResult<()>

Save a OnetimeKeyPair.

source

fn forget_onetime_keypair(&mut self, key: &SK::PK) -> StorageResult<()>

Forget a OnetimeKeyPair.

source

fn is_onetime_keys_empty(&self) -> StorageResult<bool>

Check if there are keys available.

source

fn provide_ontime_key(&self) -> StorageResult<Option<&SK::PK>>

Provide a single onetime key. Returns None if storage is empty.

Implementors§

source§

impl<SK, SIG> OnetimeKeyStorage<SK> for Storage<SK, SIG>where SK: SecretKey, SK::PK: Eq + Hash, SIG: Signature,