2023-03-23 Aries-vcx community call
Meeting time: 09:00 am UTC
Zoom link: https://zoom.us/j/97759680284?pwd=VytRRlJSd3c5NXJ1V25XbUxNU0Jndz09#success
Note:
If you are planning on attending aries-vcx call, feel free login to wiki and update the agenda below to include your discussion topic / question
Alternatively you can simply join the call and we can discuss your questions and concerns
Agenda:
Start meeting discussion
Mentorship program status update
Pending for TOC approval
Github "Good first issue" catching on!
2 new contributors
Work parallelization
Discussion about parallelizing work on messages2 integration and building state pattern based protocol state machines
Release 0.54.0 is expected to be based on the new
message2crate - the currentmessagesimplementation will be deleted.Minor changes to
aries-vcxrust API is expectedThe upgrade completely opaque to
libvcx,vcx-napi-rsusers
Overview of recent work done
Proof Verifier API changes: https://github.com/hyperledger/aries-vcx/pull/769, https://github.com/hyperledger/aries-vcx/pull/769
Release 0.53.0 https://github.com/hyperledger/aries-vcx/releases/tag/0.53.0
Check on work in progress
New contributor: styvane - encode_attributes refactor https://github.com/hyperledger/aries-vcx/pull/778
New contributor: andy-waine - post_message migration https://github.com/hyperledger/aries-vcx/pull/777
Messages2 crate - approaching completion https://github.com/hyperledger/aries-vcx/pull/754
Upcoming work
Finish messages2 crate
Integrate messages2 crate into aries-vcx
Typestate pattern
credential holder (started by George)
credential issuer
presentation verifier
presentation prover
[ vdr-tools, DID parser, did-resolver ]
End meeting discussion (anything else that comes up to be discussed)
Dependency flags
WIP: Feature flags to opt out of
vdr-toolsor modular dependencies - https://github.com/hyperledger/aries-vcx/pull/763
Guidelines for re-implementing state machines
No "Sent" states: Do not use
<something>Sentstates which serve as "marker" that some message has been sent to a counterparty.Various final states: Different variants of final state should be expressed by different rust state types - eg.
Success/Fail/DeclinedReceived aries messages change state:Message from a counterparty always changes state - even if it's just
ack. Finished state and "AlmostFinishedButWaitingForAck" in some protocol should be 2 different states.Intermediate states: Use intermediate states to enable separation of response processing and reply construction - for example
PresentationPreparedin ProofProver SM,PresentationRequestSetin ProofVerifier SMThe fact that the our "to be sent" message has been built/prepared/set (we should maybe unify the terminology there as well) means that we are expecting response (as per point 1. we do not track on state machine level whether that message has been sent, it's aries-vcx user's resposibility to deliver the message)
Linearization of transitions: - each state machine transition method should either fail, or succeed and switch state deterministically.
Task backlog:
Recording: