Skip to content

Commit

Permalink
Proving Schedule interface
Browse files Browse the repository at this point in the history
  • Loading branch information
ZenGround0 committed Dec 3, 2024
1 parent ef3976d commit 5b12b33
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions src/IPDPProvingSchedule.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.20;

/// @title IPDPProvingWindow
/// @notice Interface for PDP Service SLA specifications
interface IPDPProvingSchedule {
/// @notice Returns the number of epochs allowed before challenges must be resampled
/// @return Maximum proving period in epochs
function getMaxProvingPeriod() external pure returns (uint64);

/// @notice Returns the number of epochs at the end of a proving period during which proofs can be submitted
/// @return Challenge window size in epochs
function challengeWindow() external pure returns (uint256);

/// @notice Calculates the start of the next challenge window for a given proof set
/// @param setId The ID of the proof set
/// @return The block number when the next challenge window starts
function nextChallengeWindowStart(uint256 setId) external view returns (uint256);

/// @notice Returns the required number of challenges/merkle inclusion proofs per proof set
/// @return Number of challenges required per proof
function getChallengesPerProof() external pure returns (uint64);
}

0 comments on commit 5b12b33

Please sign in to comment.