PAS is a governance framework for managing rate-limited operations through authorized actors called cBeams. It provides timelocked proposal execution, configurable rate limits, and role-based access control for interacting with external controllers.
Central registry that manages system configuration and access control. Stores which cBeams are authorized to operate on which rate limit contracts and controllers, defines default rate limits and allowed controller actions, and configures parameters like hop (minimum time between increases) and maxChange (maximum rate of change). Supports role-based permissions with actions split between timelocked and direct access.
The operational interface used by cBeams to modify rate limits and execute controller actions. Enforces that rate limit changes respect the configured ceilings and requires waiting for hop between increases. Also gates controller calls through pre-approved action hashes stored in BeamState.
Extended OpenZeppelin TimelockController with pausing support, permissionless execution, and operation tracking for keeper integration. Disables self-calls to prevent proposals from modifying admin settings.
Convenience contract for proposers to schedule batched BeamState configuration changes through the timelock. Provides type-safe wrappers for common operations like adding rate limits, controllers, cBeams, and their initial configurations. Authorized users (buds) can schedule proposals that execute after the timelock delay.
Variant of the timelock wrapper for foreign (non-mainnet) chain deployments.
Emergency governance contract that allows authorized parties to trigger circuit breakers. Can call stop() on BeamState to halt Configurator operations and pause() on Timelock to block scheduling and execution. Callable by the owner or via the Chief's hat through the authority.