Skip to content

Define PlutusV4 script context #7342

@lehins

Description

@lehins

This ticket is created to track progress on PlutusV4 context that will include at least two CIPs:

Considering that CIP-112 will be required for CIP-118 it makes sense to start with it first.

  • - Define PlutusV4 version in plutus-ledger-api:
    data PlutusLedgerLanguage =
    PlutusV1 -- ^ introduced in Alonzo HF
    | PlutusV2 -- ^ introduced in Vasil HF
    | PlutusV3 -- ^ introduced in Chang HF
  • - Create V4 in plutus-ledger-api:PlutusLedgerApi that reuses as much stuff from V1-V3 as possible
  • - Define TxInfo for PlutusV4
  • - Add txInfoGuards :: [Credential] to TxInfo for PlutusV4 field and remove txInfoSignatories, since former supersedes the latter (Note that we will be using the term Guards in the implementation instead of Observers as CIP-112. CC @colll78 if you are still up to renaming the CIP to avoid confusion)
  • - Add Guarding script purpose
  • - Remove PointerAddress case for PlutusV4. See Fail PlutusV4 TxInfo translation when a Ptr is present in any of the outputs cardano-ledger#4832 for reference
  • - TBD: CIP-118 related parts added to TxInfo.

I'd recommend creating a child ticket for each of the bullet points, so the progress can be tracked at more granular level, but I'll leave this up to the Plutus team.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions