Internal Task Handler
Overview
The InternalTaskHandler
contract on L2 is one of the core component of the Othentic AVS framework handling Internal Tasks. It is responsible for processing and executing system-level tasks that are delegated by the AttestationCenter
.
These tasks include:
Internal administrative transactions
Core Functions
getLastCommitBlockL1
function getLastCommitBlockL1() external view returns (uint256);
Returns the block number of the last committed update from L1.
getLastCommitBlockL2
function getLastCommitBlockL2() external view returns (uint256);
Returns the block number of the last committed update from L2.
attestationCenter
function attestationCenter() external view returns (IAttestationCenter);
Returns the address of the current AttestationCenter
contract.
processTask
function processTask(IAttestationCenter.TaskInfo calldata _task) external;
Processes a task from the AttestationCenter
. Based on the taskDefinitionId, the appropriate internal function is triggered:
Voting Power Sync 10001
Internal Transactions Execution 10002
Weights Update 10003
Access is restricted to the ATTESTATION_CENTER
role.
Task Handlers
votingPowerUpdate
function _votingPowerUpdate(IAttestationCenter.TaskInfo memory _task) internal;
Handles voting power sync tasks. Decodes a VotingPowerUpdate
struct and updates voting power for Operators using the OBLS contract. It also includes checks against duplicate or future block submissions.
weightsUpdate
function _weightsUpdate(IAttestationCenter.TaskInfo memory _task) internal;
Handles weight update tasks. Decodes an array of WeightUpdate
structs and emits a message via the MessageHandler
contract for cross-chain propagation.
This task normalizes validator weights according to external factors like token prices or other economic metrics.
triggerInternalTransactionsTask
function _triggerInternalTransactionsTask(IAttestationCenter.TaskInfo memory _task) private;
Processes internal OBLS-specific administrative transactions to update voting power per task for restricted operators. This is restricted only to certain method selectors on the OBLS contract.
Last updated