#520 is an example. Generally, modifying crates/blockchain/src/lib.rs should be preferred over modifying crates/blockchain/src/store.rs. We have this weird split between kind-of-pure stuff in store.rs and non-pure stuff on lib.rs, because store.rs is ported almost one-to-one from the spec. The spec-tests exercise only that module, and any changes to store.rs will likely impact our spec-test runner.
Another preference would be wrapping leanVM primitives inside ethlambda-crypto. This is done to centralize changes due to leanVM updates.
We can start by writing this down in a document and later expand on it with other preferences.
#520 is an example. Generally, modifying
crates/blockchain/src/lib.rsshould be preferred over modifyingcrates/blockchain/src/store.rs. We have this weird split between kind-of-pure stuff instore.rsand non-pure stuff onlib.rs, becausestore.rsis ported almost one-to-one from the spec. The spec-tests exercise only that module, and any changes tostore.rswill likely impact our spec-test runner.Another preference would be wrapping leanVM primitives inside
ethlambda-crypto. This is done to centralize changes due to leanVM updates.We can start by writing this down in a document and later expand on it with other preferences.