pub const PAYMENT_VERIFICATION_KEY_TYPE: &str = "PaymentVerificationKeyShelley_ed25519";
pub const PAYMENT_SIGNING_KEY_TYPE: &str = "PaymentSigningKeyShelley_ed25519";
pub const PAYMENT_EXTENDED_VERIFICATION_KEY_TYPE: &str =
"PaymentExtendedVerificationKeyShelley_ed25519_bip32";
pub const PAYMENT_EXTENDED_SIGNING_KEY_TYPE: &str =
"PaymentExtendedSigningKeyShelley_ed25519_bip32";
pub const STAKE_VERIFICATION_KEY_TYPE: &str = "StakeVerificationKeyShelley_ed25519";
pub const STAKE_SIGNING_KEY_TYPE: &str = "StakeSigningKeyShelley_ed25519";
pub const STAKE_EXTENDED_VERIFICATION_KEY_TYPE: &str =
"StakeExtendedVerificationKeyShelley_ed25519_bip32";
pub const STAKE_EXTENDED_SIGNING_KEY_TYPE: &str = "StakeExtendedSigningKeyShelley_ed25519_bip32";
pub const POOL_VERIFICATION_KEY_TYPE: &str = "StakePoolVerificationKey_ed25519";
pub const POOL_SIGNING_KEY_TYPE: &str = "StakePoolSigningKey_ed25519";
pub const POOL_EXTENDED_VERIFICATION_KEY_TYPE: &str =
"StakePoolExtendedVerificationKey_ed25519_bip32";
pub const POOL_EXTENDED_SIGNING_KEY_TYPE: &str = "StakePoolExtendedSigningKey_ed25519_bip32";
pub const VRF_VERIFICATION_KEY_TYPE: &str = "VrfVerificationKey_PraosVRF";
pub const VRF_SIGNING_KEY_TYPE: &str = "VrfSigningKey_PraosVRF";
pub const KES_VERIFICATION_KEY_TYPE: &str = "KesVerificationKey_ed25519_kes_2^6";
pub const KES_SIGNING_KEY_TYPE: &str = "KesSigningKey_ed25519_kes_2^6";
pub const GENESIS_VERIFICATION_KEY_TYPE: &str = "GenesisVerificationKey_ed25519";
pub const GENESIS_SIGNING_KEY_TYPE: &str = "GenesisSigningKey_ed25519";
pub const GENESIS_EXTENDED_VERIFICATION_KEY_TYPE: &str =
"GenesisExtendedVerificationKey_ed25519_bip32";
pub const GENESIS_EXTENDED_SIGNING_KEY_TYPE: &str = "GenesisExtendedSigningKey_ed25519_bip32";
pub const GENESIS_DELEGATE_VERIFICATION_KEY_TYPE: &str = "GenesisDelegateVerificationKey_ed25519";
pub const GENESIS_DELEGATE_SIGNING_KEY_TYPE: &str = "GenesisDelegateSigningKey_ed25519";
pub const GENESIS_DELEGATE_EXTENDED_VERIFICATION_KEY_TYPE: &str =
"GenesisDelegateExtendedVerificationKey_ed25519_bip32";
pub const GENESIS_DELEGATE_EXTENDED_SIGNING_KEY_TYPE: &str =
"GenesisDelegateExtendedSigningKey_ed25519_bip32";
pub const GENESIS_UTXO_VERIFICATION_KEY_TYPE: &str = "GenesisUTxOVerificationKey_ed25519";
pub const GENESIS_UTXO_SIGNING_KEY_TYPE: &str = "GenesisUTxOSigningKey_ed25519";
pub const DREP_VERIFICATION_KEY_TYPE: &str = "DRepVerificationKey_ed25519";
pub const DREP_SIGNING_KEY_TYPE: &str = "DRepSigningKey_ed25519";
pub const DREP_EXTENDED_VERIFICATION_KEY_TYPE: &str = "DRepExtendedVerificationKey_ed25519_bip32";
pub const DREP_EXTENDED_SIGNING_KEY_TYPE: &str = "DRepExtendedSigningKey_ed25519_bip32";
pub const COMMITTEE_COLD_VERIFICATION_KEY_TYPE: &str =
"ConstitutionalCommitteeColdVerificationKey_ed25519";
pub const COMMITTEE_COLD_SIGNING_KEY_TYPE: &str = "ConstitutionalCommitteeColdSigningKey_ed25519";
pub const COMMITTEE_COLD_EXTENDED_VERIFICATION_KEY_TYPE: &str =
"ConstitutionalCommitteeColdExtendedVerificationKey_ed25519_bip32";
pub const COMMITTEE_COLD_EXTENDED_SIGNING_KEY_TYPE: &str =
"ConstitutionalCommitteeColdExtendedSigningKey_ed25519_bip32";
pub const COMMITTEE_HOT_VERIFICATION_KEY_TYPE: &str =
"ConstitutionalCommitteeHotVerificationKey_ed25519";
pub const COMMITTEE_HOT_SIGNING_KEY_TYPE: &str = "ConstitutionalCommitteeHotSigningKey_ed25519";
pub const COMMITTEE_HOT_EXTENDED_VERIFICATION_KEY_TYPE: &str =
"ConstitutionalCommitteeHotExtendedVerificationKey_ed25519_bip32";
pub const COMMITTEE_HOT_EXTENDED_SIGNING_KEY_TYPE: &str =
"ConstitutionalCommitteeHotExtendedSigningKey_ed25519_bip32";
pub const NODE_OPERATIONAL_CERTIFICATE_TYPE: &str = "NodeOperationalCertificate";
pub const OPERATIONAL_CERTIFICATE_ISSUE_COUNTER_TYPE: &str =
"NodeOperationalCertificateIssueCounter";
pub const ED25519_SIGNATURE_TYPE: &str = "Ed25519Signature";
pub const KES_SIGNATURE_TYPE: &str = "KesSignature_ed25519_kes_2^6";
pub const VRF_PROOF_TYPE: &str = "VrfProof_PraosVRF";
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_payment_key_types() {
assert_eq!(
PAYMENT_VERIFICATION_KEY_TYPE,
"PaymentVerificationKeyShelley_ed25519"
);
assert_eq!(PAYMENT_SIGNING_KEY_TYPE, "PaymentSigningKeyShelley_ed25519");
assert_eq!(
PAYMENT_EXTENDED_VERIFICATION_KEY_TYPE,
"PaymentExtendedVerificationKeyShelley_ed25519_bip32"
);
assert_eq!(
PAYMENT_EXTENDED_SIGNING_KEY_TYPE,
"PaymentExtendedSigningKeyShelley_ed25519_bip32"
);
}
#[test]
fn test_stake_key_types() {
assert_eq!(
STAKE_VERIFICATION_KEY_TYPE,
"StakeVerificationKeyShelley_ed25519"
);
assert_eq!(STAKE_SIGNING_KEY_TYPE, "StakeSigningKeyShelley_ed25519");
}
#[test]
fn test_pool_key_types() {
assert_eq!(
POOL_VERIFICATION_KEY_TYPE,
"StakePoolVerificationKey_ed25519"
);
assert_eq!(POOL_SIGNING_KEY_TYPE, "StakePoolSigningKey_ed25519");
}
#[test]
fn test_vrf_key_types() {
assert_eq!(VRF_VERIFICATION_KEY_TYPE, "VrfVerificationKey_PraosVRF");
assert_eq!(VRF_SIGNING_KEY_TYPE, "VrfSigningKey_PraosVRF");
}
#[test]
fn test_kes_key_types() {
assert_eq!(
KES_VERIFICATION_KEY_TYPE,
"KesVerificationKey_ed25519_kes_2^6"
);
assert_eq!(KES_SIGNING_KEY_TYPE, "KesSigningKey_ed25519_kes_2^6");
}
#[test]
fn test_governance_key_types() {
assert_eq!(DREP_VERIFICATION_KEY_TYPE, "DRepVerificationKey_ed25519");
assert_eq!(
COMMITTEE_COLD_VERIFICATION_KEY_TYPE,
"ConstitutionalCommitteeColdVerificationKey_ed25519"
);
assert_eq!(
COMMITTEE_HOT_VERIFICATION_KEY_TYPE,
"ConstitutionalCommitteeHotVerificationKey_ed25519"
);
}
#[test]
fn test_certificate_types() {
assert_eq!(
NODE_OPERATIONAL_CERTIFICATE_TYPE,
"NodeOperationalCertificate"
);
assert_eq!(
OPERATIONAL_CERTIFICATE_ISSUE_COUNTER_TYPE,
"NodeOperationalCertificateIssueCounter"
);
}
#[test]
fn test_type_naming_convention() {
assert!(PAYMENT_VERIFICATION_KEY_TYPE.contains("ed25519"));
assert!(STAKE_VERIFICATION_KEY_TYPE.contains("ed25519"));
assert!(POOL_VERIFICATION_KEY_TYPE.contains("ed25519"));
assert!(PAYMENT_EXTENDED_VERIFICATION_KEY_TYPE.contains("bip32"));
assert!(STAKE_EXTENDED_VERIFICATION_KEY_TYPE.contains("bip32"));
assert!(VRF_VERIFICATION_KEY_TYPE.contains("PraosVRF"));
assert!(VRF_SIGNING_KEY_TYPE.contains("PraosVRF"));
assert!(KES_VERIFICATION_KEY_TYPE.contains("kes_2^6"));
assert!(KES_SIGNING_KEY_TYPE.contains("kes_2^6"));
}
}