Internal Tasks
Last updated
Last updated
Internal Tasks are consensus-based tasks for internal maintenance of the AVS network.
Each internal task is uniquely identified and configured with a specific task definition ID.
These tasks are scheduled based on a specified frequency, which can vary depending on the operational requirements.
The execution of internal tasks is facilitated by the same operator set and consensus engine used by the AVS, ensuring that they adhere to the same standards of execution and validation as other AVS Tasks.
Whenever an internal task is executed, a proof of task is generated. The generated proof, along with task execution data, is broadcasted internally to the P2P network. Attesters validate the execution by verifying the proof and recalculating expected outcomes.
This robust framework allows you to concentrate on core business logic while maintaining operational efficiency in a decentralized environment.
Internal tasks are executed by Aggregator nodes when the --internal-tasks
option is enabled.
A specialized internal task VotingPowerSyncTask
for synchronizing voting power updates and is registered as an internal task with the task definition ID 10001
.
Use the --sync-interval <syncInterval in milliseconds>
flag to configure synchronization intervals. For example, --sync-interval 5400000
sets the interval to 1 hour and 30 minutes (equivalent to 5,400,000 milliseconds).
Voting Power Calculation and Syncing Logic
The Voting Power Calculator is responsible for calculating the voting power of operators across Layer 1 (L1) and Layer 2 (L2) blockchains. The task logic contains fetching the voting power from both chains, computing the difference, identifying operators whose voting power has either increased or decreased.
Periodic scheduling of the voting power synchronization process.
Validation of proposed voting power updates against recalculated values.
Broadcasting results through the P2P framework.
The task logs important events, including scheduling, execution, and validation results, to facilitate debugging and monitoring.
Errors encountered during execution are logged using the Logger
service.
Validation errors are handled by comparing calculated and proposed values.