Summary
CIP-0112 introduces a new Plutus script purpose, Observing, that runs a script as an observer (no direct redeemer action like spend/mint/etc.). plutigo's script context / script purpose model needs to represent this new case so CIP-0112 scripts can be evaluated once the CIP activates.
What Needs to Happen
- Extend the
ScriptPurpose / ScriptInfo surface to include an Observing case.
- Ensure the
ToData encoding matches the CBOR constructor tag defined by CIP-0112 for the target Plutus version (V4+ gated).
- Accept
Observing in the script-context builder path so downstream consumers can construct contexts for observe-purpose scripts.
- Add unit tests covering encode/decode of the new purpose.
Gating
Only emit / accept Observing for the Plutus language version that activates CIP-0112 (expected PlutusV4 under Dijkstra). Earlier versions must keep rejecting it.
Upstream tracking
References
Summary
CIP-0112 introduces a new Plutus script purpose,
Observing, that runs a script as an observer (no direct redeemer action like spend/mint/etc.). plutigo's script context / script purpose model needs to represent this new case so CIP-0112 scripts can be evaluated once the CIP activates.What Needs to Happen
ScriptPurpose/ScriptInfosurface to include anObservingcase.ToDataencoding matches the CBOR constructor tag defined by CIP-0112 for the target Plutus version (V4+ gated).Observingin the script-context builder path so downstream consumers can construct contexts for observe-purpose scripts.Gating
Only emit / accept
Observingfor the Plutus language version that activates CIP-0112 (expected PlutusV4 under Dijkstra). Earlier versions must keep rejecting it.Upstream tracking
References