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
plutus or uplc executables
- Is used by the latest cardano-node release
- Works on both Linux and Darwin platforms
Implementation
- Update Plutus pin in
flake.nix to the newer version
- Add
plutus or uplc executable to dev shell buildInputs
- Restore
pretty-uplc script in flake.nix
- Re-enable UPLC formatter in
treefmt.toml
References
Acceptance Criteria
Background
The project previously had UPLC pretty-printing functionality via
pretty-uplcscript that used theplutusoruplcexecutables from the Plutus repository.This functionality was removed because:
Task
Restore UPLC pretty-printing in treefmt when a newer Plutus version becomes available that:
plutusoruplcexecutablesImplementation
flake.nixto the newer versionplutusoruplcexecutable to dev shell buildInputspretty-uplcscript inflake.nixtreefmt.tomlReferences
uplc print --if textual -i <file> -o <output>Acceptance Criteria