// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.9; /** * @title Interface for a middleware / service that may look at past stake amounts. * @author Layr Labs, Inc. * @notice Specifically, this interface is designed for services that consult stake amounts up to `BLOCK_STALE_MEASURE` * blocks in the past. This may be necessary due to, e.g., network processing & communication delays, or to avoid race conditions * that could be present with coordinating aggregate operator signatures while service operators are registering & de-registering. * @dev To clarify edge cases, the middleware can look `BLOCK_STALE_MEASURE` blocks into the past, i.e. it may trust stakes from the interval * [block.number - BLOCK_STALE_MEASURE, block.number] (specifically, *inclusive* of the block that is `BLOCK_STALE_MEASURE` before the current one) */ interface IDelayedService { /// @notice The maximum amount of blocks in the past that the service will consider stake amounts to still be 'valid'. function BLOCK_STALE_MEASURE() external view returns(uint32); }