IntersectMBO / antaeus

Cardano end-to-end testing framework for Haskell APIs
10 stars 2 forks source link

Test PlutusV3's txInfoProposalProcedures and txInfoVotingProcedures for NewConstitution #47

Open catch-21 opened 1 year ago

catch-21 commented 1 year ago

Add a new test that checks each registration certificate in PlutusV3's TxInfo.

    • [ ] (optional) Query constitution and confirm anchor and hash match conway genesis

    • [ ] Build tx with initial constitution proposal with proposal policy
      • [ ] Check ScriptPurpose is Proposing (only for Constitution?)
      • [ ] Check txInfoProposalProcedures for correct ppDeposit, ppAnchor, ppReturnAddr and NewConstitution GovernanceAction for:
      • [ ] Blake2b_256 constitutionHash
      • [ ] Check constitutionScript is Just ScriptHash

    • [ ] Build tx with initial constitution proposal without proposal policy
      • [ ] Check constitutionScript is Nothing

    • [ ] Submit one of the above txs to allow for voting to take place

    • [ ] Build tx with a mix of Yes, No, Abstain votes as CC, DRep and SPO
      • [ ] Check ScriptPurpose is Voting
      • [ ] Check txInfoVotingProcedures for correct mapping of Voter credentials to GovernanceActionId and VotingProcedure for each voter
      • [ ] Check GovernanceActionId’s gaidTxId and gaidGovActionIx
      • [ ] Check VotingProcedure with vpAnchor is Nothing
      • [ ] Check VotingProcedure with vpAnchor is Just Anchor
      • [ ] Check VotingProcedure with VoteNo
      • [ ] Check VotingProcedure with VoteYes
      • [ ] Check VotingProcedure with Abstain

    • [ ] Submit voting tx and prove mint with onchain verification.

    • [ ] (optional) Wait for next epoch and query for new constitution