[marketplace, proofs] simplify proofTimeout getter
This commit is contained in:
parent
6aa76257f8
commit
de368708b2
|
@ -308,10 +308,6 @@ contract Marketplace is Collateral, Proofs, StateRetrieval {
|
||||||
return secondsPerPeriod;
|
return secondsPerPeriod;
|
||||||
}
|
}
|
||||||
|
|
||||||
function proofTimeout() public view returns (uint256) {
|
|
||||||
return _timeout();
|
|
||||||
}
|
|
||||||
|
|
||||||
function proofEnd(SlotId slotId) public view override returns (uint256) {
|
function proofEnd(SlotId slotId) public view override returns (uint256) {
|
||||||
return requestEnd(_slot(slotId).requestId);
|
return requestEnd(_slot(slotId).requestId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@ import "./Requests.sol";
|
||||||
import "./Periods.sol";
|
import "./Periods.sol";
|
||||||
|
|
||||||
abstract contract Proofs is Periods {
|
abstract contract Proofs is Periods {
|
||||||
uint256 private immutable timeout;
|
uint256 public immutable proofTimeout;
|
||||||
uint8 private immutable downtime;
|
uint8 private immutable downtime;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
|
@ -14,7 +14,7 @@ abstract contract Proofs is Periods {
|
||||||
uint8 __downtime
|
uint8 __downtime
|
||||||
) Periods(__period) {
|
) Periods(__period) {
|
||||||
require(block.number > 256, "Insufficient block height");
|
require(block.number > 256, "Insufficient block height");
|
||||||
timeout = __timeout;
|
proofTimeout = __timeout;
|
||||||
downtime = __downtime;
|
downtime = __downtime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,10 +25,6 @@ abstract contract Proofs is Periods {
|
||||||
mapping(SlotId => mapping(Period => bool)) private received;
|
mapping(SlotId => mapping(Period => bool)) private received;
|
||||||
mapping(SlotId => mapping(Period => bool)) private missing;
|
mapping(SlotId => mapping(Period => bool)) private missing;
|
||||||
|
|
||||||
function _timeout() internal view returns (uint256) {
|
|
||||||
return timeout;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Override this to let the proving system know when proofs for a
|
// Override this to let the proving system know when proofs for a
|
||||||
// slot are no longer required.
|
// slot are no longer required.
|
||||||
function proofEnd(SlotId id) public view virtual returns (uint256);
|
function proofEnd(SlotId id) public view virtual returns (uint256);
|
||||||
|
@ -130,7 +126,7 @@ abstract contract Proofs is Periods {
|
||||||
function _markProofAsMissing(SlotId id, Period missedPeriod) internal {
|
function _markProofAsMissing(SlotId id, Period missedPeriod) internal {
|
||||||
uint256 periodEnd = periodEnd(missedPeriod);
|
uint256 periodEnd = periodEnd(missedPeriod);
|
||||||
require(periodEnd < block.timestamp, "Period has not ended yet");
|
require(periodEnd < block.timestamp, "Period has not ended yet");
|
||||||
require(block.timestamp < periodEnd + timeout, "Validation timed out");
|
require(block.timestamp < periodEnd + proofTimeout, "Validation timed out");
|
||||||
require(!received[id][missedPeriod], "Proof was submitted, not missing");
|
require(!received[id][missedPeriod], "Proof was submitted, not missing");
|
||||||
require(_isProofRequired(id, missedPeriod), "Proof was not required");
|
require(_isProofRequired(id, missedPeriod), "Proof was not required");
|
||||||
require(!missing[id][missedPeriod], "Proof already marked as missing");
|
require(!missing[id][missedPeriod], "Proof already marked as missing");
|
||||||
|
|
|
@ -22,10 +22,6 @@ contract TestProofs is Proofs {
|
||||||
return ends[slotId];
|
return ends[slotId];
|
||||||
}
|
}
|
||||||
|
|
||||||
function timeout() public view returns (uint256) {
|
|
||||||
return _timeout();
|
|
||||||
}
|
|
||||||
|
|
||||||
function startRequiringProofs(SlotId slot, uint256 _probability) public {
|
function startRequiringProofs(SlotId slot, uint256 _probability) public {
|
||||||
_startRequiringProofs(slot, _probability);
|
_startRequiringProofs(slot, _probability);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue