diff --git a/apps/easypid/src/agent/initialize.ts b/apps/easypid/src/agent/initialize.ts
index 266b240a..e7fbf3e8 100644
--- a/apps/easypid/src/agent/initialize.ts
+++ b/apps/easypid/src/agent/initialize.ts
@@ -1,7 +1,8 @@
-import { setFallbackSecureEnvironment } from '@animo-id/expo-secure-environment'
+import { setFallbackSecureEnvironment, shouldUseFallbackSecureEnvironment } from '@animo-id/expo-secure-environment'
import { trustedX509Certificates } from '@easypid/constants'
import { WalletServiceProviderClient } from '@easypid/crypto/WalletServiceProviderClient'
import { initializeEasyPIDAgent } from '@package/agent'
+import { getShouldUseCloudHsm } from '../features/onboarding/useShouldUseCloudHsm'
export async function initializeAppAgent({
walletKey,
@@ -29,6 +30,7 @@ export async function initializeAppAgent({
await wsp.createSalt()
await wsp.register()
}
+ if (getShouldUseCloudHsm()) shouldUseFallbackSecureEnvironment(true)
setFallbackSecureEnvironment(wsp)
return agent
diff --git a/apps/easypid/src/app/(app)/_layout.tsx b/apps/easypid/src/app/(app)/_layout.tsx
index c0736b8c..8cf7a792 100644
--- a/apps/easypid/src/app/(app)/_layout.tsx
+++ b/apps/easypid/src/app/(app)/_layout.tsx
@@ -9,6 +9,7 @@ import { type CredentialDataHandlerOptions, DeeplinkHandler, useHaptics } from '
import { HeroIcons, IconContainer } from '@package/ui'
import { useEffect, useState } from 'react'
import { useTheme } from 'tamagui'
+import { WithBackgroundPidRefresh } from '../../features/pid/WithBackPidRefresh'
const jsonRecordIds = [activityStorage.recordId]
@@ -65,42 +66,44 @@ export default function AppLayout() {
return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)
diff --git a/apps/easypid/src/features/onboarding/hasFinishedOnboarding.ts b/apps/easypid/src/features/onboarding/hasFinishedOnboarding.ts
index dc68692e..27d0d5de 100644
--- a/apps/easypid/src/features/onboarding/hasFinishedOnboarding.ts
+++ b/apps/easypid/src/features/onboarding/hasFinishedOnboarding.ts
@@ -1,6 +1,5 @@
-import { MMKV, useMMKVBoolean } from 'react-native-mmkv'
-
-const mmkv = new MMKV()
+import { useMMKVBoolean } from 'react-native-mmkv'
+import { mmkv } from '../../storage/mmkv'
export function useHasFinishedOnboarding() {
return useMMKVBoolean('hasFinishedOnboarding', mmkv)
diff --git a/apps/easypid/src/features/onboarding/onboardingContext.tsx b/apps/easypid/src/features/onboarding/onboardingContext.tsx
index 9fe10af1..768238d9 100644
--- a/apps/easypid/src/features/onboarding/onboardingContext.tsx
+++ b/apps/easypid/src/features/onboarding/onboardingContext.tsx
@@ -13,7 +13,6 @@ import {
type CardScanningState,
type OnboardingPage,
type OnboardingStep,
- type PidFlowTypes,
SIMULATOR_PIN,
pidSetupSteps,
} from '@easypid/utils/sharedPidSetup'
@@ -36,6 +35,7 @@ import { OnboardingBiometrics } from './screens/biometrics'
import { OnboardingIntroductionSteps } from './screens/introduction-steps'
import OnboardingPinEnter from './screens/pin'
import OnboardingWelcome from './screens/welcome'
+import { useShouldUseCloudHsm } from './useShouldUseCloudHsm'
export const onboardingSteps = [
{
@@ -132,6 +132,7 @@ export function OnboardingContextProvider({
const [currentStepName, setCurrentStepName] = useState(initialStep ?? 'welcome')
const router = useRouter()
const [, setHasFinishedOnboarding] = useHasFinishedOnboarding()
+ const [shouldUseCloudHsm, setShouldUseCloudHsm] = useShouldUseCloudHsm()
const pidDisplay = usePidDisplay()
const [receivePidUseCase, setReceivePidUseCase] = useState()
@@ -627,7 +628,15 @@ export function OnboardingContextProvider({
let screen: React.JSX.Element
if (currentStep.step === 'welcome') {
- screen =
+ screen = (
+ {
+ // TODO: make configurable
+ // setShouldUseCloudHsm(true)
+ goToNextStep()
+ }}
+ />
+ )
} else if (currentStep.step === 'pin' || currentStep.step === 'pin-reenter') {
screen = (
{
+ if (!shouldUseCloudHsm) return {}
+
+ let shouldRefreshSdJwt = false
+ if (sdJwt) {
+ const sdJwtBatch = getBatchCredentialMetadata(sdJwt)
+ if (sdJwtBatch) {
+ shouldRefreshSdJwt = sdJwtBatch.additionalCredentials.length <= batchThreshold
+ }
+ }
+
+ let shouldRefreshMdoc = false
+ if (mdoc) {
+ const mdocBatch = getBatchCredentialMetadata(mdoc)
+ if (mdocBatch) {
+ shouldRefreshMdoc = mdocBatch.additionalCredentials.length <= batchThreshold
+ }
+ }
+
+ return {
+ shouldRefreshSdJwt,
+ shouldRefreshMdoc,
+ }
+ }, [sdJwt, mdoc, batchThreshold, shouldUseCloudHsm])
+
+ useEffect(() => {
+ if (isRefreshing || !hasInternet || !shouldUseCloudHsm) return
+
+ if (shouldRefreshMdoc || shouldRefreshSdJwt) {
+ setIsRefreshing(true)
+
+ refreshPid({
+ agent,
+ sdJwt: shouldRefreshSdJwt ? sdJwt : undefined,
+ mdoc: shouldRefreshMdoc ? mdoc : undefined,
+ }).finally(() => setIsRefreshing(false))
+ }
+ }, [shouldRefreshMdoc, shouldRefreshSdJwt, hasInternet, agent, isRefreshing, mdoc, sdJwt, shouldUseCloudHsm])
+}
diff --git a/apps/easypid/src/hooks/usePidCredential.tsx b/apps/easypid/src/hooks/usePidCredential.tsx
index a3a60fbd..38856031 100644
--- a/apps/easypid/src/hooks/usePidCredential.tsx
+++ b/apps/easypid/src/hooks/usePidCredential.tsx
@@ -1,4 +1,4 @@
-import { ClaimFormat } from '@credo-ts/core'
+import { ClaimFormat, MdocRecord, SdJwtVcRecord } from '@credo-ts/core'
import { type CredentialForDisplayId, type CredentialMetadata, useCredentialsForDisplay } from '@package/agent'
import { capitalizeFirstLetter, sanitizeString } from '@package/utils'
import { useMemo } from 'react'
@@ -386,13 +386,14 @@ export function usePidCredential() {
attributesForDisplay: getPidAttributesForDisplay(attributes, claimFormat),
metadata: pidCredential.metadata,
metadataForDisplay: getPidMetadataAttributesForDisplay(attributes, pidCredential.metadata, ClaimFormat.SdJwtVc),
+ record: pidCredential.record,
}
})
}, [credentials])
if (isLoading) {
return {
- credential: undefined,
+ credentials: undefined,
isLoading: true,
} as const
}
@@ -402,6 +403,9 @@ export function usePidCredential() {
pidCredentialForDisplay: pidCredentials[0] as (typeof pidCredentials)[number] | undefined,
credentialIds: pidCredentials.map((p) => p.id),
credentials: pidCredentials,
+ mdoc: pidCredentials.find((c): c is typeof c & { record: MdocRecord } => c.record instanceof MdocRecord)?.record,
+ sdJwt: pidCredentials.find((c): c is typeof c & { record: SdJwtVcRecord } => c.record instanceof SdJwtVcRecord)
+ ?.record,
} as const
}
diff --git a/apps/easypid/src/storage/mmkv.ts b/apps/easypid/src/storage/mmkv.ts
new file mode 100644
index 00000000..d22cf8fb
--- /dev/null
+++ b/apps/easypid/src/storage/mmkv.ts
@@ -0,0 +1,3 @@
+import { MMKV } from 'react-native-mmkv'
+
+export const mmkv = new MMKV()
diff --git a/apps/easypid/src/use-cases/ReceivePidUseCaseCFlow.ts b/apps/easypid/src/use-cases/ReceivePidUseCaseCFlow.ts
index f7949314..3d0fc251 100644
--- a/apps/easypid/src/use-cases/ReceivePidUseCaseCFlow.ts
+++ b/apps/easypid/src/use-cases/ReceivePidUseCaseCFlow.ts
@@ -6,22 +6,32 @@ import {
type SdJwtVcRecord,
receiveCredentialFromOpenId4VciOffer,
resolveOpenId4VciOffer,
+ setRefreshCredentialMetadata,
storeCredential,
} from '@package/agent'
+import { getShouldUseCloudHsm } from '../features/onboarding/useShouldUseCloudHsm'
import { ReceivePidUseCaseFlow, type ReceivePidUseCaseFlowOptions } from './ReceivePidUseCaseFlow'
-import { C_SD_JWT_MDOC_OFFER } from './bdrPidIssuerOffers'
+import { C_PRIME_SD_JWT_MDOC_OFFER } from './bdrPidIssuerOffers'
export class ReceivePidUseCaseCFlow extends ReceivePidUseCaseFlow {
public static async initialize(options: ReceivePidUseCaseFlowOptions) {
const resolved = await resolveOpenId4VciOffer({
agent: options.agent,
- offer: { uri: C_SD_JWT_MDOC_OFFER },
+ offer: { uri: C_PRIME_SD_JWT_MDOC_OFFER },
authorization: {
clientId: ReceivePidUseCaseCFlow.CLIENT_ID,
redirectUri: ReceivePidUseCaseCFlow.REDIRECT_URI,
},
})
+ // NOTE: the bdr pid issuer does not include in their metadata that they support batch while they do support is
+ // and Credo checks for this. We modify the metadata so we can still use batch issuance
+ if (!resolved.resolvedCredentialOffer.metadata.credentialIssuer.batch_credential_issuance) {
+ resolved.resolvedCredentialOffer.metadata.credentialIssuer.batch_credential_issuance = {
+ batch_size: 10,
+ }
+ }
+
if (
!resolved.resolvedAuthorizationRequest ||
resolved.resolvedAuthorizationRequest.authorizationFlow === OpenId4VciAuthorizationFlow.PresentationDuringIssuance
@@ -57,17 +67,28 @@ export class ReceivePidUseCaseCFlow extends ReceivePidUseCaseFlow {
resolvedCredentialOffer: this.resolvedCredentialOffer,
credentialConfigurationIdsToRequest,
clientId: ReceivePidUseCaseCFlow.CLIENT_ID,
+ requestBatch: getShouldUseCloudHsm() ? 10 : false,
pidSchemes,
})
const credentialRecords: Array = []
for (const credentialResponse of credentialResponses) {
const credentialRecord = credentialResponse.credential
- if (typeof credentialRecord === 'string') throw new Error('No string expected for c flow')
+
if (credentialRecord.type !== 'SdJwtVcRecord' && credentialRecord.type !== 'MdocRecord') {
throw new Error(`Unexpected record type ${credentialRecord.type}`)
}
+ // It seems the refresh token can be re-used, so we store it on all the records
+ if (this.accessToken.accessTokenResponse.refresh_token) {
+ setRefreshCredentialMetadata(credentialRecord, {
+ refreshToken: this.accessToken.accessTokenResponse.refresh_token,
+ dpop: this.accessToken.dpop
+ ? { alg: this.accessToken.dpop.alg, jwk: this.accessToken.dpop.jwk.toJson() }
+ : undefined,
+ })
+ }
+
credentialRecords.push(credentialRecord)
await storeCredential(this.options.agent, credentialRecord)
}
diff --git a/apps/easypid/src/use-cases/RefreshPidUseCase.ts.ts b/apps/easypid/src/use-cases/RefreshPidUseCase.ts.ts
new file mode 100644
index 00000000..f0e6c024
--- /dev/null
+++ b/apps/easypid/src/use-cases/RefreshPidUseCase.ts.ts
@@ -0,0 +1,124 @@
+import { ClaimFormat, MdocRecord, getJwkFromJson } from '@credo-ts/core'
+import type { AppAgent } from '@easypid/agent'
+import {
+ type OpenId4VciRequestTokenResponse,
+ type OpenId4VciResolvedCredentialOffer,
+ SdJwtVcRecord,
+ acquireRefreshTokenAccessToken,
+ getRefreshCredentialMetadata,
+ receiveCredentialFromOpenId4VciOffer,
+ resolveOpenId4VciOffer,
+ setRefreshCredentialMetadata,
+ storeCredential,
+} from '@package/agent'
+import { pidSchemes } from '../constants'
+import { ReceivePidUseCaseFlow } from './ReceivePidUseCaseFlow'
+import { C_PRIME_SD_JWT_MDOC_OFFER } from './bdrPidIssuerOffers'
+
+export interface RefreshPidUseCaseOptions {
+ agent: AppAgent
+}
+
+export class RefreshPidUseCase {
+ protected options: RefreshPidUseCaseOptions
+
+ public resolvedCredentialOffer: OpenId4VciResolvedCredentialOffer
+ protected accessToken?: OpenId4VciRequestTokenResponse
+
+ static REDIRECT_URI = ReceivePidUseCaseFlow.REDIRECT_URI
+ static CLIENT_ID = ReceivePidUseCaseFlow.CLIENT_ID
+
+ public static async initialize(options: RefreshPidUseCaseOptions) {
+ const resolved = await resolveOpenId4VciOffer({
+ agent: options.agent,
+ offer: { uri: C_PRIME_SD_JWT_MDOC_OFFER },
+ fetchAuthorization: false,
+ })
+
+ if (!resolved.resolvedCredentialOffer.metadata.credentialIssuer.batch_credential_issuance) {
+ // NOTE: the bdr pid issuer does not include in their metadata that they support batch while they do support is
+ // and Credo checks for this. We modify the metadata so we can still use batch issuance
+ resolved.resolvedCredentialOffer.metadata.credentialIssuer.batch_credential_issuance = {
+ batch_size: 10,
+ }
+ }
+
+ return new RefreshPidUseCase(options, resolved.resolvedCredentialOffer)
+ }
+
+ protected constructor(options: RefreshPidUseCaseOptions, resolvedCredentialOffer: OpenId4VciResolvedCredentialOffer) {
+ this.resolvedCredentialOffer = resolvedCredentialOffer
+ this.options = options
+ }
+
+ public async retrieveCredentialsUsingExistingRecords({
+ sdJwt,
+ mdoc,
+ }: {
+ sdJwt?: SdJwtVcRecord
+ mdoc?: MdocRecord
+ }) {
+ const existingRefreshMetadata =
+ (sdJwt ? getRefreshCredentialMetadata(sdJwt) : undefined) ??
+ (mdoc ? getRefreshCredentialMetadata(mdoc) : undefined)
+
+ if (!existingRefreshMetadata) {
+ throw new Error('Refresh metadata must be available for refresh')
+ }
+
+ const accessToken = await acquireRefreshTokenAccessToken({
+ agent: this.options.agent,
+ clientId: ReceivePidUseCaseFlow.CLIENT_ID,
+ resolvedCredentialOffer: this.resolvedCredentialOffer,
+ authorizationServer: this.resolvedCredentialOffer.metadata.authorizationServers[0].issuer,
+ refreshToken: existingRefreshMetadata?.refreshToken,
+ dpop: existingRefreshMetadata?.dpop
+ ? { alg: existingRefreshMetadata.dpop.alg, jwk: getJwkFromJson(existingRefreshMetadata.dpop.jwk) }
+ : undefined,
+ })
+
+ const limitToFormats: string[] = []
+ if (mdoc) limitToFormats.push(ClaimFormat.MsoMdoc)
+ if (sdJwt) limitToFormats.push(ClaimFormat.SdJwtVc)
+
+ const credentialConfigurationIdsToRequest = Object.entries(
+ this.resolvedCredentialOffer.offeredCredentialConfigurations
+ )
+ .filter(([, configuration]) => limitToFormats.includes(configuration.format))
+ .map(([id]) => id)
+
+ const credentialResponses = await receiveCredentialFromOpenId4VciOffer({
+ agent: this.options.agent,
+ accessToken,
+ resolvedCredentialOffer: this.resolvedCredentialOffer,
+ credentialConfigurationIdsToRequest,
+ clientId: RefreshPidUseCase.CLIENT_ID,
+ requestBatch: 10,
+ pidSchemes,
+ })
+
+ const credentialRecords: Array = []
+ for (const credentialResponse of credentialResponses) {
+ const credentialRecord = credentialResponse.credential
+
+ if (credentialRecord.type !== 'SdJwtVcRecord' && credentialRecord.type !== 'MdocRecord') {
+ throw new Error(`Unexpected record type ${credentialRecord.type}`)
+ }
+
+ // No refresh token is issued for the refresh access token so we take the existing refresh metadata
+ setRefreshCredentialMetadata(credentialRecord, existingRefreshMetadata)
+
+ if (credentialRecord instanceof SdJwtVcRecord && sdJwt) {
+ credentialRecords.push(credentialRecord)
+ await storeCredential(this.options.agent, credentialRecord)
+ await this.options.agent.sdJwtVc.deleteById(sdJwt.id)
+ } else if (credentialRecord instanceof MdocRecord && mdoc) {
+ credentialRecords.push(credentialRecord)
+ await storeCredential(this.options.agent, credentialRecord)
+ await this.options.agent.mdoc.deleteById(mdoc.id)
+ }
+ }
+
+ return credentialRecords
+ }
+}
diff --git a/apps/easypid/src/use-cases/bdrPidIssuerOffers.ts b/apps/easypid/src/use-cases/bdrPidIssuerOffers.ts
index 0f9d32a4..dc71f633 100644
--- a/apps/easypid/src/use-cases/bdrPidIssuerOffers.ts
+++ b/apps/easypid/src/use-cases/bdrPidIssuerOffers.ts
@@ -4,5 +4,9 @@ export const B_PRIME_SD_JWT_VC_OFFER =
export const C_SD_JWT_MDOC_OFFER =
'openid-credential-offer://?credential_offer=%7B%22credential_issuer%22%3A%22https%3A%2F%2Fdemo.pid-issuer.bundesdruckerei.de%2Fc%22%2C%22credential_configuration_ids%22%3A%5B%22pid-sd-jwt%22%2C%20%22pid-mso-mdoc%22%5D%2C%22grants%22%3A%7B%22authorization_code%22%3A%7B%7D%7D%7D'
+// issues refresh_token
+export const C_PRIME_SD_JWT_MDOC_OFFER =
+ 'openid-credential-offer://?credential_offer=%7B%22credential_issuer%22%3A%22https%3A%2F%2Fdemo.pid-issuer.bundesdruckerei.de%2Fc1%22%2C%22credential_configuration_ids%22%3A%5B%22pid-sd-jwt%22%2C%20%22pid-mso-mdoc%22%5D%2C%22grants%22%3A%7B%22authorization_code%22%3A%7B%7D%7D%7D'
+
export const C_SD_JWT_OFFER =
'openid-credential-offer://?credential_offer=%7B%22credential_issuer%22%3A%22https%3A%2F%2Fdemo.pid-issuer.bundesdruckerei.de%2Fc%22%2C%22credential_configuration_ids%22%3A%5B%22pid-sd-jwt%22%5D%2C%22grants%22%3A%7B%22authorization_code%22%3A%7B%7D%7D%7D'
diff --git a/apps/easypid/src/utils/resetWallet.ts b/apps/easypid/src/utils/resetWallet.ts
index c1864097..157730c5 100644
--- a/apps/easypid/src/utils/resetWallet.ts
+++ b/apps/easypid/src/utils/resetWallet.ts
@@ -9,6 +9,7 @@ import {
removeHasFinishedOnboarding,
removeHasSeenIntroTooltip,
} from '@easypid/features/onboarding/hasFinishedOnboarding'
+import { removeShouldUseCloudHsm } from '../features/onboarding/useShouldUseCloudHsm'
export async function resetWallet(secureUnlock: SecureUnlockReturn) {
if (secureUnlock.state === 'unlocked') {
@@ -33,6 +34,7 @@ export async function resetWallet(secureUnlock: SecureUnlockReturn | string): W3cVerifiableCredential {
+ return typeof credential === 'string'
+ ? W3cJwtVerifiableCredential.fromSerializedJwt(credential)
+ : W3cJsonLdVerifiableCredential.fromJson(credential)
+}
+
export function encodeCredential(credential: VerifiableCredential): Record | string {
const credentialResult = credentialWithClaimFormat(credential)
diff --git a/packages/agent/src/index.ts b/packages/agent/src/index.ts
index 3518dc99..3d695132 100644
--- a/packages/agent/src/index.ts
+++ b/packages/agent/src/index.ts
@@ -2,11 +2,16 @@ import 'react-native-get-random-values'
import 'fast-text-encoding'
import { Buffer } from '@credo-ts/core'
+export {
+ setRefreshCredentialMetadata,
+ RefreshCredentialMetadata,
+ getRefreshCredentialMetadata,
+} from './openid4vc/refreshMetadata'
// @ts-ignore
global.Buffer = Buffer
-export type { OpenId4VciTxCode } from '@credo-ts/openid4vc'
+export type { OpenId4VciTxCode, OpenId4VciDpopRequestOptions } from '@credo-ts/openid4vc'
export {
initializeFullAgent,
initializeEasyPIDAgent,
diff --git a/packages/agent/src/invitation/handler.ts b/packages/agent/src/invitation/handler.ts
index 001bf469..a32f534c 100644
--- a/packages/agent/src/invitation/handler.ts
+++ b/packages/agent/src/invitation/handler.ts
@@ -2,9 +2,6 @@ import type {
ConnectionRecord,
CredentialStateChangedEvent,
DifPexCredentialsForRequest,
- JwkDidCreateOptions,
- Key,
- KeyDidCreateOptions,
OutOfBandInvitation,
OutOfBandRecord,
P256Jwk,
@@ -14,10 +11,12 @@ import type { PlaintextMessage } from '@credo-ts/core/build/types'
import type {
OpenId4VcSiopVerifiedAuthorizationRequest,
OpenId4VciCredentialConfigurationSupportedWithFormats,
+ OpenId4VciDpopRequestOptions,
OpenId4VciRequestTokenResponse,
OpenId4VciResolvedAuthorizationRequest,
OpenId4VciResolvedCredentialOffer,
} from '@credo-ts/openid4vc'
+import { getOid4vciCallbacks } from '@credo-ts/openid4vc/build/shared/callbacks'
import { Linking } from 'react-native'
import type { EitherAgent, FullAppAgent } from '../agent'
@@ -25,28 +24,20 @@ import { V1OfferCredentialMessage, V1RequestPresentationMessage } from '@credo-t
import {
CredentialEventTypes,
CredentialState,
+ Hasher,
JwaSignatureAlgorithm,
Jwt,
- KeyBackend,
- KeyType,
- Mdoc,
- MdocRecord,
- MdocRepository,
OutOfBandRepository,
ProofEventTypes,
ProofState,
- type SdJwtVcRecord,
- SdJwtVcRepository,
V2OfferCredentialMessage,
V2RequestPresentationMessage,
- W3cCredentialRecord,
- W3cCredentialRepository,
X509ModuleConfig,
- getJwkFromKey,
parseMessageType,
} from '@credo-ts/core'
import { supportsIncomingMessageType } from '@credo-ts/core/build/utils/messageType'
import {
+ OpenId4VciHolderService,
getOfferedCredentials,
getScopesFromCredentialConfigurationsSupported,
preAuthorizedCodeGrantIdentifier,
@@ -54,10 +45,11 @@ import {
import { getHostNameFromUrl } from '@package/utils'
import { filter, first, firstValueFrom, merge, timeout } from 'rxjs'
+import { Oauth2Client, getAuthorizationServerMetadataFromList } from '@animo-id/oauth2'
import q from 'query-string'
+import { handleBatchCredential } from '../batch'
import { credentialRecordFromCredential, encodeCredential } from '../format/credentialEncoding'
import { formatDifPexCredentialsForRequest } from '../format/formatPresentation'
-import type { CredentialForDisplayId } from '../hooks'
import { setBatchCredentialMetadata } from '../openid4vc/batchMetadata'
import { getCredentialBindingResolver } from '../openid4vc/credentialBindingResolver'
import { extractOpenId4VcCredentialMetadata, setOpenId4VcCredentialMetadata } from '../openid4vc/displayMetadata'
@@ -69,11 +61,13 @@ export async function resolveOpenId4VciOffer({
offer,
authorization,
customHeaders,
+ fetchAuthorization = true,
}: {
agent: EitherAgent
offer: { data?: string; uri?: string }
authorization?: { clientId: string; redirectUri: string }
customHeaders?: Record
+ fetchAuthorization?: boolean
}) {
let offerUri = offer.uri
@@ -95,7 +89,7 @@ export async function resolveOpenId4VciOffer({
let resolvedAuthorizationRequest: OpenId4VciResolvedAuthorizationRequest | undefined = undefined
// NOTE: we always assume scopes are used at the moment
- if (resolvedCredentialOffer.credentialOfferPayload.grants?.authorization_code) {
+ if (fetchAuthorization && resolvedCredentialOffer.credentialOfferPayload.grants?.authorization_code) {
// If only authorization_code grant is valid and user didn't provide authorization details we can't continue
if (!resolvedCredentialOffer.credentialOfferPayload.grants[preAuthorizedCodeGrantIdentifier] && !authorization) {
throw new Error(
@@ -168,6 +162,54 @@ export async function acquireAuthorizationCodeUsingPresentation({
})
}
+export async function acquireRefreshTokenAccessToken({
+ authorizationServer,
+ resolvedCredentialOffer,
+ agent,
+ clientId,
+ refreshToken,
+ dpop,
+}: {
+ agent: EitherAgent
+ resolvedCredentialOffer: OpenId4VciResolvedCredentialOffer
+ authorizationServer: string
+ clientId: string
+ refreshToken: string
+ dpop?: OpenId4VciDpopRequestOptions
+}): Promise {
+ const oauth2Client = new Oauth2Client({ callbacks: getOid4vciCallbacks(agent.context) })
+
+ // TODO: dpop retry also for this method
+ const accessTokenResponse = await oauth2Client.retrieveRefreshTokenAccessToken({
+ refreshToken,
+ resource: resolvedCredentialOffer.credentialOfferPayload.credential_issuer,
+ authorizationServerMetadata: getAuthorizationServerMetadataFromList(
+ resolvedCredentialOffer.metadata.authorizationServers,
+ authorizationServer
+ ),
+ additionalRequestPayload: {
+ client_id: clientId,
+ },
+ dpop: dpop
+ ? {
+ nonce: dpop.nonce,
+ signer: {
+ method: 'jwk',
+ alg: dpop.alg,
+ publicJwk: dpop.jwk.toJson(),
+ },
+ }
+ : undefined,
+ })
+
+ return {
+ accessToken: accessTokenResponse.accessTokenResponse.access_token,
+ cNonce: accessTokenResponse.accessTokenResponse.c_nonce,
+ dpop: dpop ? { ...dpop, nonce: accessTokenResponse.dpop?.nonce } : undefined,
+ accessTokenResponse: accessTokenResponse.accessTokenResponse,
+ }
+}
+
export async function acquireAuthorizationCodeAccessToken({
resolvedCredentialOffer,
agent,
@@ -199,12 +241,14 @@ export const receiveCredentialFromOpenId4VciOffer = async ({
accessToken,
clientId,
pidSchemes,
+ requestBatch,
}: {
agent: EitherAgent
resolvedCredentialOffer: OpenId4VciResolvedCredentialOffer
credentialConfigurationIdsToRequest?: string[]
clientId?: string
pidSchemes?: { sdJwtVcVcts: Array; msoMdocDoctypes: Array }
+ requestBatch?: boolean | number
// TODO: cNonce should maybe be provided separately (multiple calls can have different c_nonce values)
accessToken: OpenId4VciRequestTokenResponse
@@ -229,6 +273,7 @@ export const receiveCredentialFromOpenId4VciOffer = async ({
clientId,
credentialConfigurationIds: Object.keys(offeredCredentialsToRequest),
verifyCredentialStatus: false,
+ requestBatch,
allowedProofOfPossessionSignatureAlgorithms: [
// NOTE: MATTR launchpad for JFF MUST use EdDSA. So it is important that the default (first allowed one)
// is EdDSA. The list is ordered by preference, so if no suites are defined by the issuer, the first one
@@ -248,14 +293,6 @@ export const receiveCredentialFromOpenId4VciOffer = async ({
] as OpenId4VciCredentialConfigurationSupportedWithFormats
const firstCredential = credentials[0]
- if (typeof firstCredential === 'string') {
- return {
- ...credentialResponse,
- configuration,
- credential: firstCredential,
- }
- }
-
const record = credentialRecordFromCredential(firstCredential)
// OpenID4VC metadata
@@ -474,20 +511,25 @@ export const shareProof = async ({
// input descriptor has been provided in `selectedCredentials` we will use that. Otherwise
// it will pick the first available credential.
const credentials = Object.fromEntries(
- credentialsForRequest.requirements.flatMap((requirement) =>
- requirement.submissionEntry.map((entry) => {
- const credentialId = selectedCredentials[entry.inputDescriptorId]
- const credential =
- entry.verifiableCredentials.find((vc) => vc.credentialRecord.id === credentialId) ??
- entry.verifiableCredentials[0]
-
- return [entry.inputDescriptorId, [credential.credentialRecord]]
- })
+ await Promise.all(
+ credentialsForRequest.requirements.flatMap((requirement) =>
+ requirement.submissionEntry.map(async (entry) => {
+ const credentialId = selectedCredentials[entry.inputDescriptorId]
+ const credential =
+ entry.verifiableCredentials.find((vc) => vc.credentialRecord.id === credentialId) ??
+ entry.verifiableCredentials[0]
+
+ // Optionally use a batch credential
+ const credentialRecord = await handleBatchCredential(agent, credential.credentialRecord)
+
+ return [entry.inputDescriptorId, [credentialRecord]] as [string, (typeof credentialRecord)[]]
+ })
+ )
)
)
try {
- // Temp solution to add and remove the trusted certicaite
+ // Temp solution to add and remove the trusted certificate
const certificate =
authorizationRequest.jwt && allowUntrustedCertificate ? extractCertificateFromJwt(authorizationRequest.jwt) : null
@@ -519,32 +561,6 @@ export const shareProof = async ({
}
}
-export async function storeCredential(
- agent: EitherAgent,
- credentialRecord: W3cCredentialRecord | SdJwtVcRecord | MdocRecord
-) {
- if (credentialRecord instanceof W3cCredentialRecord) {
- await agent.dependencyManager.resolve(W3cCredentialRepository).save(agent.context, credentialRecord)
- } else if (credentialRecord instanceof MdocRecord) {
- await agent.dependencyManager.resolve(MdocRepository).save(agent.context, credentialRecord)
- } else {
- await agent.dependencyManager.resolve(SdJwtVcRepository).save(agent.context, credentialRecord)
- }
-}
-
-export async function deleteCredential(agent: EitherAgent, credentialId: CredentialForDisplayId) {
- if (credentialId.startsWith('w3c-credential-')) {
- const w3cCredentialId = credentialId.replace('w3c-credential-', '')
- await agent.w3cCredentials.removeCredentialRecord(w3cCredentialId)
- } else if (credentialId.startsWith('sd-jwt-vc')) {
- const sdJwtVcId = credentialId.replace('sd-jwt-vc-', '')
- await agent.sdJwtVc.deleteById(sdJwtVcId)
- } else if (credentialId.startsWith('mdoc-')) {
- const mdocId = credentialId.replace('mdoc-', '')
- await agent.mdoc.deleteById(mdocId)
- }
-}
-
/**
* @todo we probably need a way to cancel this method, if the qr scanner is .e.g dismissed.
*/
diff --git a/packages/agent/src/invitation/index.ts b/packages/agent/src/invitation/index.ts
index 6f6412c4..4908fe99 100644
--- a/packages/agent/src/invitation/index.ts
+++ b/packages/agent/src/invitation/index.ts
@@ -31,12 +31,11 @@ export {
receiveOutOfBandInvitation,
receiveCredentialFromOpenId4VciOffer,
acquireAuthorizationCodeAccessToken,
+ acquireRefreshTokenAccessToken,
acquirePreAuthorizedAccessToken,
resolveOpenId4VciOffer,
- storeCredential,
getCredentialsForProofRequest,
shareProof,
- deleteCredential,
withTrustedCertificate,
acquireAuthorizationCodeUsingPresentation,
} from './handler'
diff --git a/packages/agent/src/openid4vc/refreshMetadata.ts b/packages/agent/src/openid4vc/refreshMetadata.ts
new file mode 100644
index 00000000..af50392a
--- /dev/null
+++ b/packages/agent/src/openid4vc/refreshMetadata.ts
@@ -0,0 +1,29 @@
+import type { JwaSignatureAlgorithm, JwkJson, MdocRecord, SdJwtVcRecord, W3cCredentialRecord } from '@credo-ts/core'
+
+export interface RefreshCredentialMetadata {
+ refreshToken: string
+ dpop?: { alg: JwaSignatureAlgorithm; jwk: JwkJson }
+}
+
+const refreshCredentialMetadataKey = '_paradym/refreshCredentialMetadata'
+
+/**
+ * Gets the refresh credential metadata from the given credential record.
+ */
+export function getRefreshCredentialMetadata(
+ credentialRecord: W3cCredentialRecord | SdJwtVcRecord | MdocRecord
+): RefreshCredentialMetadata | null {
+ return credentialRecord.metadata.get(refreshCredentialMetadataKey)
+}
+
+/**
+ * Sets the refresh credential metadata on the given credential record
+ *
+ * NOTE: this does not save the record.
+ */
+export function setRefreshCredentialMetadata(
+ credentialRecord: W3cCredentialRecord | SdJwtVcRecord | MdocRecord,
+ metadata: RefreshCredentialMetadata
+) {
+ credentialRecord.metadata.set(refreshCredentialMetadataKey, metadata)
+}
diff --git a/packages/agent/src/storage/credential.ts b/packages/agent/src/storage/credential.ts
new file mode 100644
index 00000000..ef2b8617
--- /dev/null
+++ b/packages/agent/src/storage/credential.ts
@@ -0,0 +1,48 @@
+import {
+ MdocRecord,
+ MdocRepository,
+ type SdJwtVcRecord,
+ SdJwtVcRepository,
+ W3cCredentialRecord,
+ W3cCredentialRepository,
+} from '@credo-ts/core'
+import type { EitherAgent } from '../agent'
+import type { CredentialForDisplayId } from '../hooks'
+
+export async function updateCredential(
+ agent: EitherAgent,
+ credentialRecord: W3cCredentialRecord | SdJwtVcRecord | MdocRecord
+) {
+ if (credentialRecord instanceof W3cCredentialRecord) {
+ await agent.dependencyManager.resolve(W3cCredentialRepository).update(agent.context, credentialRecord)
+ } else if (credentialRecord instanceof MdocRecord) {
+ await agent.dependencyManager.resolve(MdocRepository).update(agent.context, credentialRecord)
+ } else {
+ await agent.dependencyManager.resolve(SdJwtVcRepository).update(agent.context, credentialRecord)
+ }
+}
+export async function storeCredential(
+ agent: EitherAgent,
+ credentialRecord: W3cCredentialRecord | SdJwtVcRecord | MdocRecord
+) {
+ if (credentialRecord instanceof W3cCredentialRecord) {
+ await agent.dependencyManager.resolve(W3cCredentialRepository).save(agent.context, credentialRecord)
+ } else if (credentialRecord instanceof MdocRecord) {
+ await agent.dependencyManager.resolve(MdocRepository).save(agent.context, credentialRecord)
+ } else {
+ await agent.dependencyManager.resolve(SdJwtVcRepository).save(agent.context, credentialRecord)
+ }
+}
+
+export async function deleteCredential(agent: EitherAgent, credentialId: CredentialForDisplayId) {
+ if (credentialId.startsWith('w3c-credential-')) {
+ const w3cCredentialId = credentialId.replace('w3c-credential-', '')
+ await agent.w3cCredentials.removeCredentialRecord(w3cCredentialId)
+ } else if (credentialId.startsWith('sd-jwt-vc')) {
+ const sdJwtVcId = credentialId.replace('sd-jwt-vc-', '')
+ await agent.sdJwtVc.deleteById(sdJwtVcId)
+ } else if (credentialId.startsWith('mdoc-')) {
+ const mdocId = credentialId.replace('mdoc-', '')
+ await agent.mdoc.deleteById(mdocId)
+ }
+}
diff --git a/packages/agent/src/storage/index.ts b/packages/agent/src/storage/index.ts
index 24ae6d9f..4cb8d5b2 100644
--- a/packages/agent/src/storage/index.ts
+++ b/packages/agent/src/storage/index.ts
@@ -1,2 +1,3 @@
export * from './walletJsonStore'
export * from './WalletJsonStoreProvider'
+export * from './credential'
diff --git a/packages/app/src/provider/Provider.tsx b/packages/app/src/provider/Provider.tsx
index 5d333478..d4ceaf10 100644
--- a/packages/app/src/provider/Provider.tsx
+++ b/packages/app/src/provider/Provider.tsx
@@ -14,7 +14,7 @@ export function Provider({ children, ...rest }: PropsWithChildren
-
+
{children}
diff --git a/patches/@credo-ts__askar@0.6.0-alpha-20241120125910.patch b/patches/@credo-ts__askar@0.6.0-alpha-20241120153226.patch
similarity index 100%
rename from patches/@credo-ts__askar@0.6.0-alpha-20241120125910.patch
rename to patches/@credo-ts__askar@0.6.0-alpha-20241120153226.patch
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9f2449fc..6b5772fb 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -11,17 +11,20 @@ overrides:
'@hyperledger/anoncreds-react-native': ^0.2.4
'@hyperledger/aries-askar-react-native': ^0.2.3
'@hyperledger/indy-vdr-react-native': ^0.2.0
- '@credo-ts/anoncreds': 0.6.0-alpha-20241120125910
- '@credo-ts/askar': 0.6.0-alpha-20241120125910
- '@credo-ts/cheqd': 0.6.0-alpha-20241120125910
- '@credo-ts/core': 0.6.0-alpha-20241120125910
- '@credo-ts/indy-vdr': 0.6.0-alpha-20241120125910
- '@credo-ts/openid4vc': 0.6.0-alpha-20241120125910
- '@credo-ts/question-answer': 0.6.0-alpha-20241120125910
- '@credo-ts/react-native': 0.6.0-alpha-20241120125910
+ '@credo-ts/anoncreds': 0.6.0-alpha-20241120153226
+ '@credo-ts/askar': 0.6.0-alpha-20241120153226
+ '@credo-ts/cheqd': 0.6.0-alpha-20241120153226
+ '@credo-ts/core': 0.6.0-alpha-20241120153226
+ '@credo-ts/indy-vdr': 0.6.0-alpha-20241120153226
+ '@credo-ts/openid4vc': 0.6.0-alpha-20241120153226
+ '@credo-ts/question-answer': 0.6.0-alpha-20241120153226
+ '@credo-ts/react-native': 0.6.0-alpha-20241120153226
'@credo-ts/react-hooks': 0.6.1
'@animo-id/expo-ausweis-sdk': 0.0.1-alpha.14
- '@animo-id/expo-secure-environment': 0.1.0-alpha.9
+ '@animo-id/oid4vci': 0.1.4-alpha-20241120145259
+ '@animo-id/oauth2': 0.1.4-alpha-20241120145259
+ '@animo-id/oauth2-utils': 0.1.4-alpha-20241120145259
+ '@animo-id/expo-secure-environment': 0.1.0-alpha.10
'@animo-id/expo-mdoc-data-transfer': 0.0.3-alpha.7
'@types/react': ~18.2.79
react-docgen-typescript: 2.2.2
@@ -32,9 +35,9 @@ patchedDependencies:
'@animo-id/mdoc@0.2.38':
hash: zifb323ygrtdb6olnw5okh7czy
path: patches/@animo-id__mdoc@0.2.38.patch
- '@credo-ts/askar@0.6.0-alpha-20241120125910':
+ '@credo-ts/askar@0.6.0-alpha-20241120153226':
hash: zbu2rcss5evxukkhh5w5venkba
- path: patches/@credo-ts__askar@0.6.0-alpha-20241120125910.patch
+ path: patches/@credo-ts__askar@0.6.0-alpha-20241120153226.patch
'@hyperledger/indy-vdr-react-native@0.2.2':
hash: jtxhiuxe2e3i7qwlurpufqwh5a
path: patches/@hyperledger__indy-vdr-react-native@0.2.2.patch
@@ -62,11 +65,11 @@ importers:
specifier: 0.0.3-alpha.7
version: 0.0.3-alpha.7(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.2.79)(expo@51.0.39(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react@18.3.1)
'@animo-id/expo-secure-environment':
- specifier: 0.1.0-alpha.9
- version: 0.1.0-alpha.9(expo@51.0.39(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)
+ specifier: 0.1.0-alpha.10
+ version: 0.1.0-alpha.10(expo@51.0.39(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)
'@credo-ts/core':
- specifier: 0.6.0-alpha-20241120125910
- version: 0.6.0-alpha-20241120125910(expo@51.0.39(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ specifier: 0.6.0-alpha-20241120153226
+ version: 0.6.0-alpha-20241120153226(expo@51.0.39(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
'@expo-google-fonts/open-sans':
specifier: ^0.2.3
version: 0.2.3
@@ -231,8 +234,8 @@ importers:
apps/paradym:
dependencies:
'@animo-id/expo-secure-environment':
- specifier: 0.1.0-alpha.9
- version: 0.1.0-alpha.9(expo@51.0.39(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)
+ specifier: 0.1.0-alpha.10
+ version: 0.1.0-alpha.10(expo@51.0.39(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)
'@hyperledger/anoncreds-react-native':
specifier: ^0.2.4
version: 0.2.4(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)
@@ -529,33 +532,39 @@ importers:
packages/agent:
dependencies:
+ '@animo-id/oauth2':
+ specifier: 0.1.4-alpha-20241120145259
+ version: 0.1.4-alpha-20241120145259(typescript@5.3.3)
+ '@animo-id/oid4vci':
+ specifier: 0.1.4-alpha-20241120145259
+ version: 0.1.4-alpha-20241120145259(typescript@5.3.3)
'@credo-ts/anoncreds':
- specifier: 0.6.0-alpha-20241120125910
- version: 0.6.0-alpha-20241120125910(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ specifier: 0.6.0-alpha-20241120153226
+ version: 0.6.0-alpha-20241120153226(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
'@credo-ts/askar':
- specifier: 0.6.0-alpha-20241120125910
- version: 0.6.0-alpha-20241120125910(patch_hash=zbu2rcss5evxukkhh5w5venkba)(@animo-id/expo-secure-environment@0.1.0-alpha.9(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(@hyperledger/aries-askar-shared@0.2.3)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ specifier: 0.6.0-alpha-20241120153226
+ version: 0.6.0-alpha-20241120153226(patch_hash=zbu2rcss5evxukkhh5w5venkba)(@animo-id/expo-secure-environment@0.1.0-alpha.10(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(@hyperledger/aries-askar-shared@0.2.3)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
'@credo-ts/cheqd':
- specifier: 0.6.0-alpha-20241120125910
- version: 0.6.0-alpha-20241120125910(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ specifier: 0.6.0-alpha-20241120153226
+ version: 0.6.0-alpha-20241120153226(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
'@credo-ts/core':
- specifier: 0.6.0-alpha-20241120125910
- version: 0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ specifier: 0.6.0-alpha-20241120153226
+ version: 0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
'@credo-ts/indy-vdr':
- specifier: 0.6.0-alpha-20241120125910
- version: 0.6.0-alpha-20241120125910(@hyperledger/anoncreds-shared@0.2.4)(@hyperledger/indy-vdr-shared@0.2.2)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ specifier: 0.6.0-alpha-20241120153226
+ version: 0.6.0-alpha-20241120153226(@hyperledger/anoncreds-shared@0.2.4)(@hyperledger/indy-vdr-shared@0.2.2)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
'@credo-ts/openid4vc':
- specifier: 0.6.0-alpha-20241120125910
- version: 0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(typescript@5.3.3)(web-streams-polyfill@3.3.3)
+ specifier: 0.6.0-alpha-20241120153226
+ version: 0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(typescript@5.3.3)(web-streams-polyfill@3.3.3)
'@credo-ts/question-answer':
- specifier: 0.6.0-alpha-20241120125910
- version: 0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ specifier: 0.6.0-alpha-20241120153226
+ version: 0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
'@credo-ts/react-hooks':
specifier: 0.6.1
- version: 0.6.1(@credo-ts/core@0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(@credo-ts/question-answer@0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(react@18.3.1)
+ version: 0.6.1(@credo-ts/core@0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(@credo-ts/question-answer@0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(react@18.3.1)
'@credo-ts/react-native':
- specifier: 0.6.0-alpha-20241120125910
- version: 0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native-fs@2.20.0(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1)))(react-native-get-random-values@1.11.0(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ specifier: 0.6.0-alpha-20241120153226
+ version: 0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native-fs@2.20.0(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1)))(react-native-get-random-values@1.11.0(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
'@hyperledger/anoncreds-react-native':
specifier: ^0.2.4
version: 0.2.4(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)
@@ -573,7 +582,7 @@ importers:
version: 5.59.16(react@18.3.1)
credo-ts-didweb-anoncreds:
specifier: 0.0.1-alpha.13
- version: 0.0.1-alpha.13(@credo-ts/anoncreds@0.6.0-alpha-20241120125910(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(@credo-ts/core@0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(@hyperledger/anoncreds-shared@0.2.4)
+ version: 0.0.1-alpha.13(@credo-ts/anoncreds@0.6.0-alpha-20241120153226(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(@credo-ts/core@0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(@hyperledger/anoncreds-shared@0.2.4)
expo:
specifier: '*'
version: 51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))
@@ -775,8 +784,8 @@ packages:
expo: '>= 51'
react: 18.3.1
- '@animo-id/expo-secure-environment@0.1.0-alpha.9':
- resolution: {integrity: sha512-PUNwemorocBwHfvDoB4tzv6nDlxobDetsbyqeSnQCDdrapKHIubdtEaWNlrzRhiKqSCg9dWwhQdCmTE9pY0ilw==}
+ '@animo-id/expo-secure-environment@0.1.0-alpha.10':
+ resolution: {integrity: sha512-ZnEnayIbjDarLizdT1FDhx1N00kObEs8uT+X60zattWXufrhaetlHZwMI2mK8eqK1bdiyVE/g0Gd+BcfinU4Jw==}
peerDependencies:
expo: '*'
react: 18.3.1
@@ -785,14 +794,14 @@ packages:
'@animo-id/mdoc@0.2.38':
resolution: {integrity: sha512-98KQ0jvwTYsFOffTGvvHXBDo23b5xmhYjPiMIX6e807I6iS4fZZ9ypfBySdA5IiGUvXELKqEv27AUaayQa/9bg==}
- '@animo-id/oauth2-utils@0.1.3':
- resolution: {integrity: sha512-PzAx57LbDmmhI1qnF6Y/soYHLyHXxheSzlle+8rHexZmnWHXwxJ5nyOn/EQhGOqk5UEXLHYsD+27oyrMH3iR4A==}
+ '@animo-id/oauth2-utils@0.1.4-alpha-20241120145259':
+ resolution: {integrity: sha512-gbc2bOpnM101KTmVtZJwbo9IAn3bn5Ah1UMUdQbdxD8M2DPAMuvM1j4JxVsIn46DGoPUWW0uGspGXAjxFv2x5g==}
- '@animo-id/oauth2@0.1.3':
- resolution: {integrity: sha512-e4i+9nn3hyaxJ5LFTRb8Ri43VCAN5xpOvD0o2DcL6U90Y5ih3L+GVU6pzYylwk0iX/VD/HCMayDvF9qusDBh4w==}
+ '@animo-id/oauth2@0.1.4-alpha-20241120145259':
+ resolution: {integrity: sha512-w3lCkPh0I15Nbq0RZvQTBreDLcsIicCXmeNRUQx3xrrd25+GSaBoIMQel299I07ozDjDn9VptMCJGXNSSNBMyw==}
- '@animo-id/oid4vci@0.1.3':
- resolution: {integrity: sha512-01ka6sIQUVXNcrw6/fcWCbFpso60bb9Ejv4WUunA/7pGiowdzmmf4aaMRd2em/v5riRpo2tsIqv23SAbyTl41A==}
+ '@animo-id/oid4vci@0.1.4-alpha-20241120145259':
+ resolution: {integrity: sha512-OkqVn2XSlyMYZV+WyPcjh7Iz9dJx6ZTYlMiIc4/qM3j5cQeVf70wKwVZLzBLMrdiQWBw2l+AC7cPtTjl25F/MA==}
'@astronautlabs/jsonpath@1.1.2':
resolution: {integrity: sha512-FqL/muoreH7iltYC1EB5Tvox5E8NSOOPGkgns4G+qxRKl6k5dxEVljUjB5NcKESzkqwnUqWjSZkL61XGYOuV+A==}
@@ -1682,46 +1691,46 @@ packages:
'@cosmjs/utils@0.30.1':
resolution: {integrity: sha512-KvvX58MGMWh7xA+N+deCfunkA/ZNDvFLw4YbOmX3f/XBIkqrVY7qlotfy2aNb1kgp6h4B6Yc8YawJPDTfvWX7g==}
- '@credo-ts/anoncreds@0.6.0-alpha-20241120125910':
- resolution: {integrity: sha512-yioNElzg66YI+9ydsHNSAvtkWwJ8sMOC3Jf9GhIAUApvNaj6bDQXumo4uNfeS7uD5fVjwlC+Nt7C9HWA/YLLMA==}
+ '@credo-ts/anoncreds@0.6.0-alpha-20241120153226':
+ resolution: {integrity: sha512-9E1iQGqzdGGoELuoysSymJ9ZBkF4aZkok6HDqs6h3kJB1qHgBPw005SVHXN0+5ABVxJJo9/C7ENAEv5VAZ+2KQ==}
peerDependencies:
'@hyperledger/anoncreds-shared': ^0.2.2
- '@credo-ts/askar@0.6.0-alpha-20241120125910':
- resolution: {integrity: sha512-vaBQZTufTSprSIWr+JUObIjOTwDcaeErMEWg1u0mOvXO+9NviAThGfb6tJAziKjmWnWJSaYc0KO4zAjcgOE1wQ==}
+ '@credo-ts/askar@0.6.0-alpha-20241120153226':
+ resolution: {integrity: sha512-oTIjsSON8uWHnFQueOMTVuv8uXbOo+xJ/QxIs8znmbMRiCTsDPDxHTlMOAmpXPv62yknSKPjRPkjzgeUg8X6JQ==}
peerDependencies:
- '@animo-id/expo-secure-environment': 0.1.0-alpha.9
+ '@animo-id/expo-secure-environment': 0.1.0-alpha.10
'@hyperledger/aries-askar-shared': ^0.2.3
peerDependenciesMeta:
'@animo-id/expo-secure-environment':
optional: true
- '@credo-ts/cheqd@0.6.0-alpha-20241120125910':
- resolution: {integrity: sha512-krSWNtoGoHcz3XrnZckzSRG9/TYJcGycU6vPRb5v0B+ho2rTR1x7/RIVtDpa2VwhRWJwY89pD7LKM/LkIm7dag==}
+ '@credo-ts/cheqd@0.6.0-alpha-20241120153226':
+ resolution: {integrity: sha512-VVuxM0kutWyQbaimOHVMuiJ4nqEQkQOYyPg7RbWX4LOwSxWnxIOzTzhhm5j6xUJ6yGu7T8lcvI8Hx3zLVDzFiw==}
- '@credo-ts/core@0.6.0-alpha-20241120125910':
- resolution: {integrity: sha512-Zx+pse/A1qD22Q2+Nq8l19Xs2xIOTY8CjPRW6xbw44eDnaUjY7IuClfw4hUly6zvkqQKDc5YJK8Wv3LlFDNvPQ==}
+ '@credo-ts/core@0.6.0-alpha-20241120153226':
+ resolution: {integrity: sha512-j0my549nfyo+AizUkgvMWLcAbBtd41WhXRLfSHlfr7cZlNc4CmPSV9BUKjmeBoPGW9kWl778GlhWt4sCdxvkhA==}
- '@credo-ts/indy-vdr@0.6.0-alpha-20241120125910':
- resolution: {integrity: sha512-j58ojHvfftX3UdG+oYfPNnCmVfxHjuZamNqdaqnmDzfurXkdBAHffS6JbuWMSRiJCn7nd8z1neeKL/2j6SouMQ==}
+ '@credo-ts/indy-vdr@0.6.0-alpha-20241120153226':
+ resolution: {integrity: sha512-rYkXp2754hbKz4UUC5UNy3N6tPfB9rHrZildGo0qXuKCGhJZpJ7Ut96LT3VcoPRPvXw4nmSMniiCusYaeEd2fQ==}
peerDependencies:
'@hyperledger/indy-vdr-shared': ^0.2.2
- '@credo-ts/openid4vc@0.6.0-alpha-20241120125910':
- resolution: {integrity: sha512-eVzctHKt6SSEXkR6etMPLG4/Z3jIVsp0cPdSWlZ5nAHhLJ02bR3/WMGgd+V0UllgUtINW9MJbKpeSf/6V1UzKw==}
+ '@credo-ts/openid4vc@0.6.0-alpha-20241120153226':
+ resolution: {integrity: sha512-GWE1bZqc1TDXCidGnpy+lyo0UVhIgD3xaoytYj4Z8iYF7B+m6BFU0zw1yFtiEFxRn25+vTLeYw+KVVzVLlyOww==}
- '@credo-ts/question-answer@0.6.0-alpha-20241120125910':
- resolution: {integrity: sha512-e94sNywciz6gaiB/fCj5/z9POGdVWC9JBeLTNs4YLF9p1hUXRpMHbNh1OSLqRMv9UPlKjOIdpAcwr2hWJfmOvw==}
+ '@credo-ts/question-answer@0.6.0-alpha-20241120153226':
+ resolution: {integrity: sha512-ZlGrPYs2sP51IIgMpG6YZ27KHEhDIdBScvMl2HtxjkveRX3zoZmU9nq2W74xL4alHHTPTGT83YnIXVpTdkDJ6w==}
'@credo-ts/react-hooks@0.6.1':
resolution: {integrity: sha512-lZt1N5oKzYfh9DMUBauX9Q2irJPxbztfK9zkYU93mhSV7jF5up0X/TdWxj85l9Guu7iL84JDQJY11CpIHquPOQ==}
peerDependencies:
- '@credo-ts/core': 0.6.0-alpha-20241120125910
- '@credo-ts/question-answer': 0.6.0-alpha-20241120125910
+ '@credo-ts/core': 0.6.0-alpha-20241120153226
+ '@credo-ts/question-answer': 0.6.0-alpha-20241120153226
react: 18.3.1
- '@credo-ts/react-native@0.6.0-alpha-20241120125910':
- resolution: {integrity: sha512-YOB++UirV77p8Sy1geSI189YBamGMrrDbevXpuMU6+UX2DOYjNq7y1ONba8lHVUu63PGuYOYAo770nQGuhDXOw==}
+ '@credo-ts/react-native@0.6.0-alpha-20241120153226':
+ resolution: {integrity: sha512-VvSb/SX02w+fQ6d4Uqb8zzLIX4ocDd6YRbOvHEAIoL3tZoaYAkdsNk8E4WmKK2mG83uCY0HBfqqwroPIa3FrYw==}
peerDependencies:
react-native: ~0.74.5
react-native-fs: ^2.20.0
@@ -4594,9 +4603,6 @@ packages:
'@types/node-forge@1.3.11':
resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
- '@types/node@18.18.8':
- resolution: {integrity: sha512-OLGBaaK5V3VRBS1bAkMVP2/W9B+H8meUfl866OrMNQqt7wDgdpWPp5o6gmIc9pB+lIQHSq4ZL8ypeH1vPxcPaQ==}
-
'@types/node@18.19.63':
resolution: {integrity: sha512-hcUB7THvrGmaEcPcvUZCZtQ2Z3C+UR/aOcraBLCvTsFMh916Gc1kCCYcfcMuB76HM2pSerxl1PoP3KnmHzd9Lw==}
@@ -5616,8 +5622,8 @@ packages:
credo-ts-didweb-anoncreds@0.0.1-alpha.13:
resolution: {integrity: sha512-0x8lipY82+ALdTu+gVRe6RKvoJRvn2/Bhj/klk8PhmvWAAQXVMvzVOmUrw0BLTQ+19+koY1yufltglWXxRMxqA==}
peerDependencies:
- '@credo-ts/anoncreds': 0.6.0-alpha-20241120125910
- '@credo-ts/core': 0.6.0-alpha-20241120125910
+ '@credo-ts/anoncreds': 0.6.0-alpha-20241120153226
+ '@credo-ts/core': 0.6.0-alpha-20241120153226
'@hyperledger/anoncreds-shared': ^0.2.1
cross-env@7.0.3:
@@ -6339,7 +6345,7 @@ packages:
expo-constants: '*'
expo-linking: '*'
expo-status-bar: '*'
- react-native-reanimated: ~3.15.5
+ react-native-reanimated: '*'
react-native-safe-area-context: '*'
react-native-screens: '*'
peerDependenciesMeta:
@@ -10457,7 +10463,7 @@ snapshots:
- supports-color
- utf-8-validate
- '@animo-id/expo-secure-environment@0.1.0-alpha.9(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)':
+ '@animo-id/expo-secure-environment@0.1.0-alpha.10(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)':
dependencies:
'@peculiar/asn1-ecc': 2.3.14
'@peculiar/asn1-schema': 2.3.13
@@ -10467,7 +10473,7 @@ snapshots:
react-native: 0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1)
optional: true
- '@animo-id/expo-secure-environment@0.1.0-alpha.9(expo@51.0.39(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)':
+ '@animo-id/expo-secure-environment@0.1.0-alpha.10(expo@51.0.39(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)':
dependencies:
'@peculiar/asn1-ecc': 2.3.14
'@peculiar/asn1-schema': 2.3.13
@@ -10480,24 +10486,24 @@ snapshots:
dependencies:
compare-versions: 6.1.1
- '@animo-id/oauth2-utils@0.1.3(typescript@5.3.3)':
+ '@animo-id/oauth2-utils@0.1.4-alpha-20241120145259(typescript@5.3.3)':
dependencies:
buffer: 6.0.3
valibot: 0.42.1(typescript@5.3.3)
transitivePeerDependencies:
- typescript
- '@animo-id/oauth2@0.1.3(typescript@5.3.3)':
+ '@animo-id/oauth2@0.1.4-alpha-20241120145259(typescript@5.3.3)':
dependencies:
- '@animo-id/oauth2-utils': 0.1.3(typescript@5.3.3)
+ '@animo-id/oauth2-utils': 0.1.4-alpha-20241120145259(typescript@5.3.3)
valibot: 0.42.1(typescript@5.3.3)
transitivePeerDependencies:
- typescript
- '@animo-id/oid4vci@0.1.3(typescript@5.3.3)':
+ '@animo-id/oid4vci@0.1.4-alpha-20241120145259(typescript@5.3.3)':
dependencies:
- '@animo-id/oauth2': 0.1.3(typescript@5.3.3)
- '@animo-id/oauth2-utils': 0.1.3(typescript@5.3.3)
+ '@animo-id/oauth2': 0.1.4-alpha-20241120145259(typescript@5.3.3)
+ '@animo-id/oauth2-utils': 0.1.4-alpha-20241120145259(typescript@5.3.3)
valibot: 0.42.1(typescript@5.3.3)
transitivePeerDependencies:
- typescript
@@ -11654,10 +11660,10 @@ snapshots:
'@cosmjs/utils@0.30.1': {}
- '@credo-ts/anoncreds@0.6.0-alpha-20241120125910(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
+ '@credo-ts/anoncreds@0.6.0-alpha-20241120153226(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
dependencies:
'@astronautlabs/jsonpath': 1.1.2
- '@credo-ts/core': 0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ '@credo-ts/core': 0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
'@hyperledger/anoncreds-shared': 0.2.4
'@sphereon/pex-models': 2.3.1
big-integer: 1.6.52
@@ -11673,9 +11679,9 @@ snapshots:
- supports-color
- web-streams-polyfill
- '@credo-ts/askar@0.6.0-alpha-20241120125910(patch_hash=zbu2rcss5evxukkhh5w5venkba)(@animo-id/expo-secure-environment@0.1.0-alpha.9(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(@hyperledger/aries-askar-shared@0.2.3)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
+ '@credo-ts/askar@0.6.0-alpha-20241120153226(patch_hash=zbu2rcss5evxukkhh5w5venkba)(@animo-id/expo-secure-environment@0.1.0-alpha.10(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(@hyperledger/aries-askar-shared@0.2.3)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
dependencies:
- '@credo-ts/core': 0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ '@credo-ts/core': 0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
'@hyperledger/aries-askar-shared': 0.2.3
bn.js: 5.2.1
class-transformer: 0.5.1
@@ -11683,7 +11689,7 @@ snapshots:
rxjs: 7.8.1
tsyringe: 4.8.0
optionalDependencies:
- '@animo-id/expo-secure-environment': 0.1.0-alpha.9(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)
+ '@animo-id/expo-secure-environment': 0.1.0-alpha.10(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)
transitivePeerDependencies:
- domexception
- encoding
@@ -11692,15 +11698,15 @@ snapshots:
- supports-color
- web-streams-polyfill
- '@credo-ts/cheqd@0.6.0-alpha-20241120125910(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
+ '@credo-ts/cheqd@0.6.0-alpha-20241120153226(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
dependencies:
'@cheqd/sdk': 2.5.1
'@cheqd/ts-proto': 2.3.2
'@cosmjs/crypto': 0.30.1
'@cosmjs/proto-signing': 0.30.1
'@cosmjs/stargate': 0.30.1
- '@credo-ts/anoncreds': 0.6.0-alpha-20241120125910(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
- '@credo-ts/core': 0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ '@credo-ts/anoncreds': 0.6.0-alpha-20241120153226(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ '@credo-ts/core': 0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
'@stablelib/ed25519': 1.0.3
class-transformer: 0.5.1
class-validator: 0.14.1
@@ -11718,7 +11724,7 @@ snapshots:
- utf-8-validate
- web-streams-polyfill
- '@credo-ts/core@0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
+ '@credo-ts/core@0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
dependencies:
'@animo-id/mdoc': 0.2.38(patch_hash=zifb323ygrtdb6olnw5okh7czy)
'@digitalcredentials/jsonld': 6.0.0(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
@@ -11770,7 +11776,7 @@ snapshots:
- supports-color
- web-streams-polyfill
- '@credo-ts/core@0.6.0-alpha-20241120125910(expo@51.0.39(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
+ '@credo-ts/core@0.6.0-alpha-20241120153226(expo@51.0.39(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
dependencies:
'@animo-id/mdoc': 0.2.38(patch_hash=zifb323ygrtdb6olnw5okh7czy)
'@digitalcredentials/jsonld': 6.0.0(expo@51.0.39(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
@@ -11822,10 +11828,10 @@ snapshots:
- supports-color
- web-streams-polyfill
- '@credo-ts/indy-vdr@0.6.0-alpha-20241120125910(@hyperledger/anoncreds-shared@0.2.4)(@hyperledger/indy-vdr-shared@0.2.2)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
+ '@credo-ts/indy-vdr@0.6.0-alpha-20241120153226(@hyperledger/anoncreds-shared@0.2.4)(@hyperledger/indy-vdr-shared@0.2.2)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
dependencies:
- '@credo-ts/anoncreds': 0.6.0-alpha-20241120125910(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
- '@credo-ts/core': 0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ '@credo-ts/anoncreds': 0.6.0-alpha-20241120153226(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ '@credo-ts/core': 0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
'@hyperledger/indy-vdr-shared': 0.2.2
transitivePeerDependencies:
- '@hyperledger/anoncreds-shared'
@@ -11836,11 +11842,11 @@ snapshots:
- supports-color
- web-streams-polyfill
- '@credo-ts/openid4vc@0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(typescript@5.3.3)(web-streams-polyfill@3.3.3)':
+ '@credo-ts/openid4vc@0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(typescript@5.3.3)(web-streams-polyfill@3.3.3)':
dependencies:
- '@animo-id/oauth2': 0.1.3(typescript@5.3.3)
- '@animo-id/oid4vci': 0.1.3(typescript@5.3.3)
- '@credo-ts/core': 0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ '@animo-id/oauth2': 0.1.4-alpha-20241120145259(typescript@5.3.3)
+ '@animo-id/oid4vci': 0.1.4-alpha-20241120145259(typescript@5.3.3)
+ '@credo-ts/core': 0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
'@sphereon/did-auth-siop': 0.16.1-fix.173(typescript@5.3.3)
'@sphereon/oid4vc-common': 0.16.1-fix.173
'@sphereon/ssi-types': 0.30.2-next.135
@@ -11873,9 +11879,9 @@ snapshots:
- typescript
- web-streams-polyfill
- '@credo-ts/question-answer@0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
+ '@credo-ts/question-answer@0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
dependencies:
- '@credo-ts/core': 0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ '@credo-ts/core': 0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
class-transformer: 0.5.1
class-validator: 0.14.1
rxjs: 7.8.1
@@ -11887,17 +11893,17 @@ snapshots:
- supports-color
- web-streams-polyfill
- '@credo-ts/react-hooks@0.6.1(@credo-ts/core@0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(@credo-ts/question-answer@0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(react@18.3.1)':
+ '@credo-ts/react-hooks@0.6.1(@credo-ts/core@0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(@credo-ts/question-answer@0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(react@18.3.1)':
dependencies:
- '@credo-ts/core': 0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
- '@credo-ts/question-answer': 0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ '@credo-ts/core': 0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ '@credo-ts/question-answer': 0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
react: 18.3.1
rxjs: 7.8.1
- '@credo-ts/react-native@0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native-fs@2.20.0(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1)))(react-native-get-random-values@1.11.0(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
+ '@credo-ts/react-native@0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native-fs@2.20.0(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1)))(react-native-get-random-values@1.11.0(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)':
dependencies:
'@azure/core-asynciterator-polyfill': 1.0.2
- '@credo-ts/core': 0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ '@credo-ts/core': 0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
events: 3.3.0
react-native: 0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1)
react-native-fs: 2.20.0(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))
@@ -14662,7 +14668,7 @@ snapshots:
'@rnx-kit/chromium-edge-launcher@1.0.0':
dependencies:
- '@types/node': 18.18.8
+ '@types/node': 18.19.63
escape-string-regexp: 4.0.0
is-wsl: 2.2.0
lighthouse-logger: 1.4.2
@@ -17181,11 +17187,7 @@ snapshots:
'@types/node-forge@1.3.11':
dependencies:
- '@types/node': 18.18.8
-
- '@types/node@18.18.8':
- dependencies:
- undici-types: 5.26.5
+ '@types/node': 22.8.6
'@types/node@18.19.63':
dependencies:
@@ -18117,7 +18119,7 @@ snapshots:
chrome-launcher@0.15.2:
dependencies:
- '@types/node': 18.18.8
+ '@types/node': 22.8.6
escape-string-regexp: 4.0.0
is-wsl: 2.2.0
lighthouse-logger: 1.4.2
@@ -18367,10 +18369,10 @@ snapshots:
credentials-context@2.0.0: {}
- credo-ts-didweb-anoncreds@0.0.1-alpha.13(@credo-ts/anoncreds@0.6.0-alpha-20241120125910(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(@credo-ts/core@0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(@hyperledger/anoncreds-shared@0.2.4):
+ credo-ts-didweb-anoncreds@0.0.1-alpha.13(@credo-ts/anoncreds@0.6.0-alpha-20241120153226(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(@credo-ts/core@0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3))(@hyperledger/anoncreds-shared@0.2.4):
dependencies:
- '@credo-ts/anoncreds': 0.6.0-alpha-20241120125910(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
- '@credo-ts/core': 0.6.0-alpha-20241120125910(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ '@credo-ts/anoncreds': 0.6.0-alpha-20241120153226(@hyperledger/anoncreds-shared@0.2.4)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
+ '@credo-ts/core': 0.6.0-alpha-20241120153226(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)))(react-native@0.76.1(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.0)(@types/react@18.2.79)(react@18.3.1))(web-streams-polyfill@3.3.3)
'@hyperledger/anoncreds-shared': 0.2.4
canonicalize: 1.0.8
query-string: 7.1.3