lfglabs-dev / lfglabs-dev/verity

feat(Storage): first-class transient storage for arbitrary computed slots/locks

Open
#1,995 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Lean
Stars
148
Forks
20
Avg merge
1d 14h
Merged PRs (30d)
29

Description

Promoted from #1982 P1 to a standalone tracked issue (was previously only a roadmap bullet).

Problem

tload/tstore exist in the EDSL + Core and the synthesized nonreentrant guard (#1893), but general transient storage for arbitrary computed slots is still expressed via raw per-slot ECMs downstream. Morpho Midnight's liquidation lock requires raw transient-slot ECMs at Midnight/Contract.lean:1109–1274 (Th0rgal/morpho-verity).

Goal

  • Source-level transient variables/mappings (computed slots included) with the same typing discipline as persistent storage.
  • Interpreter semantics + proof support (transaction-scoped reset), enabling the deferred nonreentrant guard proof to land.
  • Kill the midnight_liquidation_lock_transient_* ECM cluster.

Acceptance

Midnight's liquidation lock expressible as ordinary source; trust report shows no transient-slot ECMs.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing tload/tstore support in the EDSL and Core, then inspect the raw transient-slot ECMs in Midnight/Contract.lean:1109–1274. The work is done when Midnight's liquidation lock uses ordinary source-level transient storage and the trust report contains no transient-slot ECMs.

Written by the indexing model from the issue text.

Assessment

Domain
blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.