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:


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:

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