exo_authority/lib.rs
1// Copyright 2026 Exochain Foundation
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at:
6//
7// https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// SPDX-License-Identifier: Apache-2.0
16
17//! EXOCHAIN Authority Chain Verification and Delegation Management
18//!
19//! Authority chains track the delegation of permissions from root to leaf.
20//! Scope can only narrow through delegation, never widen.
21
22#![cfg_attr(test, allow(clippy::expect_used, clippy::unwrap_used))]
23
24pub mod cache;
25pub mod chain;
26pub mod delegation;
27pub mod error;
28pub mod permission;
29
30pub use cache::ChainCache;
31pub use chain::{AuthorityChain, AuthorityLink, DelegateeKind};
32pub use delegation::{
33 AuthorityRevocation, DelegationAuditAction, DelegationAuditEvent, DelegationRegistry,
34 DelegationRevocationGrant,
35};
36pub use error::AuthorityError;
37pub use permission::{Permission, PermissionSet};