0.3.2 Aug 23, 2022
0.3.1 Aug 13, 2022
0.2.1 Jul 22, 2022
0.1.6 Jul 5, 2022
0.1.4 May 23, 2022

#29 in #prover


Used in 127 crates (9 directly)

Apache-2.0

1.5MB
2.5K SLoC

Rust 1K SLoC // 0.0% comments VB6 1K SLoC Shell 171 SLoC // 0.1% comments

id: move-prover title: Formal verification code custom_edit_url: https://github.com/move-language/move/edit/main/language/move-prover/README.md

Code under this subtree is experimental. It is out of scope for the Diem Bug Bounty until it is no longer marked experimental.

The Move Prover

The Move Prover supports formal specification and verification of Move code. It can automatically prove logical properties of Move smart contracts, while providing a user experience similar to a type checker or linter. It's purpose is to make contracts more trustworthy, specifically:

  • Protect massive assets managed by the Diem blockchain from smart contract bugs
  • Protect against well-resourced adversaries
  • Anticipate justified regulator scrutiny and compliance requirements
  • Allow domain experts with mathematical background, but not necessarily software engineering background, to understand what smart contracts do

For more information, refer to the documentation:

Dependencies

~26–39MB
~624K SLoC