Skip to main content

Crate ans_types

Crate ans_types 

Source
Expand description

Shared types for the Agent Name Service (ANS) ecosystem.

This crate provides common data structures and types used across ANS crates:

  • Fqdn - Fully Qualified Domain Name validation
  • Version - Semantic versioning for ANS agents
  • AnsName - ANS URI format (e.g., ans://v1.0.0.agent.example.com)
  • Badge - Badge data from the Transparency Log API
  • CertFingerprint - SHA-256 certificate fingerprints

§Example

use ans_types::{Fqdn, AnsName, Version};

// Parse an FQDN
let fqdn = Fqdn::new("agent.example.com").unwrap();
assert_eq!(fqdn.ans_badge_name(), "_ans-badge.agent.example.com");

// Parse an ANS name
let name = AnsName::parse("ans://v1.0.0.agent.example.com").unwrap();
assert_eq!(*name.version(), Version::new(1, 0, 0));
assert_eq!(name.to_string(), "ans://v1.0.0.agent.example.com");

Re-exports§

pub use badge::AgentEvent;
pub use badge::AgentInfo;
pub use badge::Attestations;
pub use badge::Badge;
pub use badge::BadgePayload;
pub use badge::BadgeStatus;
pub use badge::CertAttestation;
pub use badge::EventType;
pub use badge::MerkleProof;
pub use badge::Producer;
pub use error::CryptoError;
pub use error::ParseError;
pub use fingerprint::CertFingerprint;
pub use types::AnsName;
pub use types::Fqdn;
pub use types::Version;

Modules§

badge
Badge data models from the Transparency Log API.
error
Error types for ANS shared types.
fingerprint
Certificate fingerprint computation and comparison.
types
Core domain types for ANS verification.