-
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
Modularize dependency on vdrtools/indy with option for indy-Vdr and Indy-Credx in place #648
Conversation
b7aacb5
to
07c77bc
Compare
07c77bc
to
943b67b
Compare
Codecov Report
@@ Coverage Diff @@
## main #648 +/- ##
==========================================
- Coverage 63.86% 62.04% -1.83%
==========================================
Files 214 237 +23
Lines 21017 22873 +1856
Branches 4706 5145 +439
==========================================
+ Hits 13423 14192 +769
- Misses 3843 4551 +708
- Partials 3751 4130 +379
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
cda099f
to
3082c4d
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.
issue: test-android-build failure in cargo test is not triggering a failure of the pipeline
967f72f
to
316ca5b
Compare
|
Hi @guijd3p, cc @Patrik-Stas , i've rebased your most recent changes for supporting legacy vs non-legacy service endpoint writing and resolving. I've had to move a few things around, you may want to double check that no regressions have been made - your tests still pass however. Changes include:
|
Signed-off-by: George Mulhearn <gmulhearn@anonyome.com>
c38e889
to
3dea9f5
Compare
I've squashed commits on this branch for sake of the DCO - rebasing was a struggle. However commit history can be viewed here: https://github.com/anonyome/aries-vcx/tree/modular_indy |
I'll include this #683 in one more release |
Signed-off-by: Patrik Stas <patrik.stas@absa.africa>
Summary of Changes
Profile
,BaseWallet
,BaseLedger
, andBaseAnoncreds
traits/interfaces. Where Wallet Ledger and Anoncreds APIs signatures are based mostly on indy/vdrtools APIs for the respective sections. A Profile represents a collection of these 3 traits/dependencies bundled together - Profile is derived from ACA-py's approach./indy
directory functionality directly.IndySdkProfile
implementation which bundles together those 3 Indy impls ^.IndyVdr
implementation of Ledger, which uses indy-vdr for ledger request/response formation and sending. The profile's wallet is used for signing transactions. The implementation of most functions is derived from ACA-py.IndyCredx
implementation of Anoncreds, which uses indy-credx for the formation of anoncreds related objects - e.g. creating proofs and link secrets. The profile's wallet is used for storing/searching credentials and handling master secrets. The implementation of most functions is derived from ACA-py, especially around the storage of creds as wallet records.ModularWalletProfile
which bundles vdr Ledger and credx Anoncreds with any user providedBaseWallet
(I.e. a pluggable wallet). This is similar to ACA-py'sAskarProfile
- which we may wish to impl in the future.IndySdk
orModularWallet
Profile (by setting themodular_deps
flag)MockProfile
which is used by unit tests. Currently MockProfile contains Mock[Ledger|Wallet|Anoncreds], all of which return the mock data which you'd expect to be returned if indy_mocks/did_mocks were enabled.Future Work
indy
functions into theIndySdkWallet/Ledger/Anoncreds
files directly, as theindy
directory is somewhat thin now.MockProfile
may open up a good opportunity to make some mocking much easier. E.g. the injection logic could be built into the MockProfile methods rather than relying on global settings. e.g.mock_profile.set_verifier_verify_result(true)
, etcConcerns
Architecture (Before (TOP) and After (BOTTOM))