identity_storage/key_storage/
jwk_storage_bbs_plus_ext.rsuse async_trait::async_trait;
use identity_verification::jwk::Jwk;
use jsonprooftoken::jpa::algs::ProofAlgorithm;
use crate::JwkGenOutput;
use crate::JwkStorage;
use crate::KeyId;
use crate::KeyStorageResult;
use crate::KeyType;
use crate::ProofUpdateCtx;
#[cfg_attr(not(feature = "send-sync-storage"), async_trait(?Send))]
#[cfg_attr(feature = "send-sync-storage", async_trait)]
pub trait JwkStorageBbsPlusExt: JwkStorage {
async fn generate_bbs(&self, key_type: KeyType, alg: ProofAlgorithm) -> KeyStorageResult<JwkGenOutput>;
async fn sign_bbs(
&self,
key_id: &KeyId,
data: &[Vec<u8>],
header: &[u8],
public_key: &Jwk,
) -> KeyStorageResult<Vec<u8>>;
async fn update_signature(
&self,
key_id: &KeyId,
public_key: &Jwk,
signature: &[u8],
ctx: ProofUpdateCtx,
) -> KeyStorageResult<Vec<u8>>;
}