IntersectMBO / antaeus

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

Test PlutusV3's txInfoTxCert #46

Open catch-21 opened 1 year ago

catch-21 commented 1 year ago

Before all other tests, run a test that checks each registration certificate in PlutusV3's TxInfo and leaves at least two SPOs and DReps registered for voting in subsequent tests.

    • [ ] Build tx to register staking credential (low priority)
      • [ ] Check ScriptPurpose is Certifying
      • [ ] Check TxCertRegStaking

    • [ ] Build tx to delegate staking credential to SPO (low priority)
      • [ ] Check ScriptPurpose is Certifying
      • [ ] Check TxCertDelegStaking with DelegStake PubKeyHash

    • [ ] Build tx to register staking credential whilst delegating to SPO (low priority)
      • [ ] Check ScriptPurpose is Certifying
      • [ ] Check TxCertRegDeleg with DelegStake PubKeyHash

    • [ ] Build a tx to register DRep with an anchor
      • [ ] Check ScriptPurpose is Certifying
      • [ ] Check TxCertRegDRep with Just Anchor
    • [ ] Submit tx so that at least one DRep is registered for subsequent tests

    • [ ] Build a tx to register DRep without an anchor
      • [ ] Check TxCertRegDRep with Nothing

    • [ ] Build tx to update DRep anchor to some other value
      • [ ] Check ScriptPurpose is Certifying
      • [ ] Check TxCertUpdateDRep with Just Anchor

    • [ ] Build tx to update DRep anchor to have no value
      • [ ] Check TxCertUpdateDRep with Nothing

    • [ ] Build tx to authorise hot credential for committee member’s cold credential
      • [ ] Check ScriptPurpose is Certifying
      • [ ] Check TxCertAuthHotCommittee

    • [ ] Build tx to authorise hot credential for committee member’s cold credential
      • [ ] Check ScriptPurpose is Certifying
      • [ ] Check TxCertResignColdCommittee

    • [ ] Build tx to delegate staking credential to DRep
      • [ ] Check ScriptPurpose is Certifying
      • [ ] Check TxCertDelegStaking with DelegVote DRep

    • [ ] Build tx to register staking credential whilst delegating to DRep
      • [ ] Check ScriptPurpose is Certifying
      • [ ] Check TxCertRegDeleg with DelegVote DRep

    • [ ] Try some combination of the above and confirm that txInfoTxCert correctly contains multiple TxCert

    • [ ] After all tests, build tx to unregister DRep
      • [ ] Check ScriptPurpose is Certifying
      • [ ] Check TxCertUnRegDRep with refund value