@bifold/core 2.10.1 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/animated-components.js +2 -0
- package/lib/commonjs/animated-components.js.map +1 -1
- package/lib/commonjs/components/animated/ButtonLoading.js +6 -32
- package/lib/commonjs/components/animated/ButtonLoading.js.map +1 -1
- package/lib/commonjs/components/animated/LoadingSpinner.js +44 -0
- package/lib/commonjs/components/animated/LoadingSpinner.js.map +1 -0
- package/lib/commonjs/components/inputs/PINInput.js +15 -8
- package/lib/commonjs/components/inputs/PINInput.js.map +1 -1
- package/lib/commonjs/components/listItems/NotificationListItem.js +19 -11
- package/lib/commonjs/components/listItems/NotificationListItem.js.map +1 -1
- package/lib/commonjs/components/misc/CredentialCard.js +3 -1
- package/lib/commonjs/components/misc/CredentialCard.js.map +1 -1
- package/lib/commonjs/components/misc/CredentialCard10.js +13 -5
- package/lib/commonjs/components/misc/CredentialCard10.js.map +1 -1
- package/lib/commonjs/components/misc/CredentialCard11.js +25 -22
- package/lib/commonjs/components/misc/CredentialCard11.js.map +1 -1
- package/lib/commonjs/components/modals/ConfirmPINModal.js +4 -3
- package/lib/commonjs/components/modals/ConfirmPINModal.js.map +1 -1
- package/lib/commonjs/components/views/CredentialDetailPrimaryHeader.js +8 -7
- package/lib/commonjs/components/views/CredentialDetailPrimaryHeader.js.map +1 -1
- package/lib/commonjs/constants.js +1 -0
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/container-api.js +3 -1
- package/lib/commonjs/container-api.js.map +1 -1
- package/lib/commonjs/container-impl.js +16 -0
- package/lib/commonjs/container-impl.js.map +1 -1
- package/lib/commonjs/hooks/notifications.js +4 -2
- package/lib/commonjs/hooks/notifications.js.map +1 -1
- package/lib/commonjs/hooks/useBifoldAgentSetup.js +5 -3
- package/lib/commonjs/hooks/useBifoldAgentSetup.js.map +1 -1
- package/lib/commonjs/index.js +16 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/localization/en/en.json +18 -1
- package/lib/commonjs/localization/fr/fr.json +17 -1
- package/lib/commonjs/localization/pt-br/pt-br.json +17 -1
- package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js +41 -1
- package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
- package/lib/commonjs/modules/openid/components/OpenIDUnsatisfiedProofRequest.js +71 -0
- package/lib/commonjs/modules/openid/components/OpenIDUnsatisfiedProofRequest.js.map +1 -0
- package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js +34 -111
- package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
- package/lib/commonjs/modules/openid/hooks/openid.js +38 -6
- package/lib/commonjs/modules/openid/hooks/openid.js.map +1 -1
- package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js +82 -0
- package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js.map +1 -0
- package/lib/commonjs/modules/openid/hooks/useCredentialErrorsFromRegistry.js +60 -0
- package/lib/commonjs/modules/openid/hooks/useCredentialErrorsFromRegistry.js.map +1 -0
- package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js +84 -0
- package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js.map +1 -0
- package/lib/commonjs/modules/openid/hooks/useOpenIdReplacementNavigation.js +55 -0
- package/lib/commonjs/modules/openid/hooks/useOpenIdReplacementNavigation.js.map +1 -0
- package/lib/commonjs/modules/openid/hooks/useReplacementNotifications.js +82 -0
- package/lib/commonjs/modules/openid/hooks/useReplacementNotifications.js.map +1 -0
- package/lib/commonjs/modules/openid/metadata.js +60 -1
- package/lib/commonjs/modules/openid/metadata.js.map +1 -1
- package/lib/commonjs/modules/openid/notification.js +42 -0
- package/lib/commonjs/modules/openid/notification.js.map +1 -0
- package/lib/commonjs/modules/openid/offerResolve.js +6 -0
- package/lib/commonjs/modules/openid/offerResolve.js.map +1 -1
- package/lib/commonjs/modules/openid/refresh/reIssuance.js +95 -0
- package/lib/commonjs/modules/openid/refresh/reIssuance.js.map +1 -0
- package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js +265 -0
- package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js.map +1 -0
- package/lib/commonjs/modules/openid/refresh/refreshToken.js +78 -0
- package/lib/commonjs/modules/openid/refresh/refreshToken.js.map +1 -0
- package/lib/commonjs/modules/openid/refresh/registery.js +143 -0
- package/lib/commonjs/modules/openid/refresh/registery.js.map +1 -0
- package/lib/commonjs/modules/openid/refresh/types.js +17 -0
- package/lib/commonjs/modules/openid/refresh/types.js.map +1 -0
- package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js +34 -0
- package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js.map +1 -0
- package/lib/commonjs/modules/openid/screens/OpenIDCredentialOffer.js +39 -2
- package/lib/commonjs/modules/openid/screens/OpenIDCredentialOffer.js.map +1 -1
- package/lib/commonjs/modules/openid/screens/OpenIDProofPresentation.js +25 -7
- package/lib/commonjs/modules/openid/screens/OpenIDProofPresentation.js.map +1 -1
- package/lib/commonjs/modules/openid/utils/utils.js +66 -0
- package/lib/commonjs/modules/openid/utils/utils.js.map +1 -1
- package/lib/commonjs/screens/CredentialDetails.js +28 -6
- package/lib/commonjs/screens/CredentialDetails.js.map +1 -1
- package/lib/commonjs/screens/CredentialOffer.js +6 -9
- package/lib/commonjs/screens/CredentialOffer.js.map +1 -1
- package/lib/commonjs/screens/CredentialOfferAccept.js +18 -2
- package/lib/commonjs/screens/CredentialOfferAccept.js.map +1 -1
- package/lib/commonjs/screens/Developer.js +26 -0
- package/lib/commonjs/screens/Developer.js.map +1 -1
- package/lib/commonjs/screens/Home.js +39 -1
- package/lib/commonjs/screens/Home.js.map +1 -1
- package/lib/commonjs/screens/ListCredentials.js +2 -2
- package/lib/commonjs/screens/ListCredentials.js.map +1 -1
- package/lib/commonjs/screens/PINCreate.js +5 -1
- package/lib/commonjs/screens/PINCreate.js.map +1 -1
- package/lib/commonjs/screens/PINEnter.js +5 -3
- package/lib/commonjs/screens/PINEnter.js.map +1 -1
- package/lib/commonjs/screens/PINVerify.js +12 -1
- package/lib/commonjs/screens/PINVerify.js.map +1 -1
- package/lib/commonjs/screens/ProofChangeCredential.js +3 -3
- package/lib/commonjs/screens/ProofChangeCredential.js.map +1 -1
- package/lib/commonjs/screens/ProofRequest.js +4 -4
- package/lib/commonjs/screens/ProofRequest.js.map +1 -1
- package/lib/commonjs/services/AgentBridge.js +90 -0
- package/lib/commonjs/services/AgentBridge.js.map +1 -0
- package/lib/commonjs/types/credentials.js +9 -0
- package/lib/commonjs/types/credentials.js.map +1 -1
- package/lib/commonjs/utils/agent.js +1 -1
- package/lib/commonjs/utils/agent.js.map +1 -1
- package/lib/commonjs/utils/cred-def.js +50 -43
- package/lib/commonjs/utils/cred-def.js.map +1 -1
- package/lib/commonjs/utils/credential.js +217 -1
- package/lib/commonjs/utils/credential.js.map +1 -1
- package/lib/commonjs/utils/helpers.js +83 -22
- package/lib/commonjs/utils/helpers.js.map +1 -1
- package/lib/module/animated-components.js +2 -0
- package/lib/module/animated-components.js.map +1 -1
- package/lib/module/components/animated/ButtonLoading.js +6 -31
- package/lib/module/components/animated/ButtonLoading.js.map +1 -1
- package/lib/module/components/animated/LoadingSpinner.js +36 -0
- package/lib/module/components/animated/LoadingSpinner.js.map +1 -0
- package/lib/module/components/inputs/PINInput.js +16 -9
- package/lib/module/components/inputs/PINInput.js.map +1 -1
- package/lib/module/components/listItems/NotificationListItem.js +19 -11
- package/lib/module/components/listItems/NotificationListItem.js.map +1 -1
- package/lib/module/components/misc/CredentialCard.js +3 -1
- package/lib/module/components/misc/CredentialCard.js.map +1 -1
- package/lib/module/components/misc/CredentialCard10.js +14 -6
- package/lib/module/components/misc/CredentialCard10.js.map +1 -1
- package/lib/module/components/misc/CredentialCard11.js +17 -14
- package/lib/module/components/misc/CredentialCard11.js.map +1 -1
- package/lib/module/components/modals/ConfirmPINModal.js +4 -3
- package/lib/module/components/modals/ConfirmPINModal.js.map +1 -1
- package/lib/module/components/views/CredentialDetailPrimaryHeader.js +9 -8
- package/lib/module/components/views/CredentialDetailPrimaryHeader.js.map +1 -1
- package/lib/module/constants.js +1 -0
- package/lib/module/constants.js.map +1 -1
- package/lib/module/container-api.js +3 -1
- package/lib/module/container-api.js.map +1 -1
- package/lib/module/container-impl.js +16 -0
- package/lib/module/container-impl.js.map +1 -1
- package/lib/module/hooks/notifications.js +4 -2
- package/lib/module/hooks/notifications.js.map +1 -1
- package/lib/module/hooks/useBifoldAgentSetup.js +5 -3
- package/lib/module/hooks/useBifoldAgentSetup.js.map +1 -1
- package/lib/module/index.js +3 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/localization/en/en.json +18 -1
- package/lib/module/localization/fr/fr.json +17 -1
- package/lib/module/localization/pt-br/pt-br.json +17 -1
- package/lib/module/modules/openid/components/OpenIDCredentialCard.js +41 -1
- package/lib/module/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
- package/lib/module/modules/openid/components/OpenIDUnsatisfiedProofRequest.js +63 -0
- package/lib/module/modules/openid/components/OpenIDUnsatisfiedProofRequest.js.map +1 -0
- package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js +34 -111
- package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
- package/lib/module/modules/openid/hooks/openid.js +38 -5
- package/lib/module/modules/openid/hooks/openid.js.map +1 -1
- package/lib/module/modules/openid/hooks/useAcceptReplacement.js +76 -0
- package/lib/module/modules/openid/hooks/useAcceptReplacement.js.map +1 -0
- package/lib/module/modules/openid/hooks/useCredentialErrorsFromRegistry.js +54 -0
- package/lib/module/modules/openid/hooks/useCredentialErrorsFromRegistry.js.map +1 -0
- package/lib/module/modules/openid/hooks/useDeclineReplacement.js +77 -0
- package/lib/module/modules/openid/hooks/useDeclineReplacement.js.map +1 -0
- package/lib/module/modules/openid/hooks/useOpenIdReplacementNavigation.js +47 -0
- package/lib/module/modules/openid/hooks/useOpenIdReplacementNavigation.js.map +1 -0
- package/lib/module/modules/openid/hooks/useReplacementNotifications.js +75 -0
- package/lib/module/modules/openid/hooks/useReplacementNotifications.js.map +1 -0
- package/lib/module/modules/openid/metadata.js +52 -1
- package/lib/module/modules/openid/metadata.js.map +1 -1
- package/lib/module/modules/openid/notification.js +38 -0
- package/lib/module/modules/openid/notification.js.map +1 -0
- package/lib/module/modules/openid/offerResolve.js +7 -1
- package/lib/module/modules/openid/offerResolve.js.map +1 -1
- package/lib/module/modules/openid/refresh/reIssuance.js +89 -0
- package/lib/module/modules/openid/refresh/reIssuance.js.map +1 -0
- package/lib/module/modules/openid/refresh/refreshOrchestrator.js +257 -0
- package/lib/module/modules/openid/refresh/refreshOrchestrator.js.map +1 -0
- package/lib/module/modules/openid/refresh/refreshToken.js +72 -0
- package/lib/module/modules/openid/refresh/refreshToken.js.map +1 -0
- package/lib/module/modules/openid/refresh/registery.js +135 -0
- package/lib/module/modules/openid/refresh/registery.js.map +1 -0
- package/lib/module/modules/openid/refresh/types.js +11 -0
- package/lib/module/modules/openid/refresh/types.js.map +1 -0
- package/lib/module/modules/openid/refresh/verifyCredentialStatus.js +28 -0
- package/lib/module/modules/openid/refresh/verifyCredentialStatus.js.map +1 -0
- package/lib/module/modules/openid/screens/OpenIDCredentialOffer.js +39 -2
- package/lib/module/modules/openid/screens/OpenIDCredentialOffer.js.map +1 -1
- package/lib/module/modules/openid/screens/OpenIDProofPresentation.js +25 -7
- package/lib/module/modules/openid/screens/OpenIDProofPresentation.js.map +1 -1
- package/lib/module/modules/openid/utils/utils.js +64 -1
- package/lib/module/modules/openid/utils/utils.js.map +1 -1
- package/lib/module/screens/CredentialDetails.js +29 -7
- package/lib/module/screens/CredentialDetails.js.map +1 -1
- package/lib/module/screens/CredentialOffer.js +7 -10
- package/lib/module/screens/CredentialOffer.js.map +1 -1
- package/lib/module/screens/CredentialOfferAccept.js +19 -3
- package/lib/module/screens/CredentialOfferAccept.js.map +1 -1
- package/lib/module/screens/Developer.js +27 -1
- package/lib/module/screens/Developer.js.map +1 -1
- package/lib/module/screens/Home.js +41 -3
- package/lib/module/screens/Home.js.map +1 -1
- package/lib/module/screens/ListCredentials.js +1 -1
- package/lib/module/screens/ListCredentials.js.map +1 -1
- package/lib/module/screens/PINCreate.js +5 -1
- package/lib/module/screens/PINCreate.js.map +1 -1
- package/lib/module/screens/PINEnter.js +5 -3
- package/lib/module/screens/PINEnter.js.map +1 -1
- package/lib/module/screens/PINVerify.js +12 -1
- package/lib/module/screens/PINVerify.js.map +1 -1
- package/lib/module/screens/ProofChangeCredential.js +1 -1
- package/lib/module/screens/ProofChangeCredential.js.map +1 -1
- package/lib/module/screens/ProofRequest.js +1 -1
- package/lib/module/screens/ProofRequest.js.map +1 -1
- package/lib/module/services/AgentBridge.js +83 -0
- package/lib/module/services/AgentBridge.js.map +1 -0
- package/lib/module/types/credentials.js +8 -1
- package/lib/module/types/credentials.js.map +1 -1
- package/lib/module/utils/agent.js +2 -2
- package/lib/module/utils/agent.js.map +1 -1
- package/lib/module/utils/cred-def.js +46 -43
- package/lib/module/utils/cred-def.js.map +1 -1
- package/lib/module/utils/credential.js +210 -0
- package/lib/module/utils/credential.js.map +1 -1
- package/lib/module/utils/helpers.js +80 -22
- package/lib/module/utils/helpers.js.map +1 -1
- package/lib/typescript/src/animated-components.d.ts +3 -2
- package/lib/typescript/src/animated-components.d.ts.map +1 -1
- package/lib/typescript/src/components/animated/ButtonLoading.d.ts +1 -4
- package/lib/typescript/src/components/animated/ButtonLoading.d.ts.map +1 -1
- package/lib/typescript/src/components/animated/LoadingSpinner.d.ts +8 -0
- package/lib/typescript/src/components/animated/LoadingSpinner.d.ts.map +1 -0
- package/lib/typescript/src/components/inputs/PINInput.d.ts.map +1 -1
- package/lib/typescript/src/components/listItems/NotificationListItem.d.ts.map +1 -1
- package/lib/typescript/src/components/misc/CredentialCard.d.ts +1 -2
- package/lib/typescript/src/components/misc/CredentialCard.d.ts.map +1 -1
- package/lib/typescript/src/components/misc/CredentialCard10.d.ts.map +1 -1
- package/lib/typescript/src/components/misc/CredentialCard11.d.ts +1 -5
- package/lib/typescript/src/components/misc/CredentialCard11.d.ts.map +1 -1
- package/lib/typescript/src/components/views/CredentialDetailPrimaryHeader.d.ts.map +1 -1
- package/lib/typescript/src/constants.d.ts +2 -1
- package/lib/typescript/src/constants.d.ts.map +1 -1
- package/lib/typescript/src/container-api.d.ts +8 -0
- package/lib/typescript/src/container-api.d.ts.map +1 -1
- package/lib/typescript/src/container-impl.d.ts +2 -0
- package/lib/typescript/src/container-impl.d.ts.map +1 -1
- package/lib/typescript/src/hooks/notifications.d.ts +2 -1
- package/lib/typescript/src/hooks/notifications.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useBifoldAgentSetup.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +4 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/components/OpenIDCredentialCard.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/components/OpenIDUnsatisfiedProofRequest.d.ts +9 -0
- package/lib/typescript/src/modules/openid/components/OpenIDUnsatisfiedProofRequest.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts +1 -2
- package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/hooks/openid.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts +11 -0
- package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/hooks/useCredentialErrorsFromRegistry.d.ts +9 -0
- package/lib/typescript/src/modules/openid/hooks/useCredentialErrorsFromRegistry.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/hooks/useDeclineReplacement.d.ts +16 -0
- package/lib/typescript/src/modules/openid/hooks/useDeclineReplacement.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/hooks/useOpenIdReplacementNavigation.d.ts +8 -0
- package/lib/typescript/src/modules/openid/hooks/useOpenIdReplacementNavigation.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/hooks/useReplacementNotifications.d.ts +6 -0
- package/lib/typescript/src/modules/openid/hooks/useReplacementNotifications.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/metadata.d.ts +27 -2
- package/lib/typescript/src/modules/openid/metadata.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/notification.d.ts +16 -0
- package/lib/typescript/src/modules/openid/notification.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/offerResolve.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts +19 -0
- package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts +25 -0
- package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts +9 -0
- package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/refresh/registery.d.ts +55 -0
- package/lib/typescript/src/modules/openid/refresh/registery.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/refresh/types.d.ts +59 -0
- package/lib/typescript/src/modules/openid/refresh/types.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts +11 -0
- package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/screens/OpenIDCredentialOffer.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/screens/OpenIDProofPresentation.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/utils/utils.d.ts +4 -0
- package/lib/typescript/src/modules/openid/utils/utils.d.ts.map +1 -1
- package/lib/typescript/src/screens/CredentialDetails.d.ts.map +1 -1
- package/lib/typescript/src/screens/CredentialOffer.d.ts.map +1 -1
- package/lib/typescript/src/screens/CredentialOfferAccept.d.ts.map +1 -1
- package/lib/typescript/src/screens/Developer.d.ts.map +1 -1
- package/lib/typescript/src/screens/Home.d.ts.map +1 -1
- package/lib/typescript/src/screens/ListCredentials.d.ts.map +1 -1
- package/lib/typescript/src/screens/PINCreate.d.ts.map +1 -1
- package/lib/typescript/src/screens/PINVerify.d.ts.map +1 -1
- package/lib/typescript/src/services/AgentBridge.d.ts +31 -0
- package/lib/typescript/src/services/AgentBridge.d.ts.map +1 -0
- package/lib/typescript/src/types/credentials.d.ts +5 -0
- package/lib/typescript/src/types/credentials.d.ts.map +1 -1
- package/lib/typescript/src/types/notification.d.ts +4 -0
- package/lib/typescript/src/types/notification.d.ts.map +1 -1
- package/lib/typescript/src/utils/agent.d.ts.map +1 -1
- package/lib/typescript/src/utils/cred-def.d.ts +8 -3
- package/lib/typescript/src/utils/cred-def.d.ts.map +1 -1
- package/lib/typescript/src/utils/credential.d.ts +36 -0
- package/lib/typescript/src/utils/credential.d.ts.map +1 -1
- package/lib/typescript/src/utils/helpers.d.ts +5 -1
- package/lib/typescript/src/utils/helpers.d.ts.map +1 -1
- package/package.json +10 -4
- package/lib/commonjs/modules/openid/refresh/refreshMetadata.js +0 -25
- package/lib/commonjs/modules/openid/refresh/refreshMetadata.js.map +0 -1
- package/lib/module/modules/openid/refresh/refreshMetadata.js +0 -18
- package/lib/module/modules/openid/refresh/refreshMetadata.js.map +0 -1
- package/lib/typescript/src/modules/openid/refresh/refreshMetadata.d.ts +0 -20
- package/lib/typescript/src/modules/openid/refresh/refreshMetadata.d.ts.map +0 -1
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { AnonCredsCredentialMetadataKey, parseIndyCredentialDefinitionId, parseIndySchemaId } from '@credo-ts/anoncreds';
|
|
2
2
|
import { credentialSchema } from './schema';
|
|
3
|
+
import { ensureCredentialMetadata, getEffectiveCredentialName } from './credential';
|
|
4
|
+
// Fallback default credential name when no other name is available
|
|
5
|
+
export const fallbackDefaultCredentialNameValue = 'Credential';
|
|
6
|
+
|
|
7
|
+
// Default credential definition tag value
|
|
8
|
+
export const defaultCredDefTag = 'default';
|
|
3
9
|
|
|
4
10
|
// Normalize incoming identifiers by trimming whitespace and converting empty strings to undefined
|
|
5
11
|
function normalizeId(id) {
|
|
@@ -7,47 +13,13 @@ function normalizeId(id) {
|
|
|
7
13
|
const trimmed = id.trim();
|
|
8
14
|
return trimmed.length > 0 ? trimmed : undefined;
|
|
9
15
|
}
|
|
10
|
-
export async function getCredentialName(credDefId, schemaId
|
|
16
|
+
export async function getCredentialName(credDefId, schemaId) {
|
|
11
17
|
const normalizedCredDefId = normalizeId(credDefId);
|
|
12
18
|
const normalizedSchemaId = normalizeId(schemaId);
|
|
13
|
-
const isWebvh = !!(normalizedCredDefId !== null && normalizedCredDefId !== void 0 && normalizedCredDefId.toLowerCase().startsWith('did:webvh:') || normalizedSchemaId !== null && normalizedSchemaId !== void 0 && normalizedSchemaId.toLowerCase().startsWith('did:webvh:'));
|
|
14
|
-
if (isWebvh) {
|
|
15
|
-
return parseWebVHCredDefId(normalizedCredDefId, normalizedSchemaId, agent);
|
|
16
|
-
}
|
|
17
19
|
return parseIndyCredDefId(normalizedCredDefId, normalizedSchemaId);
|
|
18
20
|
}
|
|
19
|
-
async function parseWebVHCredDefId(credDefId, schemaId, agent) {
|
|
20
|
-
var _agent$modules;
|
|
21
|
-
let name = 'Credential';
|
|
22
|
-
if (!(agent !== null && agent !== void 0 && (_agent$modules = agent.modules) !== null && _agent$modules !== void 0 && _agent$modules.anoncreds)) {
|
|
23
|
-
return name;
|
|
24
|
-
}
|
|
25
|
-
if (credDefId) {
|
|
26
|
-
try {
|
|
27
|
-
const {
|
|
28
|
-
credentialDefinition: result
|
|
29
|
-
} = await agent.modules.anoncreds.getCredentialDefinition(credDefId);
|
|
30
|
-
name = (result === null || result === void 0 ? void 0 : result.tag) ?? name;
|
|
31
|
-
} catch {
|
|
32
|
-
var _agent$config;
|
|
33
|
-
agent === null || agent === void 0 || (_agent$config = agent.config) === null || _agent$config === void 0 || (_agent$config = _agent$config.logger) === null || _agent$config === void 0 || _agent$config.info('parseWebVHCredDefId: Credential definition not found, using default name');
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
if ((name.toLowerCase() === 'default' || name.toLowerCase() === 'credential') && schemaId) {
|
|
37
|
-
try {
|
|
38
|
-
const {
|
|
39
|
-
schema: result
|
|
40
|
-
} = await agent.modules.anoncreds.getSchema(schemaId);
|
|
41
|
-
name = (result === null || result === void 0 ? void 0 : result.name) ?? name;
|
|
42
|
-
} catch {
|
|
43
|
-
var _agent$config2;
|
|
44
|
-
agent === null || agent === void 0 || (_agent$config2 = agent.config) === null || _agent$config2 === void 0 || (_agent$config2 = _agent$config2.logger) === null || _agent$config2 === void 0 || _agent$config2.info('parseWebVHCredDefId: Schema definition not found, using default name');
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return name || 'Credential';
|
|
48
|
-
}
|
|
49
21
|
function parseIndyCredDefId(credDefId, schemaId) {
|
|
50
|
-
let name =
|
|
22
|
+
let name = fallbackDefaultCredentialNameValue;
|
|
51
23
|
if (credDefId) {
|
|
52
24
|
try {
|
|
53
25
|
const parsedCredDef = parseIndyCredentialDefinitionId(credDefId);
|
|
@@ -56,17 +28,17 @@ function parseIndyCredDefId(credDefId, schemaId) {
|
|
|
56
28
|
// If parsing fails, keep the default name
|
|
57
29
|
}
|
|
58
30
|
}
|
|
59
|
-
if (name.toLowerCase() ===
|
|
31
|
+
if (name.toLowerCase() === defaultCredDefTag || name.toLowerCase() === fallbackDefaultCredentialNameValue.toLowerCase()) {
|
|
60
32
|
if (schemaId) {
|
|
61
33
|
try {
|
|
62
34
|
const parsedSchema = parseIndySchemaId(schemaId);
|
|
63
35
|
name = (parsedSchema === null || parsedSchema === void 0 ? void 0 : parsedSchema.schemaName) ?? name;
|
|
64
36
|
} catch {
|
|
65
37
|
// If parsing fails, keep the default name
|
|
66
|
-
name =
|
|
38
|
+
name = fallbackDefaultCredentialNameValue;
|
|
67
39
|
}
|
|
68
40
|
} else {
|
|
69
|
-
name =
|
|
41
|
+
name = fallbackDefaultCredentialNameValue;
|
|
70
42
|
}
|
|
71
43
|
}
|
|
72
44
|
return name;
|
|
@@ -75,10 +47,41 @@ function credentialDefinition(credential) {
|
|
|
75
47
|
var _credential$metadata$;
|
|
76
48
|
return (_credential$metadata$ = credential.metadata.get(AnonCredsCredentialMetadataKey)) === null || _credential$metadata$ === void 0 ? void 0 : _credential$metadata$.credentialDefinitionId;
|
|
77
49
|
}
|
|
78
|
-
export
|
|
79
|
-
|
|
50
|
+
export function getSchemaName(credential) {
|
|
51
|
+
const metadata = credential.metadata.get(AnonCredsCredentialMetadataKey);
|
|
52
|
+
const schemaName = metadata === null || metadata === void 0 ? void 0 : metadata.schemaName;
|
|
53
|
+
return schemaName;
|
|
54
|
+
}
|
|
55
|
+
export function getCredDefTag(credential) {
|
|
56
|
+
const metadata = credential.metadata.get(AnonCredsCredentialMetadataKey);
|
|
57
|
+
const credDefTag = metadata === null || metadata === void 0 ? void 0 : metadata.credDefTag;
|
|
58
|
+
return credDefTag;
|
|
59
|
+
}
|
|
60
|
+
export async function parsedCredDefNameFromCredential(credential, agent, logger) {
|
|
61
|
+
// Ensure metadata is cached if agent is provided
|
|
62
|
+
if (agent) {
|
|
63
|
+
try {
|
|
64
|
+
await ensureCredentialMetadata(credential, agent, undefined, logger);
|
|
65
|
+
} catch (error) {
|
|
66
|
+
// If metadata restoration fails, we'll fall back to parsing IDs or default name
|
|
67
|
+
logger === null || logger === void 0 || logger.warn('Failed to restore credential metadata in parsedCredDefNameFromCredential', {
|
|
68
|
+
error: error
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Check if we have cached metadata
|
|
74
|
+
const cachedSchemaName = getSchemaName(credential);
|
|
75
|
+
if (cachedSchemaName) {
|
|
76
|
+
// Use the priority waterfall logic (OCA name > credDefTag > schemaName > fallback)
|
|
77
|
+
return getEffectiveCredentialName(credential);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Fallback: parse the IDs if metadata is not cached and no agent to resolve
|
|
81
|
+
const fallbackName = await getCredentialName(credentialDefinition(credential), credentialSchema(credential));
|
|
82
|
+
return fallbackName;
|
|
80
83
|
}
|
|
81
|
-
export async function parsedCredDefName(credentialDefinitionId, schemaId
|
|
82
|
-
return getCredentialName(credentialDefinitionId, schemaId
|
|
84
|
+
export async function parsedCredDefName(credentialDefinitionId, schemaId) {
|
|
85
|
+
return getCredentialName(credentialDefinitionId, schemaId);
|
|
83
86
|
}
|
|
84
87
|
//# sourceMappingURL=cred-def.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AnonCredsCredentialMetadataKey","parseIndyCredentialDefinitionId","parseIndySchemaId","credentialSchema","
|
|
1
|
+
{"version":3,"names":["AnonCredsCredentialMetadataKey","parseIndyCredentialDefinitionId","parseIndySchemaId","credentialSchema","ensureCredentialMetadata","getEffectiveCredentialName","fallbackDefaultCredentialNameValue","defaultCredDefTag","normalizeId","id","undefined","trimmed","trim","length","getCredentialName","credDefId","schemaId","normalizedCredDefId","normalizedSchemaId","parseIndyCredDefId","name","parsedCredDef","tag","toLowerCase","parsedSchema","schemaName","credentialDefinition","credential","_credential$metadata$","metadata","get","credentialDefinitionId","getSchemaName","getCredDefTag","credDefTag","parsedCredDefNameFromCredential","agent","logger","error","warn","cachedSchemaName","fallbackName","parsedCredDefName"],"sourceRoot":"../../../src","sources":["utils/cred-def.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AnonCredsCredentialMetadataKey } from '@credo-ts/anoncreds';
|
|
2
2
|
import { CredentialState } from '@credo-ts/core';
|
|
3
3
|
import { luminanceForHexColor } from './luminance';
|
|
4
|
+
import { getSchemaName, getCredDefTag, fallbackDefaultCredentialNameValue, defaultCredDefTag } from './cred-def';
|
|
4
5
|
export const isValidAnonCredsCredential = credential => {
|
|
5
6
|
return credential && (credential.state === CredentialState.OfferReceived || Boolean(credential.metadata.get(AnonCredsCredentialMetadataKey)) && credential.credentials.find(c => c.credentialRecordType === 'anoncreds' || c.credentialRecordType === 'w3c'));
|
|
6
7
|
};
|
|
@@ -28,4 +29,213 @@ export const getCredentialIdentifiers = credential => {
|
|
|
28
29
|
schemaId: (_credential$metadata$2 = credential.metadata.get(AnonCredsCredentialMetadataKey)) === null || _credential$metadata$2 === void 0 ? void 0 : _credential$metadata$2.schemaId
|
|
29
30
|
};
|
|
30
31
|
};
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Attempts to resolve schema and credDef IDs from credential format data.
|
|
35
|
+
*/
|
|
36
|
+
async function resolveIdsFromFormatData(credential, agent, logger) {
|
|
37
|
+
try {
|
|
38
|
+
const {
|
|
39
|
+
offer
|
|
40
|
+
} = await agent.credentials.getFormatData(credential.id);
|
|
41
|
+
const formatOfferData = (offer === null || offer === void 0 ? void 0 : offer.anoncreds) ?? (offer === null || offer === void 0 ? void 0 : offer.indy);
|
|
42
|
+
|
|
43
|
+
// Type guard to check if formatOfferData has the expected structure
|
|
44
|
+
if (formatOfferData && typeof formatOfferData === 'object' && 'schema_id' in formatOfferData && typeof formatOfferData.schema_id === 'string') {
|
|
45
|
+
return {
|
|
46
|
+
schemaId: formatOfferData.schema_id,
|
|
47
|
+
credDefId: 'cred_def_id' in formatOfferData && typeof formatOfferData.cred_def_id === 'string' ? formatOfferData.cred_def_id : undefined
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
} catch (error) {
|
|
51
|
+
logger === null || logger === void 0 || logger.error('Failed to get format data', {
|
|
52
|
+
error: error
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return {};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Resolves schema name from the given schema ID.
|
|
60
|
+
*/
|
|
61
|
+
async function resolveSchemaName(schemaId, agent, logger) {
|
|
62
|
+
try {
|
|
63
|
+
const {
|
|
64
|
+
schema: resolvedSchema
|
|
65
|
+
} = await agent.modules.anoncreds.getSchema(schemaId);
|
|
66
|
+
const schemaName = resolvedSchema === null || resolvedSchema === void 0 ? void 0 : resolvedSchema.name;
|
|
67
|
+
logger === null || logger === void 0 || logger.debug('Resolved schema name', {
|
|
68
|
+
schemaId,
|
|
69
|
+
schemaName
|
|
70
|
+
});
|
|
71
|
+
return schemaName;
|
|
72
|
+
} catch (error) {
|
|
73
|
+
logger === null || logger === void 0 || logger.warn('Failed to resolve schema', {
|
|
74
|
+
error: error,
|
|
75
|
+
schemaId
|
|
76
|
+
});
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Resolves credential definition tag from the given cred def ID.
|
|
83
|
+
*/
|
|
84
|
+
async function resolveCredDefTag(credDefId, agent, logger) {
|
|
85
|
+
try {
|
|
86
|
+
const {
|
|
87
|
+
credentialDefinition: resolvedCredDef
|
|
88
|
+
} = await agent.modules.anoncreds.getCredentialDefinition(credDefId);
|
|
89
|
+
const credDefTag = resolvedCredDef === null || resolvedCredDef === void 0 ? void 0 : resolvedCredDef.tag;
|
|
90
|
+
logger === null || logger === void 0 || logger.debug('Resolved credential definition tag', {
|
|
91
|
+
credDefId,
|
|
92
|
+
credDefTag
|
|
93
|
+
});
|
|
94
|
+
return credDefTag;
|
|
95
|
+
} catch (error) {
|
|
96
|
+
logger === null || logger === void 0 || logger.warn('Failed to resolve credential definition', {
|
|
97
|
+
error: error,
|
|
98
|
+
credDefId
|
|
99
|
+
});
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Determines the IDs to use for resolution, preferring offer data over existing metadata.
|
|
106
|
+
*/
|
|
107
|
+
async function determineSchemaAndCredDefIds(credential, agent, offerData, existingMetadata, logger) {
|
|
108
|
+
let schemaId = (offerData === null || offerData === void 0 ? void 0 : offerData.schema_id) || (existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.schemaId);
|
|
109
|
+
let credDefId = (offerData === null || offerData === void 0 ? void 0 : offerData.cred_def_id) || (existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.credentialDefinitionId);
|
|
110
|
+
const needsResolution = !schemaId || !credDefId;
|
|
111
|
+
if (needsResolution) {
|
|
112
|
+
const resolvedIds = await resolveIdsFromFormatData(credential, agent, logger);
|
|
113
|
+
schemaId = schemaId || resolvedIds.schemaId;
|
|
114
|
+
credDefId = credDefId || resolvedIds.credDefId;
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
schemaId,
|
|
118
|
+
credDefId
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Updates credential metadata with resolved schema name and cred def tag.
|
|
124
|
+
*/
|
|
125
|
+
async function updateCredentialMetadata(params) {
|
|
126
|
+
const {
|
|
127
|
+
credential,
|
|
128
|
+
agent,
|
|
129
|
+
existingMetadata,
|
|
130
|
+
schemaId,
|
|
131
|
+
credDefId,
|
|
132
|
+
schemaName,
|
|
133
|
+
credDefTag,
|
|
134
|
+
logger
|
|
135
|
+
} = params;
|
|
136
|
+
const metadataToStore = {
|
|
137
|
+
...existingMetadata,
|
|
138
|
+
schemaId,
|
|
139
|
+
credentialDefinitionId: credDefId,
|
|
140
|
+
schemaName,
|
|
141
|
+
credDefTag
|
|
142
|
+
};
|
|
143
|
+
credential.metadata.add(AnonCredsCredentialMetadataKey, metadataToStore);
|
|
144
|
+
await agent.credentials.update(credential);
|
|
145
|
+
logger === null || logger === void 0 || logger.info('Credential metadata ensured', {
|
|
146
|
+
credentialId: credential.id,
|
|
147
|
+
schemaName,
|
|
148
|
+
credDefTag,
|
|
149
|
+
wasUpdated: true
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Ensures credential has all required metadata cached. If any metadata is missing,
|
|
155
|
+
* it will be resolved and added to the credential.
|
|
156
|
+
*
|
|
157
|
+
* @param credential - The credential record to ensure metadata for
|
|
158
|
+
* @param agent - The agent instance for resolving schema/credDef
|
|
159
|
+
* @param offerData - Optional offer data containing schema_id and cred_def_id
|
|
160
|
+
* @param logger - Optional logger instance for logging
|
|
161
|
+
* @returns Promise<boolean> - Returns true if metadata was updated, false otherwise
|
|
162
|
+
*/
|
|
163
|
+
export async function ensureCredentialMetadata(credential, agent, offerData, logger) {
|
|
164
|
+
var _agent$modules;
|
|
165
|
+
if (!(agent !== null && agent !== void 0 && (_agent$modules = agent.modules) !== null && _agent$modules !== void 0 && _agent$modules.anoncreds)) {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
const existingMetadata = credential.metadata.get(AnonCredsCredentialMetadataKey);
|
|
169
|
+
const {
|
|
170
|
+
schemaId,
|
|
171
|
+
credDefId
|
|
172
|
+
} = await determineSchemaAndCredDefIds(credential, agent, offerData, existingMetadata, logger);
|
|
173
|
+
|
|
174
|
+
// Check what's missing
|
|
175
|
+
const needsSchemaName = !(existingMetadata !== null && existingMetadata !== void 0 && existingMetadata.schemaName) && schemaId;
|
|
176
|
+
const needsCredDefTag = !(existingMetadata !== null && existingMetadata !== void 0 && existingMetadata.credDefTag) && credDefId;
|
|
177
|
+
const hasAllMetadata = !needsSchemaName && !needsCredDefTag;
|
|
178
|
+
if (hasAllMetadata) {
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// Resolve missing metadata
|
|
183
|
+
const schemaName = needsSchemaName && schemaId ? await resolveSchemaName(schemaId, agent, logger) : existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.schemaName;
|
|
184
|
+
const credDefTag = needsCredDefTag && credDefId ? await resolveCredDefTag(credDefId, agent, logger) : existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.credDefTag;
|
|
185
|
+
await updateCredentialMetadata({
|
|
186
|
+
credential,
|
|
187
|
+
agent,
|
|
188
|
+
existingMetadata,
|
|
189
|
+
schemaId,
|
|
190
|
+
credDefId,
|
|
191
|
+
schemaName,
|
|
192
|
+
credDefTag,
|
|
193
|
+
logger
|
|
194
|
+
});
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Validates whether a credential name is meaningful and should be used for display.
|
|
200
|
+
* Returns false for undefined, empty, whitespace-only, or default placeholder names.
|
|
201
|
+
*
|
|
202
|
+
* @param name - The name to validate
|
|
203
|
+
* @returns true if the name is valid and meaningful, false otherwise
|
|
204
|
+
*/
|
|
205
|
+
export function isValidCredentialName(name) {
|
|
206
|
+
return !!(name && name !== defaultCredDefTag && name !== fallbackDefaultCredentialNameValue && name.trim() !== '');
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Determines the effective credential name using a priority waterfall:
|
|
211
|
+
* 1. OCA Bundle name (if present and meaningful)
|
|
212
|
+
* 2. Credential definition tag (if present)
|
|
213
|
+
* 3. Schema name (if present)
|
|
214
|
+
* 4. Default fallback name
|
|
215
|
+
*
|
|
216
|
+
* @param credential - The credential record
|
|
217
|
+
* @param ocaName - The name from OCA meta overlay
|
|
218
|
+
* @returns The effective name to use for display
|
|
219
|
+
*/
|
|
220
|
+
export function getEffectiveCredentialName(credential, ocaName) {
|
|
221
|
+
// 1. Try OCA Bundle name
|
|
222
|
+
if (isValidCredentialName(ocaName)) {
|
|
223
|
+
return ocaName;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
// 2. Try credential definition tag
|
|
227
|
+
const credDefTag = getCredDefTag(credential);
|
|
228
|
+
if (isValidCredentialName(credDefTag)) {
|
|
229
|
+
return credDefTag;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// 3. Try schema name
|
|
233
|
+
const schemaName = getSchemaName(credential);
|
|
234
|
+
if (isValidCredentialName(schemaName)) {
|
|
235
|
+
return schemaName;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
// 4. Return default fallback
|
|
239
|
+
return fallbackDefaultCredentialNameValue;
|
|
240
|
+
}
|
|
31
241
|
//# sourceMappingURL=credential.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AnonCredsCredentialMetadataKey","CredentialState","luminanceForHexColor","isValidAnonCredsCredential","credential","state","OfferReceived","Boolean","metadata","get","credentials","find","c","credentialRecordType","credentialTextColor","ColorPalette","hex","midpoint","grayscale","darkGrey","white","toImageSource","source","uri","getCredentialIdentifiers","_credential$metadata$","_credential$metadata$2","credentialDefinitionId","schemaId"],"sourceRoot":"../../../src","sources":["utils/credential.ts"],"mappings":"AAAA,SAASA,8BAA8B,QAAQ,qBAAqB;AACpE,SAAmCC,eAAe,QAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"names":["AnonCredsCredentialMetadataKey","CredentialState","luminanceForHexColor","getSchemaName","getCredDefTag","fallbackDefaultCredentialNameValue","defaultCredDefTag","isValidAnonCredsCredential","credential","state","OfferReceived","Boolean","metadata","get","credentials","find","c","credentialRecordType","credentialTextColor","ColorPalette","hex","midpoint","grayscale","darkGrey","white","toImageSource","source","uri","getCredentialIdentifiers","_credential$metadata$","_credential$metadata$2","credentialDefinitionId","schemaId","resolveIdsFromFormatData","agent","logger","offer","getFormatData","id","formatOfferData","anoncreds","indy","schema_id","credDefId","cred_def_id","undefined","error","resolveSchemaName","schema","resolvedSchema","modules","getSchema","schemaName","name","debug","warn","resolveCredDefTag","credentialDefinition","resolvedCredDef","getCredentialDefinition","credDefTag","tag","determineSchemaAndCredDefIds","offerData","existingMetadata","needsResolution","resolvedIds","updateCredentialMetadata","params","metadataToStore","add","update","info","credentialId","wasUpdated","ensureCredentialMetadata","_agent$modules","needsSchemaName","needsCredDefTag","hasAllMetadata","isValidCredentialName","trim","getEffectiveCredentialName","ocaName"],"sourceRoot":"../../../src","sources":["utils/credential.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,7 +14,8 @@ import { Role } from '../types/chat';
|
|
|
14
14
|
import { BifoldError } from '../types/error';
|
|
15
15
|
import { Screens, Stacks } from '../types/navigators';
|
|
16
16
|
import { createAnonCredsProofRequest, filterInvalidProofRequestMatches, getDescriptorMetadata } from './anonCredsProofRequestMapper';
|
|
17
|
-
import {
|
|
17
|
+
import { fallbackDefaultCredentialNameValue, defaultCredDefTag } from './cred-def';
|
|
18
|
+
import { getEffectiveCredentialName } from './credential';
|
|
18
19
|
import { isOpenIdCredentialOffer, isOpenIdPresentationRequest } from './parsers';
|
|
19
20
|
import { isMediatorInvitation } from './mediatorhelpers';
|
|
20
21
|
export { parsedCredDefNameFromCredential } from './cred-def';
|
|
@@ -243,7 +244,53 @@ export const credentialSortFn = (a, b) => {
|
|
|
243
244
|
return b.timestamp - a.timestamp;
|
|
244
245
|
}
|
|
245
246
|
};
|
|
246
|
-
const
|
|
247
|
+
export const resolveCredDefTag = async (cred_def_id, agent) => {
|
|
248
|
+
var _agent$modules;
|
|
249
|
+
if (cred_def_id && agent !== null && agent !== void 0 && (_agent$modules = agent.modules) !== null && _agent$modules !== void 0 && _agent$modules.anoncreds) {
|
|
250
|
+
try {
|
|
251
|
+
const {
|
|
252
|
+
credentialDefinition
|
|
253
|
+
} = await agent.modules.anoncreds.getCredentialDefinition(cred_def_id);
|
|
254
|
+
if (credentialDefinition !== null && credentialDefinition !== void 0 && credentialDefinition.tag && credentialDefinition.tag.toLowerCase() !== defaultCredDefTag && credentialDefinition.tag !== fallbackDefaultCredentialNameValue) {
|
|
255
|
+
return credentialDefinition.tag;
|
|
256
|
+
}
|
|
257
|
+
} catch (error) {
|
|
258
|
+
// Failed to resolve credential definition, return undefined
|
|
259
|
+
// This is expected when the credential definition doesn't exist or isn't accessible
|
|
260
|
+
// eslint-disable-next-line no-console
|
|
261
|
+
console.debug('Failed to resolve credential definition tag', {
|
|
262
|
+
cred_def_id,
|
|
263
|
+
error
|
|
264
|
+
});
|
|
265
|
+
return undefined;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
return undefined;
|
|
269
|
+
};
|
|
270
|
+
export const resolveSchemaName = async (schema_id, agent) => {
|
|
271
|
+
var _agent$modules2;
|
|
272
|
+
if (schema_id && agent !== null && agent !== void 0 && (_agent$modules2 = agent.modules) !== null && _agent$modules2 !== void 0 && _agent$modules2.anoncreds) {
|
|
273
|
+
try {
|
|
274
|
+
const {
|
|
275
|
+
schema
|
|
276
|
+
} = await agent.modules.anoncreds.getSchema(schema_id);
|
|
277
|
+
if (schema !== null && schema !== void 0 && schema.name && schema.name !== fallbackDefaultCredentialNameValue) {
|
|
278
|
+
return schema.name;
|
|
279
|
+
}
|
|
280
|
+
} catch (error) {
|
|
281
|
+
// Failed to resolve schema, return undefined
|
|
282
|
+
// This is expected when the schema doesn't exist or isn't accessible
|
|
283
|
+
// eslint-disable-next-line no-console
|
|
284
|
+
console.debug('Failed to resolve schema name', {
|
|
285
|
+
schema_id,
|
|
286
|
+
error
|
|
287
|
+
});
|
|
288
|
+
return undefined;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
return undefined;
|
|
292
|
+
};
|
|
293
|
+
export const credNameFromRestriction = async (queries, agent) => {
|
|
247
294
|
let schema_name = '';
|
|
248
295
|
let cred_def_id = '';
|
|
249
296
|
let schema_id = '';
|
|
@@ -252,11 +299,26 @@ const credNameFromRestriction = async (queries, agent) => {
|
|
|
252
299
|
cred_def_id = (query === null || query === void 0 ? void 0 : query.cred_def_id) ?? cred_def_id;
|
|
253
300
|
schema_id = (query === null || query === void 0 ? void 0 : query.schema_id) ?? schema_id;
|
|
254
301
|
});
|
|
255
|
-
|
|
302
|
+
|
|
303
|
+
// Priority 1: Provided restriction schema name (from schema_name in restriction if meaningful)
|
|
304
|
+
if (schema_name && schema_name.toLowerCase() !== defaultCredDefTag && schema_name.toLowerCase() !== fallbackDefaultCredentialNameValue.toLowerCase()) {
|
|
256
305
|
return schema_name;
|
|
257
|
-
} else {
|
|
258
|
-
return await getCredentialName(cred_def_id, schema_id, agent);
|
|
259
306
|
}
|
|
307
|
+
|
|
308
|
+
// Priority 2: Try to resolve credential definition tag
|
|
309
|
+
const credDefTag = await resolveCredDefTag(cred_def_id, agent);
|
|
310
|
+
if (credDefTag) {
|
|
311
|
+
return credDefTag;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
// Priority 3: Try to resolve schema name
|
|
315
|
+
const schemaName = await resolveSchemaName(schema_id, agent);
|
|
316
|
+
if (schemaName) {
|
|
317
|
+
return schemaName;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
// Priority 4: Return default fallback
|
|
321
|
+
return fallbackDefaultCredentialNameValue;
|
|
260
322
|
};
|
|
261
323
|
export const credDefIdFromRestrictions = queries => {
|
|
262
324
|
var _queries$filter$;
|
|
@@ -440,12 +502,6 @@ export const processProofAttributes = async (t, request, credentials, credential
|
|
|
440
502
|
}
|
|
441
503
|
//iterate over all credentials that satisfy the proof
|
|
442
504
|
for (const credential of credentialList) {
|
|
443
|
-
var _credential$credentia, _credential$credentia2;
|
|
444
|
-
let credName = key;
|
|
445
|
-
if (credential !== null && credential !== void 0 && (_credential$credentia = credential.credentialInfo) !== null && _credential$credentia !== void 0 && _credential$credentia.credentialDefinitionId || credential !== null && credential !== void 0 && (_credential$credentia2 = credential.credentialInfo) !== null && _credential$credentia2 !== void 0 && _credential$credentia2.schemaId) {
|
|
446
|
-
var _credential$credentia3, _credential$credentia4;
|
|
447
|
-
credName = await getCredentialName(credential === null || credential === void 0 || (_credential$credentia3 = credential.credentialInfo) === null || _credential$credentia3 === void 0 ? void 0 : _credential$credentia3.credentialDefinitionId, credential === null || credential === void 0 || (_credential$credentia4 = credential.credentialInfo) === null || _credential$credentia4 === void 0 ? void 0 : _credential$credentia4.schemaId, agent);
|
|
448
|
-
}
|
|
449
505
|
let revoked = false;
|
|
450
506
|
let credExchangeRecord = undefined;
|
|
451
507
|
if (credential) {
|
|
@@ -455,17 +511,20 @@ export const processProofAttributes = async (t, request, credentials, credential
|
|
|
455
511
|
} else {
|
|
456
512
|
continue;
|
|
457
513
|
}
|
|
514
|
+
|
|
515
|
+
// Use cached metadata if we have the credential record
|
|
516
|
+
const credName = credExchangeRecord ? getEffectiveCredentialName(credExchangeRecord) : key;
|
|
458
517
|
for (const attributeName of [...(names ?? (name && [name]) ?? [])]) {
|
|
459
518
|
var _processedAttributes$4;
|
|
460
519
|
if (!processedAttributes[credential.credentialId]) {
|
|
461
|
-
var _credential$
|
|
520
|
+
var _credential$credentia, _credential$credentia2;
|
|
462
521
|
// init processedAttributes object
|
|
463
522
|
processedAttributes[credential.credentialId] = {
|
|
464
523
|
credExchangeRecord,
|
|
465
524
|
altCredentials,
|
|
466
525
|
credId: credential === null || credential === void 0 ? void 0 : credential.credentialId,
|
|
467
|
-
schemaId: (credential === null || credential === void 0 || (_credential$
|
|
468
|
-
credDefId: (credential === null || credential === void 0 || (_credential$
|
|
526
|
+
schemaId: (credential === null || credential === void 0 || (_credential$credentia = credential.credentialInfo) === null || _credential$credentia === void 0 ? void 0 : _credential$credentia.schemaId) ?? proofSchemaId,
|
|
527
|
+
credDefId: (credential === null || credential === void 0 || (_credential$credentia2 = credential.credentialInfo) === null || _credential$credentia2 === void 0 ? void 0 : _credential$credentia2.credentialDefinitionId) ?? proofCredDefId,
|
|
469
528
|
credName,
|
|
470
529
|
attributes: []
|
|
471
530
|
};
|
|
@@ -570,7 +629,7 @@ export const processProofPredicates = async (request, credentials, credentialRec
|
|
|
570
629
|
}
|
|
571
630
|
}
|
|
572
631
|
for (const credential of credentialList) {
|
|
573
|
-
var _requestedProofPredic,
|
|
632
|
+
var _requestedProofPredic, _processedPredicates$3;
|
|
574
633
|
let revoked = false;
|
|
575
634
|
let credExchangeRecord = undefined;
|
|
576
635
|
if (credential) {
|
|
@@ -588,11 +647,9 @@ export const processProofPredicates = async (request, credentials, credentialRec
|
|
|
588
647
|
...(credential === null || credential === void 0 ? void 0 : credential.credentialInfo)
|
|
589
648
|
};
|
|
590
649
|
const credNameRestriction = await credNameFromRestriction((_requestedProofPredic = requestedProofPredicates[key]) === null || _requestedProofPredic === void 0 ? void 0 : _requestedProofPredic.restrictions, agent);
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
credName = await getCredentialName(credential === null || credential === void 0 || (_credential$credentia9 = credential.credentialInfo) === null || _credential$credentia9 === void 0 ? void 0 : _credential$credentia9.credentialDefinitionId, credential === null || credential === void 0 || (_credential$credentia0 = credential.credentialInfo) === null || _credential$credentia0 === void 0 ? void 0 : _credential$credentia0.schemaId, agent);
|
|
595
|
-
}
|
|
650
|
+
|
|
651
|
+
// Use cached metadata if we have the credential record
|
|
652
|
+
const credName = credExchangeRecord ? getEffectiveCredentialName(credExchangeRecord) : credNameRestriction ?? key;
|
|
596
653
|
if (!processedPredicates[credential.credentialId]) {
|
|
597
654
|
processedPredicates[credential.credentialId] = {
|
|
598
655
|
altCredentials,
|
|
@@ -815,8 +872,9 @@ export const sortCredentialsForAutoSelect = credentials => {
|
|
|
815
872
|
* received invitations exist
|
|
816
873
|
* @param agent an Agent instance
|
|
817
874
|
* @param invitationId specifically a *received* invitation id
|
|
875
|
+
* @param logger optional logger instance
|
|
818
876
|
*/
|
|
819
|
-
export const removeExistingInvitationsById = async (agent, invitationId) => {
|
|
877
|
+
export const removeExistingInvitationsById = async (agent, invitationId, logger) => {
|
|
820
878
|
// This is implemented just as findByReceivedInvitationId is
|
|
821
879
|
// in Credo only this is able to return multiple if they exist
|
|
822
880
|
const oobRecords = (await (agent === null || agent === void 0 ? void 0 : agent.oob.findAllByQuery({
|
|
@@ -825,7 +883,7 @@ export const removeExistingInvitationsById = async (agent, invitationId) => {
|
|
|
825
883
|
}))) || [];
|
|
826
884
|
for (const r of oobRecords) {
|
|
827
885
|
await (agent === null || agent === void 0 ? void 0 : agent.oob.deleteById(r.id));
|
|
828
|
-
|
|
886
|
+
logger === null || logger === void 0 || logger.info('Successfully removed an existing oob invitation');
|
|
829
887
|
}
|
|
830
888
|
};
|
|
831
889
|
|