refactor: remove ICv1, PPv1
This PR removes Issue Credential v1 and Present Proof v1.
This is a rough cut of these changes that will need to be further refined.
Notes on sharp edges to be added.
Change Notes
Issue Credential v1
To enable ICv1 to continue to exist as a plugin, the following changes are/were necessary:
- [x] Credential revocation status on the cred ex record updated via event handler
- [ ] Attaching a credential offer to an OOB invitation through some plugable means
Present Proof v1
To enable PPv1 to continue to exist as a plugin, the following changes are/were necessary:
- [x] Abstract proof request extraction to a protocol
- [ ] Attaching a presentation request to an OOB invitaiton through some plugable means
I stewed on how best to handle the OOB invitation attachments for these v1 protocols when they're no longer in the core repo. I think the way I would approach this is:
- Subclass
InvitationCreatorfrom OOB package and override thecreate_attachmentor add a method that handles creating an OOB attachment for a v1 cred issuance or proof presentation. - Create a new endpoint in each of the respective plugins that does the OOB invite generation. I think the
InvitationCreatorshould encapsulate enough of the hard stuff that having multiple endpoints for OOB invite generation shouldn't be too bad.
Quality Gate failed
Failed conditions
3.0% Duplication on New Code (required ≤ 3%)
C Maintainability Rating on New Code (required ≥ A)
See analysis details on SonarCloud
Catch issues before they fail your Quality Gate with our IDE extension
SonarLint
I've rebased this PR on current main and resolved merge conflicts. My last comment about restoring the ability to attach v1 credential offers or presentation requests to OOB are still relevant. This would need to be done from the plugin side. I'll make sure my comment is present on the corresponding PR in acapy-plugins.
I believe this is otherwise ready for review. cc @swcurran @jamshale
edit: minus the test failures that I need to take care of :smile:
Stale; might be useful as a reference but no need to keep this open