Repository navigation
Allow selecting Zcash registry codecs without unrelated formats - #143
Open
ValarDragon wants to merge 2 commits into
Open
ValarDragon wants to merge 2 commits into
ValarDragon wants to merge 2 commits into
Conversation
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.
ur-registrycompiles every chain format and its protobuf, compression, and UR encoder dependencies even when a consumer uses only the Zcash CBOR codecs. Add opt-in format selection while preserving existing configurations.Existing
core(including the default) andstdselections still enable the full registry API. The newstd-base+zcashconfiguration builds only common registry support and the original Zcash codecs;ur-encoderadds the optional encoding convenience trait. Feature unions remain additive: a consumer requestingstd,core, orall-chainsrestores the full API.core-baseprovides the corresponding no-std support without selecting all formats.The Zcash codec implementations and wire encodings are unchanged. CI now runs the minimal and legacy std configurations in addition to the existing workspace tests. Public API changes are the five new features (
core-base,std-base,all-chains,zcash,ur-encoder) and format/UR-trait availability in the new restricted configurations; existing configurations retain their public modules and trait implementations.Validation with Rust 1.98.0:
std-base,zcash: 65 tests passed.--no-default-features --features std: 161 tests passed.std: 161 tests passed.std-base,zcash,ur-encoder: library check passed.ur-registry-ffiwithur-registry/std: check passed.git diff --checkpassed.Consumer diagnostics on the unchanged 1.0.5 Zcash codec backport remove 12 transitive runtime packages and two build-only packages. Its library LLVM IR falls from 225,245 to 20,713 lines. These measurements describe the downstream backport, not an upstream workspace-wide performance claim.
This is independent of #142, which removes the existing unused
prost-builddeclaration.