Versions Compared

Key

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

...

Swapnil Tripathi, Discord: TODOswaptr, Github: https://github.com/swaptr

Deliverables

  •  Create Android binary + bindings compilation scripts for the existing UniFFI prototype in aries-vcx: https://github.com/hyperledger/aries-vcx/tree/main/uniffi_aries_vcx
  •  Bootstrap sample android demo application, which consumes the existing prototype's bindings and binaries
  •  Update existing prototype to use newer aries_vcx functionality (switch from vdrtools profile to modular_libs profile) Create bindings for all Connection  APIs and update sample app accordingly
  •  Create bindings for all Holder  APIs and update sample app accordingly
  •  Design/Discover APIs for a rust mediator client
  •  Implement APIs for a rust mediator client
  •  Create bindings for mediator client and update sample app accordingly
  •  Create bindings for all Prover  APIs and update sample app accordingly
  • Update existing prototype to use newer aries_vcx functionality (switch from vdrtools profile to modular_libs profile)

Bonus Deliverables

  •  Create CI for compiling and packaging an Android SDK deliverable with aries_vcx and mediator client functionality
  •  Consider async API optimizations (how can be improve on the existing run_blocking  approach.. UniFFI may have support for this later in the timeline!)
  •  Create CI for compiling and packaging an iOS SDK deliverable with aries_vcx and mediator client functionality

Milestones

Eval 1:

  •  Comfortable with aries-vcx and UniFFI tool
  •  Script for building uniffi_aries_vcx android consumables developed
  •  Sample app bootstrapped and consuming/demonstrating uniffi_aries_vcx bindings

Eval 2:

  •  Connection APIs wrapped in UniFFI
  •  Holder APIs wrapped in UniFFI Sample app updated to demonstrate Connection APIs Sample app updated to demonstrate Holder APIs

Eval 3:

  •  Designed mediator client implementation
  •  Implemented mediator client implementation
    •  key registration
    •  message pickup
  • Holder APIs wrapped in UniFFI

Eval 4:

  •  mediator client APIs wrapped in UniFFI
  •  Prover APIs wrapped in UniFFI
  •  Migrate to modular libs stack (credx, indy-vdr)
  •  Sample app updated to demonstrate Prover APIssupport Holder flow (receive a credential)

Timeline

DatesTasks/Plan

Status

Jun 12 - Jun 26

Mentee intro with the mentor.

On-boarding:

  •  understand aries vcx project/s
  •  Get aries-vcx integration tests working to confirm development environment
  •  plan out the scope and tasks for the UniFFI project
  •  complete UniFFI tutorials
  •  build rust sample project for Android architectures
Jun 27 - Jul 10
  •  Manually build the existing uniffi_aries_vcx project for android
  •  Create a convenience script for compiling uniffi_aries_vcx project for android
  •  Expand the script to generate UniFFI bindings for uniffi_aries_vcx

Jul 11 - Jul 24

  •  Bootstrap android sample app which consumes bindings generated by script mentioned above - demonstrate app to mentors (e.g. a simple button that calls into an existing uniffi method).
    •  consider how to best automate/optimize personal development flow from creating new feature to testing in app
    •  
PR
Jul 25 - Aug 7 (Jul 28 eval)
  •  Complete Connection  API uniffi bindings
  •  Update sample app to
use Connection APIs
  •  additional considerations: app complexity (invitation QR scanner, receiving incoming messages via dummy/testing relay/mediator service)
  •  PR
  • create profile
Aug 8 - Aug 21
 Complete Holder
  •  
API uniffi bindings
 
  • Update sample app to
use Holder
  • scan invitation
  •  
APIs
  •  
PR

Aug 22 - Sep 4 (Sept 1 eval)

  •  
Breather to complete outstanding above tasks
  •  Discuss and design mediator client APIs with mentors
  • Update sample app to send request
Sep 5 - Sep 18
  •  
Implement mediator client key registration related APIs (i.e. creating initial connection with mediator service)
Sep 19 - Oct 2
  •  
Finish mediator client implementation (pickup protocol)
  •  PR
  •  if ready: consider testing against other aries-vcx mentorship project (mediator service)
  • Work on Holder API bindings
Oct 3 - Oct 16 (Oct 13 eval)
  •  
Wrap mediator client with UniFFI bindings
  • complete Holder API bindings
  •  start/plan work on sample app holder flow (receive a cred)
  •  Update sample app to consume the mediator client
    •  PR
Oct 16 - Oct 30
  •  
Complete Prover  API uniffi bindings
  •  Update sample app to use Prover  APIs
    •  PR
Oct 31 - Nov 6
Nov 7 - Nov 30 (Nov 30 eval)
  •  Consider bonus deliverables mentioned above