Inji-344: Refactoring VC Key (#798)

* feat(inji-344): Use VC Key class instead of separate functions for managing vc key

* feat(inji-344): Use properties from VcKey Class instead of reading from vckey string

* feat(inji-344): Rename vcKey to vcMetadata

* feat(inji-344): Use vc's unique id or vckey instead of joined string of vc metadata

* feat(inji-344): Use vc key instead of unique id to avoid confusion. Fix issues reg parsing vc metadata

* feat(inji-344):fix redownloading issue

Co-authored-by: Tilak <tilakpuli15@gmail.com>

* feat(inji-344): Remove vc getting stored on update of pin status

* feat(inji-344): update other vc's pin status to false when any vc is pinned

* feat(inji-344): remove hash ID for UIN

* feat(inji-344): revert google services json

* feat(inji-344): remove mmkv logs added for debugging

* feat(inji-344): fix received vcs not getting displayed on reopen of app

* feat(inji-344): fix id not shown in revoke component

---------

Co-authored-by: Sri Kanth Kola <srikanthsri7447@gmail.com>
This commit is contained in:
Tilak Puli
2023-09-20 16:51:59 +05:30
committed by GitHub
parent 43efe2a2fc
commit ec9fd9f6d9
61 changed files with 1006 additions and 968 deletions

View File

@@ -1,4 +1,4 @@
import { WalletBindingResponse } from '../shared/cryptoutil/cryptoUtil';
import {WalletBindingResponse} from '../shared/cryptoutil/cryptoUtil';
export interface VC {
id: string;
@@ -15,9 +15,8 @@ export interface VC {
reason?: VCSharingReason[];
shouldVerifyPresence?: boolean;
walletBindingResponse?: WalletBindingResponse;
credentialRegistry: string;
credentialRegistry?: string;
isPinned?: boolean;
hashedId: string;
}
export interface VCSharingReason {
@@ -61,25 +60,25 @@ type VCContext = (string | Record<string, unknown>)[];
export interface VerifiableCredential {
'@context': VCContext;
'credentialSubject': CredentialSubject;
'id': string;
'issuanceDate': string;
'issuer': string;
'proof': {
credentialSubject: CredentialSubject;
id: string;
issuanceDate: string;
issuer: string;
proof: {
created: string;
jws: string;
proofPurpose: 'assertionMethod' | string;
type: 'RsaSignature2018' | string;
verificationMethod: string;
};
'type': VerifiableCredentialType[];
type: VerifiableCredentialType[];
}
export interface VerifiablePresentation {
'@context': VCContext;
'verifiableCredential': VerifiableCredential[];
'type': 'VerifiablePresentation';
'proof': {
verifiableCredential: VerifiableCredential[];
type: 'VerifiablePresentation';
proof: {
created: string;
jws: string;
proofPurpose: 'authentication' | string;