webvh-e2e: full-flow fixes, POST logging, BCVH explorer links#1916
Merged
PatStLouis merged 11 commits intomainfrom Apr 2, 2026
Merged
webvh-e2e: full-flow fixes, POST logging, BCVH explorer links#1916PatStLouis merged 11 commits intomainfrom
PatStLouis merged 11 commits intomainfrom
Conversation
- Publish AnonCreds schema + cred-def with revocation (default registry size 4) - Connect issuer/holder via OOB + DID Exchange 1.1 using public did:webvh - Issue credential (issue-credential-2.0), present-proof with non-revocation check, anoncreds revoke (publish), second proof expecting failure - Add polling helper, extend Context and TractionClient; document env vars Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca> Made-with: Cursor
…inks - Log all POST JSON bodies from TractionClient; optional sanitized WebVH logs - Issue/issuer polling: unwrap cred_ex_record; holder list row parsing - Revoke: rev_reg_id+cred_rev_id from exchange, notify false by default (env override) - Verify: anoncreds pres spec for send-presentation via credentials lookup - Quieter HTTP response logging at INFO; debug with -v - BCVH resources explorer URL in run summary (helpers) - README: env vars, logging, sample resources link Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca> Made-with: Cursor
… helpers - Remove log_request flag; _post_json always logs, optional log_payload for redacted view - post_did_webvh_configuration logs sanitized body via helpers.sanitized_webvh_config_for_log - Drop duplicate configure request log from webvh phase Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca> Made-with: Cursor
Phases import poll_until from helpers alongside other harness utilities. Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca> Made-with: Cursor
Replace WEBVH_E2E_* and wallet-upgrade env readers with module-level constants. README and .env.example drop the optional E2E env list; point operators at e2e_constants.py for schema, polling, and revoke flags. Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca> Made-with: Cursor
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca> Made-with: Cursor
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca> Made-with: Cursor
…ault
Avoid default json_body={} (shared dict across calls). Coerce None to a
fresh {} inside _post_json; send-presentation passes body through.
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Made-with: Cursor
_post_json always logs the JSON body sent. Only configure needs a different log view; handle sanitized_webvh_config_for_log there. Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca> Made-with: Cursor
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca> Made-with: Cursor
…_core - Move v20_cred_ex_record_core to helpers; issue phase imports it - Revoke tries outer V20 detail then cred_ex_record core for rev ids - README: note sensitive POST bodies at INFO; align holder token error text - verify: comment on first-match holder pres_ex selection Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca> Made-with: Cursor
jamshale
approved these changes
Apr 2, 2026
Contributor
jamshale
left a comment
There was a problem hiding this comment.
I just scanned through this and it looks good to me.
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.
Summary
Extends and hardens the
scripts/webvh-e2eharness on top of the existing WebVH E2E work (schema/cred-def, OOB, issue, verify, revoke).Behaviour and fixes
V20CredExRecordDetail(cred_ex_record) for holder list and issuer GET so polling sees realstate/cred_ex_id.send-presentationbody (referent → walletcred_id) viaGET .../present-proof-2.0/records/{id}/credentials.rev_reg_id/cred_rev_idfrom the issuer exchange; sendnotify: falseby default (override withWEBVH_E2E_REVOKE_NOTIFYwhenconnection_id/thread_idare available).TractionClientlogs every POST request body at INFO; responses stay quiet unless-v. WebVH configure still logs a sanitized body./api/explorer/dids?scid=and/api/explorer/resources?scid=).Docs
WEBVH_E2E_REVOKE_PUBLISH,WEBVH_E2E_REVOKE_NOTIFY, timeouts, logging), sample resources explorer link.How to test
(Requires issuer/holder tokens and Traction/WebVH sandbox as documented.)
Signed-off-by: Patrick St-Louis patrick.st-louis@opsecid.ca
Made with Cursor