-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DID Exchange Protocol #928
Conversation
7cfce73
to
d5efffc
Compare
d89fbf4
to
a789199
Compare
d5efffc
to
d543a35
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
had a chance to have a short look only so far, but left some comment and thouhts
aries_vcx/src/protocols/did_exchange/service/responder/response_sent/mod.rs
Outdated
Show resolved
Hide resolved
aries_vcx/src/protocols/did_exchange/service/responder/response_sent/mod.rs
Outdated
Show resolved
Hide resolved
* Extract subset of changes made in didx PR Signed-off-by: Miroslav Kovar <miroslav.kovar@absa.africa> * Address code review Signed-off-by: Miroslav Kovar <miroslav.kovar@absa.africa> --------- Signed-off-by: Miroslav Kovar <miroslav.kovar@absa.africa>
Completed(DidExchangeServiceResponder<Completed>), | ||
} | ||
|
||
impl GenericDidExchange { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd suggest we split this into
GenericDidExchangeRequester
GenericDidExchangeResponder
The value proposition of the generic layer is that you don't have to care about what state the you are currently in. In current state, it technically allows you to be even more agnostic - not only in terms of states, but also in terms of roles. But in practice, that property would never be used.
If we proceed with proposed split, there's hardly any practical disadvantage for consumers, but code will be a lot simpler, as we get rid of the outer level of match statements.
And basically, you will end up with place where you actually don't have to implement handle_response
for GenericDidExchangeResponder
at all, because it doesn't make sense.
This will have some implications, because on libvcx
layer we've previously never distinguished between Inviter/Initee, but such approach was only used for connections, not other protocols. Since we are building on greenfield here, I think we should get rid of this discrepancy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree in principle with it not making sense in terms of methods shared between the roles, but this is a quick-and-dirty implementation and the current approach allows for braindead simple handling on the aries-vcx-agent
level which was the entire point of the enum to begin with. (I have no issues with getting rid of the discrepancy, though.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it, I'd like to go ahead with that
aries_vcx/src/protocols/did_exchange/service/requester/request_sent/mod.rs
Outdated
Show resolved
Hide resolved
d543a35
to
fe4ffd4
Compare
d025495
to
ca83053
Compare
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #928 +/- ##
========================================
- Coverage 0.05% 0.05% -0.01%
========================================
Files 388 471 +83
Lines 21076 24009 +2933
Branches 3871 4307 +436
========================================
+ Hits 12 13 +1
- Misses 21063 23995 +2932
Partials 1 1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
4a046d7
to
5ec1e5d
Compare
@gmulhearn @bobozaur I don't know why @Patrik-Stas requested a review, this PR is not ready for review. The code is relatively independent on the rest of the codebase so there is a limited value in merging this prematurely, before the implementation is decent, signature conventions are defined, the other implementations are flashed out and tested against... |
a821d0e
to
e5eb72e
Compare
e5eb72e
to
79cc60a
Compare
79cc60a
to
41f85b9
Compare
Signed-off-by: Miroslav Kovar <miroslav.kovar@absa.africa>
41f85b9
to
dcd987c
Compare
We should be able to group the messages crates after this is merged |
* Restore did-exchange * Address code review Signed-off-by: Patrik Stas <patrik.stas@absa.africa>
23e2b0f
to
875519b
Compare
Initial version of DID Exchange protocol implementation with support for peer DIDs (peer:did:2 for now), new
DidDocument
crate, and JWS signing / verification.The primary aim is not to achieve perfection at this stage but to roll out a first iteration prototype.
Correctness has been tested (so far only) using AATH tests running against AcaPy peer:did branch (or against aries-vcx itself), where all didx tests are passing whether the requester or responder role is assumed by either side.
Additionally