Skip to content

feat: readable Solidity import flow - #2410

Merged
fricoben merged 2 commits into
mainfrom
fricoben/vault-ux-roadmap
Sep 15, 2026
Merged

fricoben merged 2 commits into
mainfrom
fricoben/vault-ux-roadmap

Conversation

@fricoben

Copy link
Copy Markdown
Contributor

Summary

Make the proof-only Vault Solidity import readable: Storage is now a kernel-checked structure, imported declarations populate a shared solidity_import simp set used by solidity_simp, and the importer registers a deterministic step relation so ExecutionProof.lean can state one contract-level solvent_invariant.

Changes

  • New solidity_import simp attr and library solidity_simp tactic
  • Importer elaborates Storage, tags imported decls, and registers step
  • Proofs keep exactly 7 theorems: 3 *_success_spec, 3 *_meets_spec, solvent_invariant
  • Acceptance mutations now break both success and spec theorems, plus a mint-entry solvency probe
  • Counts 337 → 336 / VaultFromSolidity 8 → 7

Spec.lean is byte-identical. No CI changes.

Verification

  • lake build Verity VaultSolidityImporter
  • lake build VaultFromSolidity
  • python3 Contracts/VaultFromSolidity/Importer/scripts/solidity_importer_test.py
  • make check

Do not merge from this PR request; review/CI only.

Make VaultFromSolidity Storage a kernel-checked structure, tag imported
declarations into solidity_import, and register a deterministic step
relation so proofs use solidity_simp and solvent_invariant.
@fricoben
fricoben requested a review from Th0rgal as a code owner September 15, 2026 11:11
@fricoben
fricoben merged commit 0a64b8a into main Sep 15, 2026
19 of 20 checks passed
@fricoben
fricoben deleted the fricoben/vault-ux-roadmap branch September 15, 2026 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant