Repository navigation
Accept credential offers by package name - #6
Merged
Merged
Conversation
canton-lib's accept_credential_offer now resolves the UserService template by package name, so the accept no longer pins the package version the UserService was created with. G20Group's accept failed on mainnet for that reason. The dependency points at the canton-lib fix commit until 0.12.0 is tagged. The credentials examples drop the removed user_service_template_id field.
Member
Author
|
Two unrelated CI failures. Cargo Deny reports seven advisories published after the last green run on main (RUSTSEC-2026-0346 to 0349 and 0367 to 0369, the last three for |
cargo deny fails on rustls 0.23.45 (RUSTSEC-2026-0346 to 0349) and zip 2.4.2 (RUSTSEC-2026-0367 to 0369). rustls moves to 0.23.46 in the lockfile. zip moves to 9.0.5 through the canton-lib fix commit, which now carries that bump.
canton-lib 0.12.0 holds the package-name accept fix, so the five canton-lib pins move from the PR head rev to the v0.12.0 tag. The tag enables only the deflate feature of zip, so the lockfile drops the zip dependencies that DARs do not use. The lockfile moves rustls-webpki to 0.103.16 and webpki-root-certs to 1.0.10. RUSTSEC-2026-0382 and RUSTSEC-2026-0383 fail cargo deny on the older versions, and main fails the same way. AcceptCredentialOfferParams loses a public field, and users must pin canton-lib v0.12.0, so the release is 0.3.0. The CHANGELOG names the advisory IDs and drops the wrong advisory dates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
hubagaspar91
marked this pull request as ready for review
October 21, 2026 09:21
ksrichard
approved these changes
Oct 21, 2026
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.
What
This PR picks up the canton-lib fix from DLC-link/canton-lib#65 and cuts
bitsafe-token0.3.0.credentials::accept_credential_offerexercises the UserService by the package-name template id.AcceptCredentialOfferParamsloses itsuser_service_template_idfield. Both credentials examples drop that field.canton-libpins move totag = "v0.12.0". The README pin moves with them.CHANGELOG.mdsection and the README install tag move to 0.3.0.Why
G20Group ran the
beth_credentialsexample on mainnet, and the accept failed withINVALID_PRESCRIBED_SYNCHRONIZER_ID. The example passed the UserService created-event template id into the accept call, as the old API asked. That id pins theutility-credential-app-v0version that the UserService was created with. In their case, that version is 0.1.0. bitsafe-validator-1 vets only 0.2.2 and later. The package-name form resolves to a version that every host vets.Lockfile
Each lockfile change has one of these causes:
canton-libcrates move to 0.12.0. canton-lib 0.12.0 moveszipto 9.0.5 and enables only its deflate feature. So the lockfile drops about twentyzipdependencies that DARs do not use.rustlsto 0.23.46,rustls-webpkito 0.103.16 andwebpki-root-certsto 1.0.10. Without these moves,cargo deny check advisoriesfails.mainfails the same way today.The
CHANGELOG.mdSecurity section names each advisory that these moves close.Key decisions
AcceptCredentialOfferParams. A project that also depends on acanton-libcrate must pinv0.12.0. Both changes can break a build, so the minor version moves.How tested
cargo fmt -- --checkandcargo clippy --all-targets --all-features -- -D warningsare clean.cargo build --examplescompiles both credentials examples against canton-lib 0.12.0.cargo test: 114 passed, 8 ignored. The ignored tests need a live ledger.cargo deny check advisoriespasses.After the merge
Push the
v0.3.0tag on the merge commit and create the GitHub release. If the merge happens after 2026-10-21, update the date inCHANGELOG.mdfirst.🤖 Generated with Claude Code