Repository navigation
chore!: remove libid-attestations, the builders for removed contracts - #6
Merged
xgreenx merged 2 commits intoSep 8, 2026
Merged
Conversation
Every digest this crate builds mirrors a Solidity routine that no longer exists. libid-contracts#21 removed the legacy login and transfer stack, so `_verifyNotarySignature`, `JwksOracle`, `XZkVerifier` and the registry identity hash are gone from that repository's main -- and the tests here named `token_attest_digest_matches_solidity` and `me_attest_digest_matches_solidity` have no Solidity left to match. Nothing in this workspace uses it. Its last consumer is the notary's JWKS path, which libid-org/notary#7 drops by making the JWKS reading an ordinary notarized session verified through `NotaryService`. The notary branches that still call it pin a fixed revision of this repository, so they resolve against a tree that still carries the crate; only a pin moved past this commit needs #7 first. The two backends that call `compute_notary_digest` pin the v0.1.0 and v0.2.0 release tags and are untouched. Those published versions stay on crates.io; there is simply no 0.3.0 of this crate. `libid-ceremony` now holds the one byte layout a Solidity decoder has to agree with, and libid-crypto's doc line points there instead. Assisted-by: Claude Opus 5 Signed-off-by: xgreenx <xgreenx9999@gmail.com>
Removing a crate is half of it. The manifests, the README and the publish
lists still describe a workspace that is two crates and three types out of
date, and none of that is checked by anything:
* `libid-transcript` keeps a `ts` feature and an optional `ts-rs`
dependency. Every `ts_rs::TS` derive went with `EvmProof`, so
`--features ts` now compiles ts-rs and derives nothing. No consumer
enables it, so this is weight rather than breakage.
* Its `description` -- the string crates.io shows -- still advertises "the
EvmProof/NotaryResponse proof types". Both were deleted. `TlsHandshakeData`
survives and `AttestationWire` is new, so the description names those.
* The README table has no `libid-ceremony` row, its feature-flag section
documents the derive that no longer exists, and its usage sketch builds an
`EvmProof`.
* `libid-ceremony` carries no `publish = false`, and was in neither
`publish-crates.sh` nor the publish dry-run. A publishable crate that
nothing publishes is a v0.3.0 that ships an incomplete workspace. It goes
after `libid-crypto`, which it depends on.
Its description also called the record "the section 9.1 types". Section 9.1 is
attestation verification and its fee; the layout is the profile's under
REQ-COMMON-18, as the sibling PR spells out.
Verified with the dry-run in the batch form CI uses -- all four crates pack
and rebuild from the packaged tarball.
Assisted-by: Claude Opus 5
Signed-off-by: xgreenx <xgreenx9999@gmail.com>
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.
Stacked on #2 (
feat/ceremony-constructions). Two commits.1.
libid-attestationsgoesIt builds digests for Solidity that is no longer there. libid-contracts#21 removed the legacy login and transfer stack:
_verifyNotarySignature,JwksOracle,XZkVerifierand the registry identity hash are all gone fromlibid-contractsmain. The crate's own tests are namedtoken_attest_digest_matches_solidityandme_attest_digest_matches_solidity, and there is no Solidity left for them to match — they now pin one Rust implementation against another Rust expectation.Nothing in this workspace uses it. The only in-repo mention was a doc line in
libid-crypto, which now points atlibid-ceremony.Ordering. Its last consumer is the notary's JWKS path (
src/jwks/mock.rs,src/jwks/notary.rsonmain, #3 and #6). libid-org/notary#7 removes that usage by making the JWKS reading an ordinary notarized session verified throughNotaryService. Those branches pin a fixed revision of this repository, so they keep resolving against a tree that still has the crate; only a pin moved past this commit needs #7 in first.Consumers outside the stack are unaffected.
identity-backendandhandles-backendcallcompute_notary_digestbut pin thev0.2.0andv0.1.0release tags. Those published versions stay on crates.io — this just means there is no0.3.0of the crate.2. The release surface follows the code
Removing a crate is half of it. The manifests, the README and the publish lists still described a workspace two crates and three types out of date, and nothing checks any of it:
libid-transcriptkept atsfeature and an optionalts-rsdependency. Everyts_rs::TSderive went withEvmProof, so--features tscompiled ts-rs and derived nothing. No consumer enables it, so this was weight rather than breakage.description— the string crates.io shows — still advertised "the EvmProof/NotaryResponse proof types". Both were deleted in feat: the ceremony wire constructions — digest, PKCE, attested data, reveal layouts #2.TlsHandshakeDatasurvives andAttestationWireis new; the description names those.libid-ceremonyrow, documented the derive that no longer exists, and its usage sketch built anEvmProof.libid-ceremonycarries nopublish = falseand was in neitherpublish-crates.shnor the publish dry-run. A publishable crate nothing publishes is a v0.3.0 that ships an incomplete workspace. It goes afterlibid-crypto, which it depends on.libid-ceremony's description also called the record "the section 9.1 types"; §9.1 is attestation verification and its fee, as #7 spells out.Verification
cargo +nightly fmt --all -- --checkcargo clippy --workspace --all-targets -- -D warningscargo test --workspace— 93 passedcargo publish --dry-run -p libid-crypto -p libid-transcript -p libid-ceremony -p libid-signer— all four pack and rebuild from the packaged tarballSiblings
#7 (requirement citations) and #8 (reveal layouts) sit on the same base and touch different files.