[Feature] Use lock files to determine when depdencies change when switching networks.
^
This came up again recently while working on dependency documentation (https://github.com/ProvableHQ/leo-docs-source/pull/556) and the edition handling PR (https://github.com/ProvableHQ/leo/pull/29027).
The leo.lock infrastructure exists (files get created, error types defined) but doesn't appear to be populated - all lock files I checked are just package = [].
Currently, if you don't manually specify an edition via leo add some_program.aleo --edition 3, Leo fetches the latest edition at build time. Two developers building the same project at different times could get different editions - no automatic pinning happens.
A Cargo.lock-style approach would solve this:
- Auto-record resolved editions in
leo.lockon first build - Subsequent builds use the locked editions
- Users don't need to think about it unless they explicitly want to update
Would help with reproducible builds and avoid surprises when dependencies get upgraded on-chain.
CC @vicsn @mitchmindtree