-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Background
The project previously had UPLC pretty-printing functionality via pretty-uplc script that used the plutus or uplc executables from the Plutus repository.
This functionality was removed because:
- Current Plutus pin (ba16ec68d3, Release 1.45.0.0) only exports musl64 executables
- Musl executables require building Agda, which is unacceptable for dev shell
- We can't upgrade Plutus beyond what's used in the latest cardano-node release
Task
Restore UPLC pretty-printing in treefmt when a newer Plutus version becomes available that:
- Exports non-musl
plutusoruplcexecutables - Is used by the latest cardano-node release
- Works on both Linux and Darwin platforms
Implementation
- Update Plutus pin in
flake.nixto the newer version - Add
plutusoruplcexecutable to dev shell buildInputs - Restore
pretty-uplcscript inflake.nix - Re-enable UPLC formatter in
treefmt.toml
References
- Plutus repository: https://github.com/IntersectMBO/plutus
- Cardano-node releases: https://github.com/IntersectMBO/cardano-node/releases
- UPLC print command:
uplc print --if textual -i <file> -o <output>
Acceptance Criteria
- UPLC files are automatically pretty-printed by treefmt
- Works on both Linux and Darwin
- Does not require building Agda in dev shell
- Compatible with Plutus version used in latest cardano-node release
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request