Othentic Registry
Last updated
Last updated
The Othentic Registry is a singleton smart contract on L1 that facilitates the integration with shared security protocols and AVSs. The contract manages the registration and interacts with key components such as the Slasher, Delegation Manager, and Strategy Manager.
The Othentic registry contract is deployed on the following L1 chains.
Integration with shared security protocol (EigenLayer) interfaces
The contract uses multiple interfaces (ISlasher
, IDelegationManager
, IStrategy
, etc.) to manage staking, delegation, and tracking shares for operators and strategies.
Slashing and Freezing Operators can be slashed or frozen based on governance decisions.
Strategy Lookup A multi-chain-aware strategy lookup system is built in, supporting Ethereum mainnet and specific testnets.
Dynamic Voting Power Consensus In the shared security environment, the Operator's voting power is dynamic and proportional to the amount of re-stake assets locked on Layer 1. The Othentic Registry contract calculates each operator's voting power across multiple shared security protocols, such as EigenLayer and Babylon.
registerAvs: Registers an AVS governance.
_avsName
string (memory)
Name of the AVS
approveAvs: Approves an AVS governance and assigns it an ID.
_avsGovernance
address
AVS governance contract
getAvsGovernance: Retrieves governance address by ID.
_id
uint256
AVS governance Id
getAvsGovernanceId: Retrieves governance ID by address
_avsGovernance
address
AVS governance address
getDefaultStrategies: Returns default strategies based on the chain ID (Mainnet, EigenLayer testnet, or Hardhat testnet).
_chainid
uint256
Chain Id
freezeOperator: This function freezes a misbehaving operator and emits OperatorFreezed
event (requires AVS governance permissions). The Othentic registry uses Slasher
contract to freeze operators.
_operator
address
Operator address
The Othentic registry relies on the DelegationManager
contract to manage operator shares and voting power. Here’s a detailed explanation of the relevant functions:
numOfShares: Gets operator shares for a specific strategy.
_operator
address
Operator address
_strategy
IStrategy
Strategy address
getVotingPower: Calculates voting power based on assigned shares and multipliers.
_operator
address
Operator address
_strategyMultipliers
StrategyMultiplier[]
Strategy multiplier
isValidNumOfShares: Verifies if an operator has the required minimum shares for given strategies.
_operator
address
Operator address
_minSharesPerStrategyList
StrategyShares[]
Strategy shares
getOperatorRestakedStrategies: This function returns a list of all strategies of operator's (re)staked shares.
_operator
address
Operator address
_allStrategies
address[]
Strategy addresses