Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

AccessControlBaseAssertion

Git Source

Inherits: Assertion

Title: AccessControlBaseAssertion

Author: Phylax Systems

Base contract for access-control assertions (V2 syntax).

Provides the protected target address and shared helpers for the access-control suite. Inherit from this (and one or more invariant contracts), then implement triggers(). Each inherited mixin must have its _register*Triggers() helper called explicitly; forgetting one disables that mixin’s check without a runtime warning. Example – combine slot protection and balance conservation:

contract MyProtocolGuard is SlotProtectionAssertion, BalanceConservationAssertion {
constructor(address _target)
AccessControlBaseAssertion(_target)
{}
function _protectedSlots() internal pure override returns (bytes32[] memory) { ... }
function _conservedBalances() internal view override returns (ConservedBalance[] memory) { ... }
function triggers() external view override {
_registerSlotProtectionTriggers();
_registerBalanceConservationTriggers();
}
}

Constants

target

The contract whose access control is being protected (assertion adopter).

address internal immutable target

Functions

constructor

constructor(address _target) ;