-
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
draft: refactored primitives interfaces #1042
Conversation
Given this work being in progress, shall we close #829 ? |
2be94aa
to
98239c9
Compare
Codecov Report
@@ Coverage Diff @@
## main #1042 +/- ##
========================================
- Coverage 0.05% 0.05% -0.01%
========================================
Files 384 387 +3
Lines 21249 21379 +130
Branches 3835 3847 +12
========================================
Hits 12 12
- Misses 21236 21366 +130
Partials 1 1
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Signed-off-by: Bogdan Mircea <[email protected]>
Signed-off-by: Bogdan Mircea <[email protected]>
Signed-off-by: Bogdan Mircea <[email protected]>
Signed-off-by: Bogdan Mircea <[email protected]>
Signed-off-by: Bogdan Mircea <[email protected]>
Signed-off-by: Bogdan Mircea <[email protected]>
Signed-off-by: Bogdan Mircea <[email protected]>
Signed-off-by: Bogdan Mircea <[email protected]>
Signed-off-by: Bogdan Mircea <[email protected]>
Signed-off-by: Bogdan Mircea <[email protected]>
c2a3ae6
to
8d2958a
Compare
Signed-off-by: Bogdan Mircea <[email protected]>
Signed-off-by: Bogdan Mircea <[email protected]>
Signed-off-by: Bogdan Mircea <[email protected]>
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.
approval to test some github settings
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.
reverting the testing approval
PoC redesign of
Wallet
,Ledger
andVc
(Anoncreds
) traits.The
Wallet
andLedger
traits were split an designed to work with theWalletRecord
andLedgerRequest
traits.The
WalletRecord
andLedgerRequest
traits are meant to be implemented on data types that would convert to/from an associated type for theWallet
orLedger
respectively, enabling the interfaces to work with multiple sets of VC data structures, for instance.The
Anoncreds
trait is split on roles intoVcIssuer
,VcVerifier
andVcProver
. Strong typing and associate types have been added for them.The
Vc
traits are meant to work with theWallet
andWalletRecord
and have some intense trait bounds that essentially allow a couple of things:Wallet
andWalletRecord
that enables the things above.There are some compile time tests for the
VcIssuer
implementation forindy
to ensure that the traits and their extreme trait bounds are actually usable from consumer code. (VcVerifier
is very simple).NOTE: The trait bounds were a lot of work and involved a lot of trial and error. It's possible some could be removed without affecting the code functionality. Feel free to experiment, as the compiler will surely yell at you if something needed is removed 😅 .
IMPORTANT: While this is sort of replicating the
credx
implementation for verifiable credentials, it must be reviewed and refactored to use more static typing here and there, as well as ensuring it does the proper thing as some stuff was removed as part of adding strong types for arguments.