Skip to content

Make time checks work again #92

Open
@uhbif19

Description

@uhbif19

Stages was removed in M4 for number of reasons.

API wise:

  1. Turns out timing constraints can depend on state, so Stages cannot be used to implement for example vesting
  2. They complicate CEMScript class and in conversations it seem to be an issue for understanding API

Implementation wise:

  1. Plutus has problems with nested type families, needs hacks to work with that
  2. Without Stages now user can completely remove Plutus compilation step (if they want to).
  3. Probably would increase script size and in general bring different compilation path/API from all other constraints

Proposed solution:

  1. Create new CheckInterval constraint. Enforce single such constraint per transition.
  2. One could add String names to them, to discover "Stage of Transition"-like labels on state graph , if one wants to.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions