IntersectMBO / IntersectMBO/plutus

Define PlutusV4 script context

Open
#7,342 66 comments 0 reactions 0 assignees View on GitHub
status: triaged
Dominant language
Haskell
Stars
1.6k
Forks
508
Avg merge
3d 10h
Merged PRs (30d)
22

Description

This ticket is created to track progress on PlutusV4 context that will include at least two CIPs:
* [CIP-112 - Observe script type](https://github.com/cardano-foundation/CIPs/pull/749)
* [CIP-118 - Nested Transactions](https://github.com/cardano-foundation/CIPs/pull/862)

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`: https://github.com/IntersectMBO/plutus/blob/fa5c9e64ec395661eff8f6a5ce3d784e1100833c/plutus-ledger-api/src/PlutusLedgerApi/Common/Versions.hs#L89-L92
* [ ] - 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 https://github.com/IntersectMBO/cardano-ledger/issues/4832 for reference
* [ ] - CIP-118 related parts added to TxInfo. See this https://github.com/IntersectMBO/plutus/issues/7342#issuecomment-4799132923 and this https://github.com/IntersectMBO/plutus/issues/7342#issuecomment-4852267096

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.