pub async fn sign(vault: &mut impl Signer + Verifier + SecretVault)