bump version to 0.2.3 and source snarkVM from crates.io - #31
Merged
Conversation
snarkVM 4.9.0 is now published on crates.io, so replace the git tag pin with a registry dependency. The feature list is unchanged; all five features the devnode uses are available on the registry release. Note this moves the build from the testnet-v4.9.0 tag to the plain v4.9.0 tag, two commits ahead. The only functional difference is MAINNET_V0_CONSENSUS_VERSION_HEIGHTS setting V18 to height 20794000, which the devnode never reads since it uses TEST_CONSENSUS_VERSION_HEIGHTS.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
snarkVM 4.9.0 is now published on crates.io, so the git tag pin is no longer necessary. This replaces it with a plain registry dependency and bumps the devnode to 0.2.3.
Sourcing from the registry means
Cargo.lockcarries a checksum instead of a git revision, builds no longer need to clone snarkVM, and the dependency is resolvable by anyone consuming the crate normally.The feature list is unchanged — all five features the devnode relies on (
rocks,test_consensus_heights,dev_skip_checks,test_targets,history) are available on the registry release.One behavioral note for reviewers
This does change which upstream commit gets built. The old pin
testnet-v4.9.0isdd9ab06; the crates.io release corresponds to the plainv4.9.0tag,8902106, which is two commits ahead. Those commits are "Run extended CI" (CircleCI config only) and "Set mainnet ConsensusVersion::V18", whose entire functional diff is one line inconsole/network/src/consensus_heights.rs:That constant is
MAINNET_V0_CONSENSUS_VERSION_HEIGHTS. The devnode only ever readsTEST_CONSENSUS_VERSION_HEIGHTS(src/start.rs:142, for the startup advance to the latest consensus version), so devnode behavior is unaffected.Test Plan
cargo test --lockedpasses in full — 9 tests, cargo exit 0:start::tests(private key resolution)test_missing_private_key,test_snapshot_create_and_list,test_start_and_advance,test_auto_advance_to_consensus_version,test_persistent_storage,test_snapshot_restoretest_auto_advance_to_consensus_versionis the one that directly exercises the consensus-heights path discussed above, and it passes.Also verified:
ProvableHQ/snarkVMgit reference remains inCargo.lock; everysnarkvm-*crate now resolves toregistry+https://github.com/rust-lang/crates.io-indexwith a checksum.v0.2.3tag will satisfy the release workflow's guard, which compares the tag against theCargo.tomlversion.Not addressed here:
cargo fmt --all -- --checkreports a pre-existing diff insrc/start.rsimports, becauserustfmt.tomlsets nightly-only options (imports_granularity,imports_layout, and two others) that stable rustfmt ignores. It reproduces onmainand is unrelated to this change, so it's left alone rather than reformatted against the intended nightly style.Related PRs