Function: changeDisputePeriodSeconds(uint64 newDisputePeriodSeconds, uint64 nonce, ValidatorSet activeColdValidatorSet, address[] signers, Signature[] signatures)
This function can be used to change the dispute period.
Inputs
newDisputePeriodSecondsControl: Arbitrary.
Constraints: None.
Impact: New dispute period.
nonceControl: Arbitrary.
Constraints: None.
Impact: Nonce used as part of the signed hash.
activeColdValidatorSetControl: Arbitrary.
Constraints: Hash must match the current cold validator set hash.
Impact: Current active validator set --- used to validate the signatures.
signersControl: Arbitrary.
Constraints: Length must match
signatures.Impact: Addresses of the signers of the action.
signaturesControl: Arbitrary.
Constraints: Each element must be a valid signature for the corresponding address in
signers.Impact: Signatures authorizing the action.
Branches and code coverage (including function calls)
Intended branches
Checks that the same message has not already been used and that the signature is valid, then changes the dispute period.
Negative behavior
Reverts if the same message has already been used.
Reverts if the hash of the provided validator set does not match the stored one.
Reverts if a signature does not correspond with the signer.
Reverts if the signers' cumulative voting power is insufficient.
Reverts if the length of the signers and signatures do not match.
Function call analysis
rootFunction -> hash(agent)What is controllable?
agent, indirectly (some parts of the hash).If return value controllable, how is it used and how can it go wrong? Not controllable --- used to identify the transfer.
What happens if it reverts, reenters, or does other unusual control flow? Reverts and reentrancy cannot happen.
rootFunction -> checkMessageNotUsed(message)What is controllable?
message, indirectly (some parts of the hash).If return value controllable, how is it used and how can it go wrong? N/A.
What happens if it reverts, reenters, or does other unusual control flow? Reverts bubble up; reentrancy cannot happen (no external calls).
rootFunction -> checkValidatorSignatures(...)What is controllable?
message(some parts of the hash),activeColdValidatorSet,signers, andsignatures.If return value controllable, how is it used and how can it go wrong? N/A.
What happens if it reverts, reenters, or does other unusual control flow? Reverts bubble up; reentrancy cannot happen (no external calls).