IntersectMBO / IntersectMBO/plutus
Define PlutusV4 script context
- 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
Assessment
This issue has not been assessed yet.