Assessment reports>Metavest>Threat Model>voteOnMetavestAmendment

Function: voteOnMetavestAmendment(address _grant, string _setName, byte[4] _msgSig, bool _inFavor)

This function is used to vote on the proposal.

Inputs

  • _grant

    • Control: Arbitrary.

    • Constraints: Should be a valid allocation address.

    • Impact: Address of the allocation.

  • _setName

    • Control: Arbitrary.

    • Constraints: None.

    • Impact: Name of the proposal.

  • _msgSig

    • Control: Arbitrary.

    • Constraints: None.

    • Impact: Signature of the function to vote on.

  • _inFavor

    • Control: Arbitrary.

    • Constraints: None.

    • Impact: Boolean value to determine the vote.

Branches and code coverage

Intended branches

  • Calculate the governing power of the allocation.

  • Update the vote of the proposal.

Negative behavior

  • Revert if the caller is not the grantee of the allocation.

  • Revert if the amendment is not pending.

  • Revert if the amendment is expired.

  • Revert if the allocation already voted.

Function call analysis

  • BaseAllocation(_grant).getGoverningPower()

    • What is controllable? _grant.

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

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

Zellic © 2024Back to top ↑