Assessment reports>Metavest>Threat Model>proposeMajorityMetavestAmendment

Function: proposeMajorityMetavestAmendment(string setName, byte[4] _msgSig, bytes _callData)

This function is used to propose a majority metavest amendment.

Inputs

  • setName

    • Control: Arbitrary.

    • Constraints: None.

    • Impact: Name of the set.

  • _msgSig

    • Control: Arbitrary.

    • Constraints: None.

    • Impact: Signature of the function to propose.

  • _callData

    • Control: Arbitrary.

    • Constraints: None.

    • Impact: Data to call the function.

Branches and code coverage

Intended branches

  • Update the functionToSetMajorityProposal mapping with the setName, _msgSig, and _callData.

Negative behavior

  • Revert if the caller is not the authority.

  • Revert if the majority proposal is already pending and not expired.

Function call analysis

  • BaseAllocation(this.sets[setName][i]).getGoverningPower()

    • What is controllable? setName.

    • If the return value is controllable, how is it used and how can it go wrong? Return the governing power of the allocation. It is used to calculate the totalVotingPower.

    • What happens if it reverts, reenters or does other unusual control flow? N/A.

Zellic © 2024Back to top ↑