Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 (smile) 

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 message2  crate - the current messages  implementation will be deleted.
        • Minor changes to aries-vcx  rust API is expected
        • The upgrade completely opaque to libvcx , vcx-napi-rs  users
  •  End meeting discussion (anything else that comes up to be discussed)
    • dependency Dependency flags
      • ... to update ...
      state machines approach - reducing IO
    • Guidelines for re-implementing state machines
      1.  No "Sent" states: Do not use <something>Sent  states which serve as "marker" that some message has been sent to a counterparty.
      2. Various final states: Different variants of final state should be expressed by different rust state types - eg. Success  / Fail  /  Declined  
      3. Received 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.
      4. Intermediate states: Use intermediate states to enable separation of response processing and reply construction - for example PresentationPrepared  in ProofProver SM, PresentationRequestSet in ProofVerifier SM
        • The 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)
      5. Linearization of transitions: - each state machine transition method should either fail, or succeed and switch state deterministically.


Task backlog: 

    • Compile time protocol registry boundary
    • Apply state pattern for issuance, presentation state machines
    • Issuer with credx
    • Eliminate usage of MediatedConnection in tests (in favor of (non-mediated) Connection)
    • DDO as first class citizen
    • Create DID parser, DID type
    • Implement DID resolver https://github.com/hyperledger/aries-vcx/issues/706
    • Add more typing across codebase
      • use did type, use url type, and others
    • New protocols: DidExchange protocol, Presentation Protocol 2.0, Issuance Protocol 2.0
    • Aries mediator client (pick protocol V2)

...