diff --git a/lib/app/shared/enum/type/profile/did_key_type.dart b/lib/app/shared/enum/type/profile/did_key_type.dart index 04ff6f460..3d3eb16df 100644 --- a/lib/app/shared/enum/type/profile/did_key_type.dart +++ b/lib/app/shared/enum/type/profile/did_key_type.dart @@ -49,10 +49,10 @@ extension DidKeyTypeX on DidKeyType { switch (this) { case DidKeyType.secp256k1: case DidKeyType.p256: + case DidKeyType.jwkP256: return true; case DidKeyType.edDSA: case DidKeyType.ebsiv3: - case DidKeyType.jwkP256: return false; } } diff --git a/lib/app/shared/helper_functions/helper_functions.dart b/lib/app/shared/helper_functions/helper_functions.dart index 5f3aaaafe..852530946 100644 --- a/lib/app/shared/helper_functions/helper_functions.dart +++ b/lib/app/shared/helper_functions/helper_functions.dart @@ -1346,15 +1346,25 @@ bool supportCryptoCredential(ProfileSetting profileSetting) { final customOidc4vcProfile = profileSetting.selfSovereignIdentityOptions.customOidc4vcProfile; + /// suported VC format final supportCryptoCredentialByVCFormat = customOidc4vcProfile.vcFormatType.supportCryptoCredential; + /// supported did key final supportCryptoCredentialByDidKey = customOidc4vcProfile.defaultDid.supportCryptoCredential; - final supportAssociatedCredential = + /// match format 1 + final matchFormat1 = supportCryptoCredentialByVCFormat && supportCryptoCredentialByDidKey; + /// match format 2 + final matchFormat2 = customOidc4vcProfile.defaultDid == DidKeyType.edDSA && + customOidc4vcProfile.vcFormatType == VCFormatType.ldpVc && + !customOidc4vcProfile.cryptoHolderBinding; + + final supportAssociatedCredential = matchFormat1 || matchFormat2; + return supportAssociatedCredential; } diff --git a/lib/dashboard/drawer/src/view/drawer_page.dart b/lib/dashboard/drawer/src/view/drawer_page.dart index 8a4b7eda8..cf3489ed9 100644 --- a/lib/dashboard/drawer/src/view/drawer_page.dart +++ b/lib/dashboard/drawer/src/view/drawer_page.dart @@ -58,6 +58,7 @@ class DrawerView extends StatelessWidget { title: l10n.updateYourWalletConfigNow, padding: const EdgeInsets.all(16), onClick: () async { + Navigator.of(context).pop(); await context .read() .updateTheConfiguration(); diff --git a/lib/dashboard/home/tab_bar/credentials/list/widgets/home_credential_category_list.dart b/lib/dashboard/home/tab_bar/credentials/list/widgets/home_credential_category_list.dart index 441baf113..16b99201d 100644 --- a/lib/dashboard/home/tab_bar/credentials/list/widgets/home_credential_category_list.dart +++ b/lib/dashboard/home/tab_bar/credentials/list/widgets/home_credential_category_list.dart @@ -54,6 +54,12 @@ class HomeCredentialCategoryList extends StatelessWidget { return true; } + /// crypto credential account to be shown always + if (element.credentialPreview.credentialSubjectModel + .credentialSubjectType.isBlockchainAccount) { + return true; + } + /// do not load the credential if vc format is different if (vcFormatType.value != element.getFormat) { return false;