pub mod audit;
pub mod claims;
pub mod error;
pub mod keys;
pub mod metrics;
pub mod multi_key;
pub mod program_read;
pub mod revocation;
pub mod solana_gateway;
pub mod token;
pub mod verifier;
pub use audit::{
auth_failure_event, auth_success_event, rate_limit_event, AuditEvent, AuditSeverity,
ChannelAuditLogger, NoOpAuditLogger, SecurityAuditEvent, SecurityAuditLogger,
};
pub use claims::{AuthContext, KeyClass, Limits, SessionClaims, TargetKind};
pub use error::{AuthError, AuthErrorCode, RetryPolicy, VerifyError};
pub use keys::{KeyLoader, SigningKey, VerifyingKey};
pub use metrics::{AuthMetrics, AuthMetricsCollector, AuthMetricsSnapshot};
pub use multi_key::{MultiKeyVerifier, MultiKeyVerifierBuilder, RotationKey};
pub use program_read::{ProgramReadAuthorization, ProgramReadAuthorizationError};
pub use revocation::{RevocationChecker, TokenRevocationList};
pub use solana_gateway::{
SolanaGatewayAuthorization, SolanaGatewayAuthorizationError, SolanaGatewayScope,
};
pub use token::{TokenError, TokenSigner, TokenVerifier};
pub use verifier::{AsyncVerifier, SimpleVerifier};
pub const PROGRAM_READ_AUDIENCE: &str = "arete:program-read";
pub const SOLANA_GATEWAY_AUDIENCE: &str = "arete:solana-gateway";
pub const SCOPE_READ: &str = "read";
pub const SCOPE_TRANSACTION_INSPECT: &str = "transaction:inspect";
pub const SCOPE_TRANSACTION_SEND: &str = "transaction:send";
pub const DEFAULT_SESSION_TTL_SECONDS: u64 = 300;
pub const DEFAULT_REFRESH_WINDOW_SECONDS: u64 = 60;