radix_transactions/model/v1/
notary_signature.rs

1use super::*;
2use crate::internal_prelude::*;
3
4/// Represents any natively supported signature.
5#[cfg_attr(
6    feature = "serde",
7    derive(serde::Serialize, serde::Deserialize),
8    serde(tag = "type", content = "signature")
9)]
10#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Sbor)]
11pub enum SignatureV1 {
12    Secp256k1(Secp256k1Signature),
13    Ed25519(Ed25519Signature),
14}
15
16impl From<Secp256k1Signature> for SignatureV1 {
17    fn from(signature: Secp256k1Signature) -> Self {
18        Self::Secp256k1(signature)
19    }
20}
21
22impl From<Ed25519Signature> for SignatureV1 {
23    fn from(signature: Ed25519Signature) -> Self {
24        Self::Ed25519(signature)
25    }
26}
27
28#[derive(Debug, Clone, Eq, PartialEq, ManifestSbor, ScryptoDescribe)]
29#[sbor(transparent)]
30pub struct NotarySignatureV1(pub SignatureV1);
31
32#[allow(deprecated)]
33pub type PreparedNotarySignatureV1 = SummarizedRawFullValue<NotarySignatureV1>;