Skip to main content

provable_contracts/
lib.rs

1//! # `provable-contracts` — compatibility facade
2//!
3//! This crate was renamed to [`aprender-contracts`] during the APR-MONO
4//! consolidation. It stays on crates.io so existing dependents keep compiling:
5//! it re-exports the real crate's public surface verbatim and adds nothing of
6//! its own.
7//!
8//! ```toml
9//! # migrate at your convenience; no source change is needed either way
10//! aprender-contracts = "0.63"
11//! ```
12//!
13//! [`aprender-contracts`]: https://crates.io/crates/aprender-contracts
14//!
15//! # The promise, and how it is held
16//!
17//! Every path that resolved through `provable_contracts::…` at 0.3.1 resolves
18//! to the same item today. That is checked, not hoped: the 28 example programs
19//! published *inside* `provable-contracts 0.3.1` are vendored verbatim under
20//! `compat/0.3.1/` and compiled against this crate by
21//! `scripts/check_facade_compat.sh` in CI. They call into 20 of the
22//! re-exported modules by name, so a drifted *signature* — not merely a
23//! removed export — fails the build.
24//!
25//! Bound by `contracts/provable-contracts-facade-v1.yaml`.
26
27pub use upstream::*;