From 1a37dcd87b049f426d0d9c72917aaae5458f96cc Mon Sep 17 00:00:00 2001 From: Niels Klomp Date: Tue, 6 Feb 2024 20:30:50 +0100 Subject: [PATCH 01/10] chore: add deeplink parsing util --- package.json | 71 +- patches/@veramo+credential-w3c+4.2.0.patch | 78 + src/agent/index.ts | 6 +- src/handlers/IntentHandler/index.ts | 21 +- src/machines/oid4vciMachine.tsx | 124 +- src/machines/onboardingMachine.tsx | 2 + src/machines/siopV2Machine.tsx | 33 +- .../machines/oid4vciStateNavigation.tsx | 51 +- .../machines/siopV2StateNavigation.tsx | 4 +- src/navigation/navigation.tsx | 29 +- .../authentication/SIOPv2Provider.ts | 21 +- .../credential/OpenId4VcIssuanceProvider.ts | 180 +- src/screens/OpenBrowserScreen/index.tsx | 56 + .../SSICredentialsRequiredScreen/index.tsx | 181 +- src/services/identityService.ts | 5 +- .../machines/oid4vciMachineService.ts | 134 +- .../machines/onboardingMachineService.ts | 5 +- src/services/machines/siopV2MachineService.ts | 21 +- src/services/qrService.ts | 55 +- src/types/machines/oid4vci/index.ts | 33 +- src/types/machines/onboarding/index.ts | 1 + src/types/navigation/index.ts | 2 + src/utils/DeeplinkUtils.ts | 20 + src/utils/index.ts | 11 + yarn.lock | 3931 +++++++++++------ 25 files changed, 3322 insertions(+), 1753 deletions(-) create mode 100644 patches/@veramo+credential-w3c+4.2.0.patch create mode 100644 src/screens/OpenBrowserScreen/index.tsx create mode 100644 src/utils/DeeplinkUtils.ts create mode 100644 src/utils/index.ts diff --git a/package.json b/package.json index c644b5bf..2d25d27d 100644 --- a/package.json +++ b/package.json @@ -39,25 +39,28 @@ "@react-navigation/stack": "^6.3.20", "@reduxjs/toolkit": "^1.9.3", "@scure/base": "^1.1.3", - "@sphereon/did-auth-siop": "0.5.0-unstable.7", + "@sphereon/did-auth-siop": "0.6.0-unstable.7", "@sphereon/isomorphic-webcrypto": "2.4.0-unstable.4", - "@sphereon/oid4vci-client": "0.7.3", - "@sphereon/oid4vci-common": "0.7.3", - "@sphereon/pex": "2.2.1-unstable.0", - "@sphereon/pex-models": "^2.1.1", + "@sphereon/oid4vci-client": "0.8.2-unstable.65", + "@sphereon/oid4vci-common": "0.8.2-unstable.65", + "@sphereon/pex": "3.2.1-unstable.7", + "@sphereon/pex-models": "^2.2.0", "@sphereon/react-native-argon2": "2.0.9", - "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.15.0", - "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.15.0", - "@sphereon/ssi-sdk-ext.did-utils": "0.15.0", - "@sphereon/ssi-sdk-ext.key-manager": "0.15.0", - "@sphereon/ssi-sdk-ext.kms-local": "0.15.0", - "@sphereon/ssi-sdk.contact-manager": "0.18.1-next.4", - "@sphereon/ssi-sdk.core": "0.18.1-next.4", - "@sphereon/ssi-sdk.data-store": "0.18.1-next.4", - "@sphereon/ssi-sdk.issuance-branding": "0.18.1-next.4", - "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.18.1-next.4", - "@sphereon/ssi-sdk.vc-handler-ld-local": "0.18.1-next.4", - "@sphereon/ssi-types": "0.18.1-next.4", + "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.16.0", + "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.16.0", + "@sphereon/ssi-sdk-ext.did-provider-key": "0.16.0", + "@sphereon/ssi-sdk-ext.did-resolver-key": "0.16.0", + "@sphereon/ssi-sdk-ext.did-resolver-ebsi": "^0.15.1-next.13", + "@sphereon/ssi-sdk-ext.did-utils": "0.16.0", + "@sphereon/ssi-sdk-ext.key-manager": "0.16.0", + "@sphereon/ssi-sdk-ext.kms-local": "0.16.0", + "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.35", + "@sphereon/ssi-sdk.core": "0.18.2-unstable.35", + "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.35", + "@sphereon/ssi-sdk.issuance-branding": "0.18.2-unstable.35", + "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.18.2-unstable.35", + "@sphereon/ssi-sdk.vc-handler-ld-local": "0.18.2-unstable.35", + "@sphereon/ssi-types": "0.18.2-unstable.35", "@sphereon/ui-components.core": "0.1.3-unstable.88", "@sphereon/ui-components.ssi-react-native": "0.1.3-unstable.88", "@transmute/lds-ecdsa-secp256k1-recovery2020": "^0.0.7", @@ -110,6 +113,7 @@ "react-native-camera": "^4.2.1", "react-native-fast-image": "^8.6.3", "react-native-fingerprint-scanner": "git+https://github.com/hieuvp/react-native-fingerprint-scanner.git", + "react-native-navigation-bar-color": "^2.0.2", "react-native-fs": "^2.20.0", "react-native-gesture-handler": "~2.9.0", "react-native-get-random-values": "1.8.0", @@ -117,7 +121,6 @@ "react-native-json-tree": "^1.3.0", "react-native-level-fs": "^3.0.1", "react-native-material-ripple": "^0.9.1", - "react-native-navigation-bar-color": "^2.0.2", "react-native-os": "^1.2.6", "react-native-pager-view": "6.1.2", "react-native-permissions": "^3.7.3", @@ -144,7 +147,6 @@ "redux": "^4.1.1", "redux-thunk": "^2.3.0", "reflect-metadata": "^0.1.13", - "sqlite3": "^5.1.6", "stream-browserify": "^3.0.0", "styled-components": "^5.3.3", "text-encoding": "^0.7.0", @@ -152,14 +154,15 @@ "uint8arrays": "^3.1.1", "vm-browserify": "^1.1.2", "web-did-resolver": "^2.0.23", - "xstate": "^4.38.2" + "xstate": "^4.38.2", + "sqlite3": "^5.1.6" }, "devDependencies": { "@babel/core": "^7.20.0", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-private-methods": "^7.18.6", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-transform-flow-strip-types": "^7.18.9", "@babel/preset-env": "^7.1.6", "@babel/runtime": "^7.20.0", @@ -240,18 +243,18 @@ "**/expo-random": "~13.1.1", "ajv": "^8.12.0", "@sphereon/isomorphic-argon2": "1.0.1", - "@sphereon/did-auth-siop": "0.5.0-unstable.7", - "@sphereon/ssi-types": "0.18.1-next.4", - "@sphereon/ssi-sdk.core": "0.18.1-next.4", - "@sphereon/ssi-sdk-ext.did-utils": "0.15.0", - "@sphereon/ssi-sdk-ext.kms-local": "0.15.0", - "@sphereon/ssi-sdk-ext.key-manager": "0.15.0", - "@sphereon/ssi-sdk.data-store": "0.18.1-next.4", - "@sphereon/ssi-sdk.contact-manager": "0.18.1-next.4", - "@sphereon/oid4vci-client": "0.7.3", - "@sphereon/oid4vci-common": "0.7.3", - "@sphereon/pex": "2.2.1-unstable.0", - "@sphereon/pex-models": "2.1.1", + "@sphereon/did-auth-siop": "0.6.0-unstable.7", + "@sphereon/ssi-types": "0.18.2-unstable.35", + "@sphereon/ssi-sdk.core": "0.18.2-unstable.35", + "@sphereon/ssi-sdk-ext.did-utils": "0.16.0", + "@sphereon/ssi-sdk-ext.kms-local": "0.16.0", + "@sphereon/ssi-sdk-ext.key-manager": "0.16.0", + "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.35", + "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.35", + "@sphereon/oid4vci-client": "0.8.2-unstable.65", + "@sphereon/oid4vci-common": "0.8.2-unstable.65", + "@sphereon/pex": "3.2.1-unstable.7", + "@sphereon/pex-models": "2.2.0", "@mattrglobal/bbs-signatures": "npm:@animo-id/react-native-bbs-signatures@^0.1.0", "@veramo/core": "4.2.0", "@veramo/credential-w3c": "4.2.0", diff --git a/patches/@veramo+credential-w3c+4.2.0.patch b/patches/@veramo+credential-w3c+4.2.0.patch new file mode 100644 index 00000000..aedf4650 --- /dev/null +++ b/patches/@veramo+credential-w3c+4.2.0.patch @@ -0,0 +1,78 @@ +diff --git a/node_modules/@veramo/credential-w3c/build/action-handler.js b/node_modules/@veramo/credential-w3c/build/action-handler.js +index d941dae..7a5ee6c 100644 +--- a/node_modules/@veramo/credential-w3c/build/action-handler.js ++++ b/node_modules/@veramo/credential-w3c/build/action-handler.js +@@ -87,7 +87,7 @@ class CredentialPlugin { + throw new Error('invalid_argument: presentation.holder must be a DID managed by this agent'); + } + //FIXME: `args` should allow picking a key or key type +- const key = identifier.keys.find((k) => k.type === 'Secp256k1' || k.type === 'Ed25519'); ++ const key = identifier.keys.find((k) => k.type === 'Secp256k1' || k.type === 'Secp256r1' || k.type === 'Ed25519'); + if (!key) + throw Error('key_not_found: No signing key for ' + identifier.did); + let verifiablePresentation; +@@ -117,6 +117,8 @@ class CredentialPlugin { + let alg = 'ES256K'; + if (key.type === 'Ed25519') { + alg = 'EdDSA'; ++ } else if (key.type === 'Secp256r1') { ++ alg = 'ES256'; + } + const signer = wrapSigner(context, key, alg); + const jwt = yield (0, did_jwt_vc_1.createVerifiablePresentationJwt)(presentation, { did: identifier.did, signer, alg }, Object.assign({ removeOriginalFields, challenge, domain }, otherOptions)); +@@ -174,13 +176,15 @@ class CredentialPlugin { + } + else { + //FIXME: `args` should allow picking a key or key type +- const key = identifier.keys.find((k) => k.type === 'Secp256k1' || k.type === 'Ed25519'); ++ const key = identifier.keys.find((k) => k.type === 'Secp256k1' || k.type === 'Secp256r1' || k.type === 'Ed25519'); + if (!key) + throw Error('No signing key for ' + identifier.did); + debug('Signing VC with', identifier.did); + let alg = 'ES256K'; + if (key.type === 'Ed25519') { + alg = 'EdDSA'; ++ } else if (key.type === 'Secp256r1') { ++ alg = 'ES256'; + } + const signer = wrapSigner(context, key, alg); + const jwt = yield (0, did_jwt_vc_1.createVerifiableCredentialJwt)(credential, { did: identifier.did, signer, alg }, Object.assign({ removeOriginalFields }, otherOptions)); +diff --git a/node_modules/@veramo/credential-w3c/src/action-handler.ts b/node_modules/@veramo/credential-w3c/src/action-handler.ts +index ca8d51b..6a9c032 100644 +--- a/node_modules/@veramo/credential-w3c/src/action-handler.ts ++++ b/node_modules/@veramo/credential-w3c/src/action-handler.ts +@@ -129,7 +129,7 @@ export class CredentialPlugin implements IAgentPlugin { + throw new Error('invalid_argument: presentation.holder must be a DID managed by this agent') + } + //FIXME: `args` should allow picking a key or key type +- const key = identifier.keys.find((k) => k.type === 'Secp256k1' || k.type === 'Ed25519') ++ const key = identifier.keys.find((k) => k.type === 'Secp256k1' || k.type === 'Secp256r1' || k.type === 'Ed25519') + if (!key) throw Error('key_not_found: No signing key for ' + identifier.did) + + let verifiablePresentation: VerifiablePresentation +@@ -164,6 +164,8 @@ export class CredentialPlugin implements IAgentPlugin { + let alg = 'ES256K' + if (key.type === 'Ed25519') { + alg = 'EdDSA' ++ } else if (key.type === 'Secp256r1') { ++ alg = 'ES256'; + } + const signer = wrapSigner(context, key, alg) + +@@ -235,13 +237,15 @@ export class CredentialPlugin implements IAgentPlugin { + } + } else { + //FIXME: `args` should allow picking a key or key type +- const key = identifier.keys.find((k) => k.type === 'Secp256k1' || k.type === 'Ed25519') ++ const key = identifier.keys.find((k) => k.type === 'Secp256k1' || k.type === 'Secp256r1' || k.type === 'Ed25519') + if (!key) throw Error('No signing key for ' + identifier.did) + + debug('Signing VC with', identifier.did) + let alg = 'ES256K' + if (key.type === 'Ed25519') { + alg = 'EdDSA' ++ } else if (key.type === 'Secp256r1') { ++ alg = 'ES256'; + } + const signer = wrapSigner(context, key, alg) + const jwt = await createVerifiableCredentialJwt( diff --git a/src/agent/index.ts b/src/agent/index.ts index 3fd6eb01..7410d043 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -1,5 +1,6 @@ import {getUniResolver} from '@sphereon/did-uni-client'; import {JwkDIDProvider} from '@sphereon/ssi-sdk-ext.did-provider-jwk'; +import {getDidKeyResolver, SphereonKeyDidProvider} from '@sphereon/ssi-sdk-ext.did-provider-key'; import {getDidJwkResolver} from '@sphereon/ssi-sdk-ext.did-resolver-jwk'; import {SphereonKeyManager} from '@sphereon/ssi-sdk-ext.key-manager'; import {SphereonKeyManagementSystem} from '@sphereon/ssi-sdk-ext.kms-local'; @@ -21,7 +22,7 @@ import {DataStore, DataStoreORM, DIDStore, KeyStore, PrivateKeyStore} from '@ver import {DIDManager} from '@veramo/did-manager'; import {EthrDIDProvider} from '@veramo/did-provider-ethr'; import {getDidIonResolver, IonDIDProvider} from '@veramo/did-provider-ion'; -import {getDidKeyResolver, KeyDIDProvider} from '@veramo/did-provider-key'; +import {getResolver as getDidEbsiResolver} from '@sphereon/ssi-sdk-ext.did-resolver-ebsi'; import {DIDResolverPlugin} from '@veramo/did-resolver'; import {SecretBox} from '@veramo/kms-local'; import {OrPromise} from '@veramo/utils'; @@ -39,6 +40,7 @@ export const didResolver = new Resolver({ ...getUniResolver(SupportedDidMethodEnum.DID_ETHR, { resolveUrl: DIF_UNIRESOLVER_RESOLVE_URL, }), + ...getDidEbsiResolver(), ...getDidKeyResolver(), ...webDIDResolver(), ...getDidIonResolver(), @@ -52,7 +54,7 @@ export const didProviders = { defaultKms: KeyManagementSystemEnum.LOCAL, network: 'goerli', }), - [`${DID_PREFIX}:${SupportedDidMethodEnum.DID_KEY}`]: new KeyDIDProvider({ + [`${DID_PREFIX}:${SupportedDidMethodEnum.DID_KEY}`]: new SphereonKeyDidProvider({ defaultKms: KeyManagementSystemEnum.LOCAL, }), [`${DID_PREFIX}:${SupportedDidMethodEnum.DID_ION}`]: new IonDIDProvider({ diff --git a/src/handlers/IntentHandler/index.ts b/src/handlers/IntentHandler/index.ts index 373e9407..e4198d51 100644 --- a/src/handlers/IntentHandler/index.ts +++ b/src/handlers/IntentHandler/index.ts @@ -10,8 +10,9 @@ import {readQr} from '../../services/qrService'; import store from '../../store'; import {storeVerifiableCredential} from '../../store/actions/credential.actions'; import {NavigationBarRoutesEnum, ScreenRoutesEnum, ToastTypeEnum} from '../../types'; -import {showToast} from '../../utils/ToastUtils'; +import {parseDeepLink} from '../../utils'; import {toNonPersistedCredentialSummary} from '../../utils/mappers/credential/CredentialMapper'; +import {showToast} from '../../utils/ToastUtils'; import LockingHandler from '../LockingHandler'; const debug: Debugger = Debug(`${APP_ID}:IntentHandler`); @@ -149,10 +150,26 @@ class IntentHandler { } public openDeepLink = async (): Promise => { - debug(`Open deeplink for ${this._initialUrl}`); + console.log(`Open deeplink for ${this._initialUrl}`); const url: string | undefined = this._initialUrl; this._initialUrl = undefined; if (url) { + // TODO: create a deeplink parser/handler + const queryParams = parseDeepLink(url).params; + if ('error' in queryParams) { + let message = queryParams.error; + if ('error_description' in queryParams) { + message += ': ' + queryParams.error_description; + } + throw new Error(message); + } + /*if ('code' in queryParams && OID4VCIInstance !== undefined) { + OID4VCIInstance.send({ + type: OID4VCIMachineEvents.PROVIDE_AUTHORIZATION_CODE_RESPONSE, + data: url, + }); + return + }*/ // TODO this DeepLinkingProvider is now hard-coupled to assume the links are QR flows // TODO fix this type issue await readQr({qrData: url, navigation: RootNavigation}); diff --git a/src/machines/oid4vciMachine.tsx b/src/machines/oid4vciMachine.tsx index 64364a8a..348eae2c 100644 --- a/src/machines/oid4vciMachine.tsx +++ b/src/machines/oid4vciMachine.tsx @@ -1,24 +1,27 @@ -import React from 'react'; +import {AuthzFlowType, toAuthorizationResponsePayload} from '@sphereon/oid4vci-common'; +import {Identity, Party} from '@sphereon/ssi-sdk.data-store'; import {assign, createMachine, DoneInvokeEvent, interpret} from 'xstate'; -import {Party, Identity} from '@sphereon/ssi-sdk.data-store'; +import {translate} from '../localization/Localization'; +import {oid4vciStateNavigationListener} from '../navigation/machines/oid4vciStateNavigation'; import OpenId4VcIssuanceProvider from '../providers/credential/OpenId4VcIssuanceProvider'; import { addContactIdentity, + assertValidCredentials, createCredentialSelection, initiateOpenId4VcIssuanceProvider, retrieveContact, - retrieveCredentialOffers, + retrieveCredentials, storeCredentialBranding, storeCredentials, - assertValidCredentials, } from '../services/machines/oid4vciMachineService'; -import {oid4vciStateNavigationListener} from '../navigation/machines/oid4vciStateNavigation'; +import {ErrorDetails, ICredentialTypeSelection} from '../types'; import { + AuthorizationResponseEvent, ContactAliasEvent, ContactConsentEvent, CreateContactEvent, CreateOID4VCIMachineOpts, - MappedCredentialOffer, + MappedCredentialToAccept, OID4VCIMachineAddContactStates, OID4VCIMachineContext, OID4VCIMachineEvents, @@ -32,10 +35,9 @@ import { OID4VCIMachineVerifyPinStates, OID4VCIStateMachine, SelectCredentialsEvent, + SetAuthorizationCodeURLEvent, VerificationCodeEvent, } from '../types/machines/oid4vci'; -import {ErrorDetails, ICredentialTypeSelection} from '../types'; -import {translate} from '../localization/Localization'; const oid4vciHasNoContactGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { const {contact} = _ctx; @@ -54,12 +56,12 @@ const oid4vciSelectCredentialsGuard = (_ctx: OID4VCIMachineContext, _event: OID4 const oid4vciRequirePinGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { const {requestData} = _ctx; - return requestData?.credentialOffer.userPinRequired === true; + return requestData?.credentialOffer?.userPinRequired === true; }; const oid4vciHasNoContactIdentityGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { - const {contact, credentialOffers} = _ctx; - return !contact?.identities!.some((identity: Identity): boolean => identity.identifier.correlationId === credentialOffers[0].correlationId); + const {contact, credentialsToAccept} = _ctx; + return !contact?.identities!.some((identity: Identity): boolean => identity.identifier.correlationId === credentialsToAccept[0].correlationId); }; const oid4vciVerificationCodeGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { @@ -67,6 +69,25 @@ const oid4vciVerificationCodeGuard = (_ctx: OID4VCIMachineContext, _event: OID4V return verificationCode !== undefined && verificationCode.length > 0; }; +const oid4vciRequireAuthorizationGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { + console.log('oid4vciRequireAuthorizationGuard start'); + console.log(`has auth url: ${_ctx.openId4VcIssuanceProvider?.client.hasAuthorizationURL() === true}`); + if (!_ctx.openId4VcIssuanceProvider?.client.isFlowTypeSupported(AuthzFlowType.AUTHORIZATION_CODE_FLOW)) { + console.log('oid4vciRequireAuthorizationGuard end'); + return false; + } else if (!_ctx.openId4VcIssuanceProvider?.client.hasAuthorizationURL()) { + console.log('oid4vciRequireAuthorizationGuard end'); + return false; + } + // _ctx.authorizationCodeURL = _ctx?.openId4VcIssuanceProvider?.client.authorizationURL + console.log(`auth url client: ${_ctx?.openId4VcIssuanceProvider?.client.authorizationURL}`); + + console.log(`auth url context: ${_ctx.authorizationCodeURL}`); + + console.log(`has access token response: ${_ctx?.openId4VcIssuanceProvider?.client.hasAccessTokenResponse()}`); + console.log('oid4vciRequireAuthorizationGuard end'); + return _ctx.openId4VcIssuanceProvider?.client.hasAccessTokenResponse() === false; +}; const oid4vciCreateContactGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { const {contactAlias, hasContactConsent} = _ctx; return hasContactConsent && contactAlias !== undefined && contactAlias.length > 0; @@ -82,8 +103,9 @@ const createOID4VCIMachine = (opts?: CreateOID4VCIMachineOpts): OID4VCIStateMach // TODO WAL-671 we need to store the data from OpenIdProvider here in the context and make sure we can restart the machine with it and init the OpenIdProvider requestData: opts?.requestData, credentialSelection: [], + authorizationCodeURL: undefined, selectedCredentials: [], - credentialOffers: [], + credentialsToAccept: [], hasContactConsent: true, contactAlias: '', }; @@ -98,6 +120,7 @@ const createOID4VCIMachine = (opts?: CreateOID4VCIMachineOpts): OID4VCIStateMach | {type: OID4VCIMachineGuards.hasNoContactGuard} | {type: OID4VCIMachineGuards.selectCredentialGuard} | {type: OID4VCIMachineGuards.requirePinGuard} + | {type: OID4VCIMachineGuards.requireAuthorizationGuard} | {type: OID4VCIMachineGuards.hasNoContactIdentityGuard} | {type: OID4VCIMachineGuards.verificationCodeGuard} | {type: OID4VCIMachineGuards.hasContactGuard} @@ -113,8 +136,8 @@ const createOID4VCIMachine = (opts?: CreateOID4VCIMachineOpts): OID4VCIStateMach [OID4VCIMachineServices.retrieveContact]: { data: Party | undefined; }; - [OID4VCIMachineServices.retrieveCredentialOffers]: { - data: Array | undefined; + [OID4VCIMachineServices.retrieveCredentials]: { + data: Array | undefined; }; [OID4VCIMachineServices.addContactIdentity]: { data: void; @@ -140,6 +163,8 @@ const createOID4VCIMachine = (opts?: CreateOID4VCIMachineOpts): OID4VCIStateMach target: OID4VCIMachineStates.createCredentialSelection, actions: assign({ openId4VcIssuanceProvider: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent) => _event.data, + authorizationCodeURL: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent) => + _event.data.client.authorizationURL, }), }, onError: { @@ -211,10 +236,20 @@ const createOID4VCIMachine = (opts?: CreateOID4VCIMachineOpts): OID4VCIStateMach cond: OID4VCIMachineGuards.requirePinGuard, }, { - target: OID4VCIMachineStates.retrieveCredentialsOffers, + target: OID4VCIMachineStates.initiateAuthorizationRequest, + cond: OID4VCIMachineGuards.requireAuthorizationGuard, + }, + { + target: OID4VCIMachineStates.retrieveCredentials, }, ], + on: { + [OID4VCIMachineEvents.SET_AUTHORIZATION_CODE_URL]: { + actions: assign({authorizationCodeURL: (_ctx: OID4VCIMachineContext, _event: SetAuthorizationCodeURLEvent) => _event.data}), + }, + }, }, + [OID4VCIMachineStates.addContact]: { id: OID4VCIMachineStates.addContact, initial: OID4VCIMachineAddContactStates.idle, @@ -259,7 +294,7 @@ const createOID4VCIMachine = (opts?: CreateOID4VCIMachineOpts): OID4VCIStateMach cond: OID4VCIMachineGuards.requirePinGuard, }, { - target: OID4VCIMachineStates.retrieveCredentialsOffers, + target: OID4VCIMachineStates.retrieveCredentials, }, ], }, @@ -286,10 +321,37 @@ const createOID4VCIMachine = (opts?: CreateOID4VCIMachineOpts): OID4VCIStateMach cond: OID4VCIMachineGuards.requirePinGuard, }, { - target: OID4VCIMachineStates.retrieveCredentialsOffers, + target: OID4VCIMachineStates.retrieveCredentials, }, ], }, + [OID4VCIMachineStates.initiateAuthorizationRequest]: { + id: OID4VCIMachineStates.initiateAuthorizationRequest, + + on: { + [OID4VCIMachineEvents.PREVIOUS]: { + target: OID4VCIMachineStates.selectCredentials, + }, + [OID4VCIMachineEvents.INVOKED_AUTHORIZATION_CODE_REQUEST]: { + target: OID4VCIMachineStates.waitForAuthorizationResponse, + }, + }, + }, + [OID4VCIMachineStates.waitForAuthorizationResponse]: { + id: OID4VCIMachineStates.waitForAuthorizationResponse, + on: { + [OID4VCIMachineEvents.PREVIOUS]: { + target: OID4VCIMachineStates.initiateAuthorizationRequest, + }, + [OID4VCIMachineEvents.PROVIDE_AUTHORIZATION_CODE_RESPONSE]: { + target: OID4VCIMachineStates.transitionFromSelectingCredentials, + actions: assign({ + authorizationCodeResponse: (_ctx: OID4VCIMachineContext, _event: AuthorizationResponseEvent) => + toAuthorizationResponsePayload(_event.data), + }), + }, + }, + }, [OID4VCIMachineStates.verifyPin]: { id: OID4VCIMachineStates.verifyPin, initial: OID4VCIMachineVerifyPinStates.idle, @@ -312,19 +374,21 @@ const createOID4VCIMachine = (opts?: CreateOID4VCIMachineOpts): OID4VCIStateMach [OID4VCIMachineVerifyPinStates.idle]: {}, [OID4VCIMachineVerifyPinStates.next]: { always: { - target: `#${OID4VCIMachineStates.retrieveCredentialsOffers}`, + target: `#${OID4VCIMachineStates.retrieveCredentials}`, cond: OID4VCIMachineGuards.verificationCodeGuard, }, }, }, }, - [OID4VCIMachineStates.retrieveCredentialsOffers]: { - id: OID4VCIMachineStates.retrieveCredentialsOffers, + [OID4VCIMachineStates.retrieveCredentials]: { + id: OID4VCIMachineStates.retrieveCredentials, invoke: { - src: OID4VCIMachineServices.retrieveCredentialOffers, + src: OID4VCIMachineServices.retrieveCredentials, onDone: { target: OID4VCIMachineStates.verifyCredentials, - actions: assign({credentialOffers: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent>) => _event.data}), + actions: assign({ + credentialsToAccept: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent>) => _event.data, + }), }, onError: { target: OID4VCIMachineStates.handleError, @@ -478,8 +542,9 @@ export class OID4VCIMachine { [OID4VCIMachineServices.initiate]: initiateOpenId4VcIssuanceProvider, [OID4VCIMachineServices.createCredentialSelection]: createCredentialSelection, [OID4VCIMachineServices.retrieveContact]: retrieveContact, - [OID4VCIMachineServices.retrieveCredentialOffers]: retrieveCredentialOffers, + [OID4VCIMachineServices.retrieveCredentials]: retrieveCredentials, [OID4VCIMachineServices.addContactIdentity]: addContactIdentity, + // [OID4VCIMachineServices.invokeAuthorizationRequest]: invokeAuthorizationRequest, [OID4VCIMachineServices.assertValidCredentials]: assertValidCredentials, [OID4VCIMachineServices.storeCredentialBranding]: storeCredentialBranding, [OID4VCIMachineServices.storeCredentials]: storeCredentials, @@ -491,6 +556,7 @@ export class OID4VCIMachine { oid4vciRequirePinGuard, oid4vciHasNoContactIdentityGuard, oid4vciVerificationCodeGuard, + oid4vciRequireAuthorizationGuard, oid4vciHasContactGuard, oid4vciCreateContactGuard, oid4vciHasSelectedCredentialsGuard, @@ -501,12 +567,20 @@ export class OID4VCIMachine { if (typeof opts?.subscription === 'function') { instance.onTransition(opts.subscription); - } else if (opts?.requireCustomNavigationHook !== true) { - instance.onTransition((snapshot: OID4VCIMachineState): void => { + } + if (opts?.requireCustomNavigationHook !== true) { + instance.onTransition(snapshot => { void oid4vciStateNavigationListener(instance, snapshot); }); } + instance.subscribe( + state => console.log('==sub=> ' + state.value), + error => console.error('===sub==========' + error), + () => console.log('==sub=========completed'), + ); + instance.onTransition(state => console.log('==trans=> ' + state.value)); + return instance; } } diff --git a/src/machines/onboardingMachine.tsx b/src/machines/onboardingMachine.tsx index f8cbc9dd..a95fbd83 100644 --- a/src/machines/onboardingMachine.tsx +++ b/src/machines/onboardingMachine.tsx @@ -26,6 +26,7 @@ import { } from '../types/machines/onboarding'; import Debug, {Debugger} from 'debug'; + const debug: Debugger = Debug(`${APP_ID}:onboarding`); const onboardingToSAgreementGuard = (ctx: OnboardingMachineContext, _event: OnboardingMachineEventTypes) => @@ -48,6 +49,7 @@ const onboardingPinCodeVerifyGuard = (ctx: OnboardingMachineContext, event: Next const createOnboardingMachine = (opts?: CreateOnboardingMachineOpts) => { const credentialData = { didMethod: opts?.credentialData?.didMethod ?? SupportedDidMethodEnum.DID_KEY, + didOptions: opts?.credentialData?.didOptions ?? {codecName: 'EBSI', type: 'Secp256r1'}, // todo: We need a preference/options provider supporting ecosystems proofFormat: opts?.credentialData?.proofFormat ?? 'jwt', credential: opts?.credentialData?.credential ?? diff --git a/src/machines/siopV2Machine.tsx b/src/machines/siopV2Machine.tsx index fabf5b26..a44473d3 100644 --- a/src/machines/siopV2Machine.tsx +++ b/src/machines/siopV2Machine.tsx @@ -54,11 +54,13 @@ const siopV2HasSelectedRequiredCredentialsGuard = (_ctx: SiopV2MachineContext, _ throw Error('No presentation definitions present'); } - const definitionWithLocation: PresentationDefinitionWithLocation = authorizationRequestData.presentationDefinitions[0]; + // FIXME: Return true for now, given this is a really expensive operation and will be called in the next phase anyway + return true; + /*const definitionWithLocation: PresentationDefinitionWithLocation = authorizationRequestData.presentationDefinitions[0]; const pex: PEX = new PEX(); const evaluationResults: EvaluationResults = pex.evaluateCredentials(definitionWithLocation.definition, selectedCredentials); - return evaluationResults.areRequiredCredentialsPresent === Status.INFO; + return evaluationResults.areRequiredCredentialsPresent === Status.INFO;*/ }; const siopV2IsSiopOnlyGuard = (_ctx: SiopV2MachineContext, _event: SiopV2MachineEventTypes): boolean => { @@ -68,6 +70,7 @@ const siopV2IsSiopOnlyGuard = (_ctx: SiopV2MachineContext, _event: SiopV2Machine throw new Error('Missing authorization request data in context'); } + console.log(JSON.stringify(authorizationRequestData, null, 2)); return authorizationRequestData.presentationDefinitions === undefined; }; @@ -234,12 +237,22 @@ const createSiopV2Machine = (opts?: CreateSiopV2MachineOpts): SiopV2StateMachine id: SiopV2MachineStates.addContactIdentity, invoke: { src: SiopV2MachineServices.addContactIdentity, - onDone: { - target: SiopV2MachineStates.selectCredentials, - actions: (_ctx: SiopV2MachineContext, _event: DoneInvokeEvent): void => { - _ctx.contact?.identities.push(_event.data); + onDone: [ + { + target: SiopV2MachineStates.selectCredentials, + actions: (_ctx: SiopV2MachineContext, _event: DoneInvokeEvent): void => { + _ctx.contact?.identities.push(_event.data); + }, + cond: SiopV2MachineGuards.siopWithOID4VPGuard, }, - }, + { + target: SiopV2MachineStates.sendResponse, + actions: (_ctx: SiopV2MachineContext, _event: DoneInvokeEvent): void => { + _ctx.contact?.identities.push(_event.data); + }, + cond: SiopV2MachineGuards.siopOnlyGuard, + }, + ], onError: { target: SiopV2MachineStates.handleError, actions: assign({ @@ -344,11 +357,15 @@ export class SiopV2Machine { if (typeof opts?.subscription === 'function') { instance.onTransition(opts.subscription); - } else if (opts?.requireCustomNavigationHook !== true) { + } + if (opts?.requireCustomNavigationHook !== true) { instance.onTransition((snapshot: SiopV2MachineState): void => { void siopV2StateNavigationListener(instance, snapshot); }); } + instance.onTransition((snapshot: SiopV2MachineState): void => { + console.log(snapshot.value); + }); return instance; } diff --git a/src/navigation/machines/oid4vciStateNavigation.tsx b/src/navigation/machines/oid4vciStateNavigation.tsx index 814c0271..47f63c68 100644 --- a/src/navigation/machines/oid4vciStateNavigation.tsx +++ b/src/navigation/machines/oid4vciStateNavigation.tsx @@ -1,4 +1,5 @@ import React, {Context, createContext} from 'react'; +import {Linking} from 'react-native'; import {URL} from 'react-native-url-polyfill'; import {SimpleEventsOf} from 'xstate'; import Debug, {Debugger} from 'debug'; @@ -179,7 +180,7 @@ const navigateSelectCredentials = async (args: OID4VCIMachineNavigationArgs): Pr }); }; -const navigateAuthentication = async (args: OID4VCIMachineNavigationArgs): Promise => { +const navigatePINVerification = async (args: OID4VCIMachineNavigationArgs): Promise => { const {navigation, state, oid4vciMachine, onBack} = args; const {selectedCredentials} = state.context; navigation.navigate(MainRoutesEnum.OID4VCI, { @@ -198,9 +199,38 @@ const navigateAuthentication = async (args: OID4VCIMachineNavigationArgs): Promi }); }; +const navigateAuthorizationCodeURL = async (args: OID4VCIMachineNavigationArgs): Promise => { + const {navigation, state, oid4vciMachine, onBack} = args; + const url = state.context.authorizationCodeURL; + console.log('navigateAuthorizationCodeURL: ' + url); + if (!url) { + return Promise.reject(Error('Missing authorization URL in context')); + } + const onOpenAuthorizationUrl = async (url: string): Promise => { + console.log('onOpenAuthorizationUrl before invoked: ' + url); + oid4vciMachine.send({ + type: OID4VCIMachineEvents.INVOKED_AUTHORIZATION_CODE_REQUEST, + data: url, + }); + console.log('onOpenAuthorizationUrl after invoked, before openUrl: ' + url); + await Linking.openURL(url); + console.log('onOpenAuthorizationUrl after openUrl: ' + url); + }; + + console.log('pre navigate browser open: ' + url); + navigation.navigate(MainRoutesEnum.OID4VCI, { + screen: ScreenRoutesEnum.BROWSER_OPEN, + params: { + onNext: () => onOpenAuthorizationUrl(url), + url, + onBack, + }, + }); +}; + const navigateReviewCredentialOffers = async (args: OID4VCIMachineNavigationArgs): Promise => { const {oid4vciMachine, navigation, state, onBack, onNext} = args; - const {credentialOffers, contact, openId4VcIssuanceProvider} = state.context; + const {credentialsToAccept, contact, openId4VcIssuanceProvider} = state.context; const localeBranding: Array | undefined = openId4VcIssuanceProvider?.credentialBranding?.get( state.context.selectedCredentials[0], ); @@ -213,8 +243,8 @@ const navigateReviewCredentialOffers = async (args: OID4VCIMachineNavigationArgs screen: ScreenRoutesEnum.CREDENTIAL_DETAILS, params: { headerTitle: translate('credential_offer_title'), - rawCredential: credentialOffers[0].rawVerifiableCredential, - credential: await toNonPersistedCredentialSummary(credentialOffers[0].uniformVerifiableCredential, localeBranding, contact), + rawCredential: credentialsToAccept[0].rawVerifiableCredential, + credential: await toNonPersistedCredentialSummary(credentialsToAccept[0].uniformVerifiableCredential!, localeBranding, contact), primaryAction: { caption: translate('action_accept_label'), onPress: onNext, @@ -275,7 +305,10 @@ export const oid4vciStateNavigationListener = async ( state: OID4VCIMachineState, navigation?: NativeStackNavigationProp, ): Promise => { + console.log('oid4vciStateNavigationListener: ' + state.value, state.value); + console.log('oid4vciStateNavigationListener: ' + JSON.stringify(state._event)); if (state._event.type === 'internal') { + console.log('oid4vciStateNavigationListener: internal event'); // Make sure we do not navigate when triggered by an internal event. We need to stay on current screen // Make sure we do not navigate when state has not changed return; @@ -283,9 +316,10 @@ export const oid4vciStateNavigationListener = async ( const onBack = () => oid4vciMachine.send(OID4VCIMachineEvents.PREVIOUS); const onNext = () => oid4vciMachine.send(OID4VCIMachineEvents.NEXT); + console.log('pre navigate'); const nav = navigation ?? RootNavigation; if (nav === undefined || !nav.isReady()) { - debug(`navigation not ready yet`); + console.log(`navigation not ready yet`); return; } @@ -295,7 +329,8 @@ export const oid4vciStateNavigationListener = async ( state.matches(OID4VCIMachineStates.retrieveContact) || state.matches(OID4VCIMachineStates.transitionFromSetup) || state.matches(OID4VCIMachineStates.transitionFromWalletInput) || - state.matches(OID4VCIMachineStates.retrieveCredentialsOffers) + state.matches(OID4VCIMachineStates.retrieveCredentials) || + state.matches(OID4VCIMachineStates.waitForAuthorizationResponse) ) { return navigateLoading({oid4vciMachine, state, navigation: nav, onNext, onBack}); } else if (state.matches(OID4VCIMachineStates.addContact)) { @@ -303,7 +338,9 @@ export const oid4vciStateNavigationListener = async ( } else if (state.matches(OID4VCIMachineStates.selectCredentials)) { return navigateSelectCredentials({oid4vciMachine, state, navigation: nav, onNext, onBack}); } else if (state.matches(OID4VCIMachineStates.verifyPin)) { - return navigateAuthentication({oid4vciMachine, state, navigation: nav, onNext, onBack}); + return navigatePINVerification({oid4vciMachine, state, navigation: nav, onNext, onBack}); + } else if (state.matches(OID4VCIMachineStates.initiateAuthorizationRequest)) { + return navigateAuthorizationCodeURL({oid4vciMachine, state, navigation: nav, onNext, onBack}); } else if (state.matches(OID4VCIMachineStates.reviewCredentials)) { return navigateReviewCredentialOffers({oid4vciMachine, state, navigation: nav, onNext, onBack}); } else if (state.matches(OID4VCIMachineStates.handleError)) { diff --git a/src/navigation/machines/siopV2StateNavigation.tsx b/src/navigation/machines/siopV2StateNavigation.tsx index 9bd9d9f6..8f219376 100644 --- a/src/navigation/machines/siopV2StateNavigation.tsx +++ b/src/navigation/machines/siopV2StateNavigation.tsx @@ -164,9 +164,9 @@ const navigateSelectCredentials = async (args: SiopV2MachineNavigationArgs): Pro return Promise.reject(Error('Multiple presentation definitions present')); } const presentationDefinitionWithLocation: PresentationDefinitionWithLocation = authorizationRequestData.presentationDefinitions![0]; - const format: Format | undefined = authorizationRequestData.registrationMetadataPayload.registration?.vp_formats; + const format: Format | undefined = authorizationRequestData.registrationMetadataPayload?.registration?.vp_formats; const subjectSyntaxTypesSupported: Array | undefined = - authorizationRequestData.registrationMetadataPayload.registration?.subject_syntax_types_supported; + authorizationRequestData.registrationMetadataPayload?.registration?.subject_syntax_types_supported; const onSelect = async (selectedCredentials: Array): Promise => { siopV2Machine.send({ diff --git a/src/navigation/navigation.tsx b/src/navigation/navigation.tsx index 692be0dc..9b629b1c 100644 --- a/src/navigation/navigation.tsx +++ b/src/navigation/navigation.tsx @@ -18,6 +18,7 @@ import SSIPinCodeVerifyScreen from '../screens/Onboarding/SSIPinCodeVerifyScreen import SSIOnboardingSummaryScreen from '../screens/Onboarding/SSISummaryScreen'; import SSITermsOfServiceScreen from '../screens/Onboarding/SSITermsOfServiceScreen'; import SSIWelcomeScreen from '../screens/Onboarding/SSIWelcomeScreen'; +import OpenBrowserScreen from '../screens/OpenBrowserScreen'; import SSIContactAddScreen from '../screens/SSIContactAddScreen'; import SSIContactDetailsScreen from '../screens/SSIContactDetailsScreen'; import SSIContactsOverviewScreen from '../screens/SSIContactsOverviewScreen'; @@ -453,6 +454,7 @@ export const OnboardingStack = (): JSX.Element => { headerShown: false, }} /> + { headerShown: false, }} /> + ({ + headerTitle: translate('browser_open_title'), + header: (props: NativeStackHeaderProps) => ( + + ), + })} + /> { const AppNavigator = (): JSX.Element => { const lockState: WalletAuthLockState = walletAuthLockState(); + if (lockState === WalletAuthLockState.ONBOARDING) { + if (!OnboardingMachine.hasInstance()) { + OnboardingMachine.getInstance({requireCustomNavigationHook: false}); + } + } + useEffect((): void => { if (!RootNavigation.isReady() || lockState !== WalletAuthLockState.ONBOARDING) { debug(`app or navigation not ready (yet)`); @@ -895,11 +919,6 @@ const AppNavigator = (): JSX.Element => { debug(`ONBOARDING started`); } }, []); - if (lockState === WalletAuthLockState.ONBOARDING) { - if (!OnboardingMachine.hasInstance()) { - OnboardingMachine.getInstance({requireCustomNavigationHook: false}); - } - } return ( = await session.getSupportedIdentifiers(); + let identifiers: Array = await session.getSupportedIdentifiers(); if (!identifiers || identifiers.length === 0) { throw Error(`No DID methods found in agent that are supported by the relying party`); } + const request = await session.getAuthorizationRequest(); + const aud = await request.authorizationRequest.getMergedProperty('aud'); + if (aud && aud.startsWith('did:')) { + // The RP knows our did, so we can use it + if (!identifiers.some(id => id.did === aud)) { + throw Error(`The aud DID ${aud} is not in the supported identifiers ${identifiers.map(id => id.did)}`); + } + identifiers = [identifiers.find(id => id.did === aud) as IIdentifier]; + } // todo: This should be moved to code calling the sendAuthorizationResponse (this) method, as to allow the user to subselect and approve credentials! let presentationsAndDefs: VerifiablePresentationWithDefinition[] | undefined; @@ -62,7 +71,7 @@ export const siopSendAuthorizationResponse = async ( let presentationSubmission: PresentationSubmission | undefined; if (await session.hasPresentationDefinitions()) { const oid4vp: OID4VP = await session.getOID4VP(); - const request = await session.getAuthorizationRequest(); + const credentialsAndDefinitions = args.verifiableCredentialsWithDefinition ? args.verifiableCredentialsWithDefinition : await oid4vp.filterCredentialsAgainstAllDefinitions(); @@ -73,6 +82,7 @@ export const siopSendAuthorizationResponse = async ( ? 'https://self-issued.me/v2/openid-vc' : 'https://self-issued.me/v2'); debug(`NONCE: ${session.nonce}, domain: ${domain}`); + console.log(`PRE CREATE VP ${new Date().toString()}`); presentationsAndDefs = await oid4vp.createVerifiablePresentations(credentialsAndDefinitions, { identifierOpts: {identifier}, proofOpts: { @@ -80,6 +90,7 @@ export const siopSendAuthorizationResponse = async ( domain, }, }); + console.log(`POST CREATE VP ${new Date().toString()}`); if (!presentationsAndDefs || presentationsAndDefs.length === 0) { throw Error('No verifiable presentations could be created'); } else if (presentationsAndDefs.length > 1) { @@ -92,12 +103,14 @@ export const siopSendAuthorizationResponse = async ( const kid: string = (await getKey(identifier, 'authentication', session.context)).kid; debug(`Definitions and locations: ${JSON.stringify(presentationsAndDefs?.[0]?.verifiablePresentation, null, 2)}`); - debug(`Presentation Submission: ${JSON.stringify(presentationSubmission, null, 2)}`); + console.log(`Presentation Submission: ${JSON.stringify(presentationSubmission, null, 2)}`); + console.log(`PRE SEND response ${new Date().toString()}`); const response = session.sendAuthorizationResponse({ - verifiablePresentations: presentationsAndDefs?.map(pd => pd.verifiablePresentation), + ...(presentationsAndDefs && {verifiablePresentations: presentationsAndDefs?.map(pd => pd.verifiablePresentation)}), ...(presentationSubmission && {presentationSubmission}), responseSignerOpts: {identifier, kid}, }); + console.log(`POST SEND response ${new Date().toString()}`); return await response; }; diff --git a/src/providers/credential/OpenId4VcIssuanceProvider.ts b/src/providers/credential/OpenId4VcIssuanceProvider.ts index d3d05176..4243fd56 100644 --- a/src/providers/credential/OpenId4VcIssuanceProvider.ts +++ b/src/providers/credential/OpenId4VcIssuanceProvider.ts @@ -1,33 +1,34 @@ -import Debug, {Debugger} from 'debug'; -import {DIDDocument} from 'did-resolver'; -import {_ExtendedIKey} from '@veramo/utils'; import {OpenID4VCIClient} from '@sphereon/oid4vci-client'; import { AccessTokenResponse, - AuthzFlowType, + AuthorizationResponse, + AuthorizationServerMetadata, + CredentialIssuerMetadata, CredentialOfferFormat, CredentialResponse, CredentialsSupportedDisplay, CredentialSupported, + DefaultURISchemes, EndpointMetadataResult, + IssuerMetadataV1_0_08, Jwt, + MetadataDisplay, OpenId4VCIVersion, ProofOfPossessionCallbacks, - IssuerMetadataV1_0_08, - AuthorizationServerMetadata, - CredentialIssuerMetadata, - MetadataDisplay, + toAuthorizationResponsePayload, } from '@sphereon/oid4vci-common'; import {KeyUse} from '@sphereon/ssi-sdk-ext.did-resolver-jwk'; import {getFirstKeyWithRelation} from '@sphereon/ssi-sdk-ext.did-utils'; import {IBasicCredentialLocaleBranding} from '@sphereon/ssi-sdk.data-store'; +import {_ExtendedIKey} from '@veramo/utils'; +import Debug, {Debugger} from 'debug'; +import {JWTHeader} from 'did-jwt'; +import {DIDDocument} from 'did-resolver'; +import {APP_ID} from '../../@config/constants'; import {agentContext, ibCredentialLocaleBrandingFrom} from '../../agent'; +import {translate} from '../../localization/Localization'; import {getOrCreatePrimaryIdentifier} from '../../services/identityService'; import {signJWT} from '../../services/signatureService'; -import {KeyTypeFromCryptographicSuite, SignatureAlgorithmFromKey} from '../../utils/KeyUtils'; -import {credentialLocaleBrandingFrom} from '../../utils/mappers/branding/OIDC4VCIBrandingMapper'; -import {translate} from '../../localization/Localization'; -import {APP_ID} from '../../@config/constants'; import { ErrorDetails, IGetCredentialsArgs, @@ -38,6 +39,8 @@ import { QrTypesEnum, SupportedDidMethodEnum, } from '../../types'; +import {KeyTypeFromCryptographicSuite, SignatureAlgorithmFromKey} from '../../utils/KeyUtils'; +import {credentialLocaleBrandingFrom} from '../../utils/mappers/branding/OIDC4VCIBrandingMapper'; const {v4: uuidv4} = require('uuid'); const debug: Debugger = Debug(`${APP_ID}:openid4vci`); @@ -72,7 +75,7 @@ export enum SignatureAlgorithmEnum { ES256K = 'ES256K', } -export const jwtCryptographicSuitePreferences = [SignatureAlgorithmEnum.ES256K, SignatureAlgorithmEnum.ES256, SignatureAlgorithmEnum.EdDSA]; +export const jwtCryptographicSuitePreferences = [SignatureAlgorithmEnum.ES256, SignatureAlgorithmEnum.ES256K, SignatureAlgorithmEnum.EdDSA]; export interface IErrorDetailsOpts { title?: string; @@ -80,7 +83,7 @@ export interface IErrorDetailsOpts { detailsMessage?: string; } -export interface CredentialFromOffer { +export interface CredentialToAccept { id?: string; issuanceOpt: IIssuanceOpts; credentialResponse: CredentialResponse; @@ -151,16 +154,31 @@ class OpenId4VcIssuanceProvider { private _credentialBranding?: Map>; private _issuerBranding?: Array; + private _authorizationCodeResponse?: AuthorizationResponse; + private constructor(client: OpenID4VCIClient) { this._client = client; } - private static determineClientId(issuer?: string): string { - //FIXME: Remove. Needs to move to party/connection management. Crossword expects a certain clientID - return issuer !== undefined && issuer.includes('identiproof') ? 'default-pre-auth-client' : APP_ID; + get authorizationCodeResponse(): AuthorizationResponse | undefined { + return this._authorizationCodeResponse; + } + set authorizationCodeResponse(value: AuthorizationResponse | string | undefined) { + console.log('before setting authorizationCodeResponse', value); + this._authorizationCodeResponse = typeof value === 'string' ? toAuthorizationResponsePayload(value) : value; + console.log('after setting authorizationCodeResponse', JSON.stringify(this._authorizationCodeResponse)); } - public static getIssuerDisplays(metadata: CredentialIssuerMetadata | IssuerMetadataV1_0_08, opts?: {prefLocales: string[]}): MetadataDisplay[] { + get client(): OpenID4VCIClient { + return this._client; + } + + public static getIssuerDisplays( + metadata: CredentialIssuerMetadata | IssuerMetadataV1_0_08, + opts?: { + prefLocales: string[]; + }, + ): MetadataDisplay[] { const matchedDisplays: Array = metadata.display?.filter( (display: MetadataDisplay) => @@ -178,10 +196,12 @@ class OpenId4VcIssuanceProvider { url: string, credentialIssuerMetadata?: Partial & (CredentialIssuerMetadata | IssuerMetadataV1_0_08), ): string { - const displays: Array = credentialIssuerMetadata ? OpenId4VcIssuanceProvider.getIssuerDisplays(credentialIssuerMetadata) : []; - for (const display of displays) { - if (display.name) { - return display.name; + if (credentialIssuerMetadata) { + const displays: Array = credentialIssuerMetadata ? OpenId4VcIssuanceProvider.getIssuerDisplays(credentialIssuerMetadata) : []; + for (const display of displays) { + if (display.name) { + return display.name; + } } } @@ -217,21 +237,20 @@ class OpenId4VcIssuanceProvider { return Promise.reject(Error('Invalid Uri')); } - const provider: OpenId4VcIssuanceProvider = new OpenId4VcIssuanceProvider( - await OpenID4VCIClient.fromURI({ - uri, - flowType: AuthzFlowType.PRE_AUTHORIZED_CODE_FLOW, - }), - ); + const client = await OpenID4VCIClient.fromURI({ + uri, + authorizationRequest: {redirectUri: `${DefaultURISchemes.CREDENTIAL_OFFER}://`}, + }); + const provider: OpenId4VcIssuanceProvider = new OpenId4VcIssuanceProvider(client); await provider.getServerMetadataAndPerformCryptoMatching(); return provider; }; - public getCredentialsFromIssuance = async ({pin, credentials}: IGetCredentialsArgs): Promise> => { + public getCredentials = async ({pin, credentials}: IGetCredentialsArgs): Promise> => { const matches: IServerMetadataAndCryptoMatchingResponse = await this.getServerMetadataAndPerformCryptoMatching(); - const credentialResponses: Array = []; + const credentialResponses: Array = []; // const initTypes = this.client.getCredentialTypes(); for (const issuanceOpt of matches.issuanceOpts) { /* if (!initTypes.includes(credentialType)) { @@ -271,29 +290,41 @@ class OpenId4VcIssuanceProvider { const callbacks: ProofOfPossessionCallbacks = { signCallback: (jwt: Jwt, kid?: string) => { - console.log(`header: ${JSON.stringify({...jwt.header, kid})}`); - console.log(`payload: ${JSON.stringify({...jwt.payload})}`); + let iss = jwt.payload.iss; + if (this.isEbsi()) { + iss = jwt.header.kid?.split('#')[0]; + } + if (!iss) { + iss = jwt.header.kid?.split('#')[0]; + } + if (!iss) { + throw Error(`No issuer could be determined from the JWT ${JSON.stringify(jwt)}`); + } + const header = {...jwt.header, kid} as Partial; + const payload = {...jwt.payload, ...(iss && {iss})}; + console.log(`header: ${JSON.stringify(header)}`); + console.log(`payload: ${JSON.stringify(payload)}`); return signJWT({ identifier, - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - header: {...jwt.header, kid}, - payload: {...jwt.payload}, - // TODO fix non null assertion - options: {issuer: jwt.payload.iss!, expiresIn: jwt.payload.exp, canonicalize: false}, + header, + payload, + options: {issuer: iss, expiresIn: jwt.payload.exp, canonicalize: false}, }); }, }; try { // We need to make sure we have acquired the access token - await this.acquireAccessToken({pin}); + await this.acquireAccessToken({pin, authorizationResponse: this.authorizationCodeResponse}); console.log(`cred type: ${JSON.stringify(issuanceOpt.types)}, format: ${issuanceOpt.format}, kid: ${kid}, alg: ${alg}`); + return await this._client.acquireCredentials({ - credentialTypes: issuanceOpt.types.filter((type: string): boolean => type !== 'VerifiableCredential'), + credentialTypes: issuanceOpt.types /*.filter((type: string): boolean => type !== 'VerifiableCredential')*/, proofCallbacks: callbacks, format: issuanceOpt.format, + // TODO: We need to update the machine and add notifications support for actuall deferred credentials instead of just waiting/retrying + deferredCredentialAwait: true, kid, alg, jti: uuidv4(), @@ -311,7 +342,7 @@ class OpenId4VcIssuanceProvider { if (!this._credentialsSupported || this._credentialsSupported.length === 0) { // todo: remove format here. This is just a temp hack for V11+ issuance of only one credential. Having a single array with formats for multiple credentials will not work. This should be handled in VCI itself let format: string[] | undefined = undefined; - if (this._client.version() > OpenId4VCIVersion.VER_1_0_09 && typeof this._client.credentialOffer.credential_offer === 'object') { + if (this._client.version() > OpenId4VCIVersion.VER_1_0_09 && typeof this._client.credentialOffer?.credential_offer === 'object') { format = this._client.credentialOffer.credential_offer.credentials .filter((format: string | CredentialOfferFormat): boolean => typeof format !== 'string') .map((format: string | CredentialOfferFormat) => (format as CredentialOfferFormat).format); @@ -319,8 +350,21 @@ class OpenId4VcIssuanceProvider { format = undefined; // Otherwise we would match nothing } } - this._credentialsSupported = await this.getPreferredCredentialFormats(this._client.getCredentialsSupported(true, format)); + this._credentialsSupported = await this.getPreferredCredentialFormats( + this._client.getCredentialsSupported(!!this._client.credentialOffer?.credential_offer, format), + ); + if (!this._credentialsSupported || this._credentialsSupported.length === 0) { + this._credentialsSupported = this._client.credentialOffer?.credential_offer.credentials + .filter((format: string | CredentialOfferFormat): boolean => typeof format !== 'string') + .map(cred => { + return { + format: (cred).format, + types: (cred).types, + } as CredentialSupported; + }); + } } + if (!this._issuerBranding) { this._issuerBranding = this._serverMetadata.credentialIssuerMetadata?.display; } @@ -359,11 +403,20 @@ class OpenId4VcIssuanceProvider { }; }; - public acquireAccessToken = async ({pin}: {pin?: string}): Promise => { + public acquireAccessToken = async (opts: { + pin?: string; + clientId?: string; + authorizationResponse?: AuthorizationResponse; + }): Promise => { + const {pin} = opts; if (!this._accessTokenResponse) { - const clientId: string = OpenId4VcIssuanceProvider.determineClientId(this._serverMetadata?.issuer); - this._accessTokenResponse = await this._client.acquireAccessToken({pin, clientId}); - console.log(`OpenId4VcIssuanceProvider.accessTokenResponse accessTokenResponse: ${this._accessTokenResponse}`); + const clientId: string | undefined = opts.clientId; + this._accessTokenResponse = await this._client.acquireAccessToken({ + pin, + clientId, + authorizationResponse: opts?.authorizationResponse ?? this.authorizationCodeResponse, + }); + console.log(`OpenId4VcIssuanceProvider.accessTokenResponse accessTokenResponse: ${JSON.stringify(this._accessTokenResponse)}`); } return this._accessTokenResponse; }; @@ -451,21 +504,48 @@ class OpenId4VcIssuanceProvider { const supportedPreferences: Array = jwtCryptographicSuitePreferences.filter((suite: SignatureAlgorithmEnum) => suites_supported.includes(suite), ); + + if (supportedPreferences.length > 0) { + return supportedPreferences[0]; + } else if (this.isEbsi()) { + return SignatureAlgorithmEnum.ES256; + } + // if we cannot find supported cryptographic suites, we just try with the first preference - return supportedPreferences.length > 0 ? supportedPreferences[0] : jwtCryptographicSuitePreferences[0]; + const fallback = jwtCryptographicSuitePreferences[0]; + console.log(`Warn: We could not determine the crypto suites from the server metadata, and will fallback to a default: ${fallback}`); + return fallback; } case 'ldp': case 'jwt_vc_json_ld': case 'ldp_vc': { const supportedPreferences: Array = jsonldCryptographicSuitePreferences.filter((suite: string) => suites_supported.includes(suite)); + if (supportedPreferences.length > 0) { + return supportedPreferences[0]; + } + // if we cannot find supported cryptographic suites, we just try with the first preference - return supportedPreferences.length > 0 ? supportedPreferences[0] : jsonldCryptographicSuitePreferences[0]; + const fallback = jsonldCryptographicSuitePreferences[0]; + console.log(`Warn: We could not determine the crypto suites from the server metadata, and will fallback to a default: ${fallback}`); + return fallback; } default: return Promise.reject(Error(`Credential format '${credentialSupported.format}' not supported`)); } }; + private isEbsi() { + if ( + this._client.credentialOffer?.credential_offer.credentials.find( + // @ts-ignore + cred => typeof cred !== 'string' && 'trust_framework' in cred && 'name' in cred.trust_framework && cred.trust_framework.name.includes('ebsi'), + ) + ) { + return true; + } + return this.serverMetadata?.authorization_endpoint?.includes('ebsi.eu'); + } + private getIssuanceDidMethod = async (credentialSupported: CredentialSupported): Promise => { const {format, cryptographic_binding_methods_supported} = credentialSupported; if (cryptographic_binding_methods_supported && Array.isArray(cryptographic_binding_methods_supported)) { @@ -478,6 +558,10 @@ class OpenId4VcIssuanceProvider { return format ? didMethodPreferences[1] : didMethodPreferences[0]; } } + + if (this.isEbsi()) { + return SupportedDidMethodEnum.DID_KEY; + } if (!format || (format.includes('jwt') && !format?.includes('jwt_vc_json_ld'))) { return format ? didMethodPreferences[1] : didMethodPreferences[0]; } else { diff --git a/src/screens/OpenBrowserScreen/index.tsx b/src/screens/OpenBrowserScreen/index.tsx new file mode 100644 index 00000000..f94b65f7 --- /dev/null +++ b/src/screens/OpenBrowserScreen/index.tsx @@ -0,0 +1,56 @@ +import {useBackHandler} from '@react-native-community/hooks'; +import {NativeStackScreenProps} from '@react-navigation/native-stack'; +import {PrimaryButton} from '@sphereon/ui-components.ssi-react-native'; +import React, {FC} from 'react'; +import { + SSIBasicHorizontalCenterContainerStyled as Container, + SSIButtonBottomContainerStyled as ButtonContainer, + SSITextH3RegularLightStyled as BodyText, + SSIWelcomeViewBodyContainerStyled as BodyContainer, + SSIWelcomeViewContentContainerStyled as ContentContainer, + SSIWelcomeViewHeaderTextStyled as HeaderCaption, + SSIWelcomeViewTitleTextStyled as TitleCaption, +} from '../../styles/components'; +import {ScreenRoutesEnum, StackParamList} from '../../types'; + +type Props = NativeStackScreenProps; +const OpenBrowserScreen: FC = (props: Props): JSX.Element => { + const {navigation} = props; + const {context, onBack, onNext} = props.route.params; + + useBackHandler((): boolean => { + if (onBack) { + void onBack(); + // make sure event stops here + return true; + } + + // FIXME for some reason returning false does not execute default behaviour + navigation.goBack(); + return true; + }); + + console.log('OpenBrowserScreen'); + + return ( + + + Browser needed + External authentication required + + _RP_ requires you to authenticate. Your default browser will be used for this action + + + + + + + ); +}; + +export default OpenBrowserScreen; diff --git a/src/screens/SSICredentialsRequiredScreen/index.tsx b/src/screens/SSICredentialsRequiredScreen/index.tsx index 7a887546..e9618516 100644 --- a/src/screens/SSICredentialsRequiredScreen/index.tsx +++ b/src/screens/SSICredentialsRequiredScreen/index.tsx @@ -30,8 +30,11 @@ type Props = NativeStackScreenProps = (props: Props): JSX.Element => { const {navigation} = props; const {presentationDefinition, format, subjectSyntaxTypesSupported, onSelect, isSendDisabled, onDecline, onBack} = props.route.params; - const [selectedCredentials, setSelectedCredentials] = useState(new Map>()); - const [availableCredentials, setAvailableCredentials] = useState(new Map>()); + const [allUniqueCredentials, setAllUniqueCredentials] = useState | null>(null); + const [allOriginalCredentials, setAllOriginalCredentials] = useState>([]); + const [userSelectedCredentials, setUserSelectedCredentials] = useState(new Map>()); + const [pexFilteredCredentials, setPexFilteredCredentials] = useState(new Map>()); + const [matchingDescriptors, setMatchingDescriptors] = useState(new Map()); const pex: PEX = new PEX(); useBackHandler((): boolean => { @@ -46,50 +49,82 @@ const SSICredentialsRequiredScreen: FC = (props: Props): JSX.Element => { return true; }); - useEffect((): void => { - // FIXME we need to have one source for these credentials as then all the data is always available + useEffect(() => { getVerifiableCredentialsFromStorage().then((uniqueVCs: Array) => { // We need to go to a wrapped VC first to get an actual original Verifiable Credential in JWT format, as they are stored with a special Proof value in Veramo - const originalVcs: Array = uniqueVCs.map( - (uniqueVC: UniqueVerifiableCredential) => - CredentialMapper.toWrappedVerifiableCredential(uniqueVC.verifiableCredential as OriginalVerifiableCredential).original, + setAllUniqueCredentials(uniqueVCs); + console.log(`unique creds length:` + uniqueVCs.length); + }); + setMatchingDescriptors( + new Map( + presentationDefinition.input_descriptors.map((inputDescriptor: InputDescriptorV1 | InputDescriptorV2) => { + return [inputDescriptor, false]; + }), + ), + ); + }, []); + + useEffect(() => { + if (!allUniqueCredentials) { + setAllOriginalCredentials([]); + } else { + setAllOriginalCredentials( + allUniqueCredentials.map(uniqueVC => + CredentialMapper.storedCredentialToOriginalFormat(uniqueVC.verifiableCredential as OriginalVerifiableCredential), + ), ); - const availableVCs: Map> = new Map>(); - presentationDefinition.input_descriptors.forEach((inputDescriptor: InputDescriptorV1 | InputDescriptorV2) => { - const presentationDefinition = { - id: inputDescriptor.id, - input_descriptors: [inputDescriptor], - }; - const selectResult: SelectResults = pex.selectFrom(presentationDefinition, originalVcs, { - restrictToFormats: format, - restrictToDIDMethods: subjectSyntaxTypesSupported, - }); - if (selectResult.areRequiredCredentialsPresent === Status.ERROR) { - console.debug('pex.selectFrom returned errors:\n', JSON.stringify(selectResult.errors)); - } - const matchedVCs: Array = - selectResult.matches && selectResult.verifiableCredential - ? selectResult.matches - .map((match: SubmissionRequirementMatch) => { - const matchedVC = JSONPath.query(selectResult, match.vc_path[0]); // TODO Can we have multiple vc_path elements for a single match? - if (matchedVC && matchedVC.length > 0) { - return getMatchingUniqueVerifiableCredential(uniqueVCs, matchedVC[0]); - } - }) - .filter((matchedVC: UniqueVerifiableCredential | undefined): matchedVC is UniqueVerifiableCredential => !!matchedVC) // filter out the undefined (should not happen) - : []; - availableVCs.set(inputDescriptor.id, matchedVCs); + } + console.log(`orig creds length:` + allOriginalCredentials.length); + }, [allUniqueCredentials]); + + useEffect((): void => { + // FIXME we need to have one source for these credentials as then all the data is always available + // getVerifiableCredentialsFromStorage().then((uniqueVCs: Array) => { + // // We need to go to a wrapped VC first to get an actual original Verifiable Credential in JWT format, as they are stored with a special Proof value in Veramo + // const originalVcs: Array = uniqueVCs.map( + // (uniqueVC: UniqueVerifiableCredential) => + // CredentialMapper.toWrappedVerifiableCredential(uniqueVC.verifiableCredential as OriginalVerifiableCredential).original, + // ); + if (!allOriginalCredentials || !allUniqueCredentials || !presentationDefinition) { + return; + } + const pexMatchingVCs: Map> = new Map>(); + presentationDefinition.input_descriptors.forEach((inputDescriptor: InputDescriptorV1 | InputDescriptorV2) => { + const presentationDefinition = { + id: inputDescriptor.id, + input_descriptors: [inputDescriptor], + }; + const selectResult: SelectResults = pex.selectFrom(presentationDefinition, allOriginalCredentials, { + restrictToFormats: format, + restrictToDIDMethods: subjectSyntaxTypesSupported, }); - setAvailableCredentials(availableVCs); + if (selectResult.areRequiredCredentialsPresent === Status.ERROR) { + console.debug('pex.selectFrom returned errors:\n', JSON.stringify(selectResult.errors)); + } + const matchedVCs: Array = + selectResult.matches && selectResult.verifiableCredential + ? selectResult.matches + .map((match: SubmissionRequirementMatch) => { + const matchedVC = JSONPath.query(selectResult, match.vc_path[0]); // TODO Can we have multiple vc_path elements for a single match? + if (matchedVC && matchedVC.length > 0) { + return getMatchingUniqueVerifiableCredential(allUniqueCredentials!, matchedVC[0]); + } + }) + .filter((matchedVC: UniqueVerifiableCredential | undefined): matchedVC is UniqueVerifiableCredential => !!matchedVC) // filter out the undefined (should not happen) + : []; + pexMatchingVCs.set(inputDescriptor.id, matchedVCs); }); - }, []); + setPexFilteredCredentials(pexMatchingVCs); + // }); + console.log(`pex desc length:` + pexMatchingVCs.size); + }, [presentationDefinition, allUniqueCredentials, allOriginalCredentials]); useEffect((): void => { - const selectedVCs: Map> = new Map>(); + const selectedVCsPerDescriptor: Map> = new Map>(); presentationDefinition.input_descriptors.forEach((inputDescriptor: InputDescriptorV1 | InputDescriptorV2) => - selectedVCs.set(inputDescriptor.id, []), + selectedVCsPerDescriptor.set(inputDescriptor.id, []), ); - setSelectedCredentials(selectedVCs); + setUserSelectedCredentials(selectedVCsPerDescriptor); }, [presentationDefinition]); const onSend = async (): Promise => { @@ -101,7 +136,7 @@ const SSICredentialsRequiredScreen: FC = (props: Props): JSX.Element => { const getSelectedCredentials = (): Array => { const selectedVCs: Array> = []; - for (const uniqueVCs of selectedCredentials.values()) { + for (const uniqueVCs of userSelectedCredentials.values()) { selectedVCs.push(uniqueVCs); } @@ -109,6 +144,7 @@ const SSICredentialsRequiredScreen: FC = (props: Props): JSX.Element => { }; const isMatchingPresentationDefinition = (): boolean => { + console.log(`is matching def=====================`); return ( pex.evaluateCredentials( presentationDefinition, @@ -117,26 +153,29 @@ const SSICredentialsRequiredScreen: FC = (props: Props): JSX.Element => { ); }; + const getDescriptorById = (inputDescriptorId: string): InputDescriptorV1 | InputDescriptorV2 => { + return [...matchingDescriptors.keys()].find(descriptor => descriptor.id === inputDescriptorId)!; + }; const onItemPress = async ( inputDescriptorId: string, - uniqueVCs: Array, + inputDescriptorVCs: Array, inputDescriptorPurpose?: string, ): Promise => { // FIXME we need to have one source for these credentials as then all the data is always available - const vcHashes: Array<{vcHash: string}> = uniqueVCs.map((uniqueCredential: UniqueVerifiableCredential): {vcHash: string} => ({ + const vcHashes = inputDescriptorVCs.map((uniqueCredential: UniqueVerifiableCredential): {vcHash: string} => ({ vcHash: uniqueCredential.hash, })); const credentialsBranding: Array = await ibGetCredentialBranding({filter: vcHashes}); const credentialSelection = await Promise.all( - uniqueVCs.map(async (uniqueVC: UniqueVerifiableCredential) => { + inputDescriptorVCs.map(async (uniqueVC: UniqueVerifiableCredential) => { // FIXME we need to have one source for these credentials as then all the data is always available const credentialBranding: ICredentialBranding | undefined = credentialsBranding.find( (branding: ICredentialBranding): boolean => branding.vcHash === uniqueVC.hash, ); const credentialSummary: ICredentialSummary = await toCredentialSummary(uniqueVC, credentialBranding?.localeBranding); - const rawCredential: OriginalVerifiableCredential = await getOriginalVerifiableCredential(uniqueVC.verifiableCredential); - const isSelected: boolean = selectedCredentials + const rawCredential: OriginalVerifiableCredential = getOriginalVerifiableCredential(uniqueVC.verifiableCredential); + const isSelected: boolean = userSelectedCredentials .get(inputDescriptorId)! .some( (matchedVC: UniqueVerifiableCredential) => @@ -148,22 +187,31 @@ const SSICredentialsRequiredScreen: FC = (props: Props): JSX.Element => { id: credentialSummary.id, credential: credentialSummary, rawCredential: rawCredential, - isSelected: isSelected, + isSelected, }; }), ); const onSelectCredential = async (hashes: Array): Promise => { - const selectedVCs: Array = availableCredentials + const uniquePEXFilteredVCs: Array = pexFilteredCredentials .get(inputDescriptorId)! .filter((vc: UniqueVerifiableCredential) => hashes.includes(vc.hash)); - selectedCredentials.set(inputDescriptorId, selectedVCs); - const newSelection: Map> = new Map>(); - for (const [key, value] of selectedCredentials) { - newSelection.set(key, value); - } - - setSelectedCredentials(newSelection); + const newSelection = new Map(userSelectedCredentials.entries()); + newSelection.set(inputDescriptorId, uniquePEXFilteredVCs); + const inputDescriptor = getDescriptorById(inputDescriptorId); + console.log(`input descriptor: ${inputDescriptor.id} pex.evaluate!!!!!`); + const evaluationResult = + pex.evaluateCredentials( + { + id: inputDescriptor.id, + input_descriptors: [inputDescriptor], + }, + uniquePEXFilteredVCs.map((uniqueVC: UniqueVerifiableCredential) => getOriginalVerifiableCredential(uniqueVC.verifiableCredential)), + ).areRequiredCredentialsPresent === Status.INFO; + const matchingDescriptorsCopy = new Map(matchingDescriptors); + matchingDescriptorsCopy.set(inputDescriptor, evaluationResult); + setMatchingDescriptors(matchingDescriptorsCopy); + setUserSelectedCredentials(newSelection); if (onSelect) { const selectedVCs: Array> = []; @@ -185,10 +233,10 @@ const SSICredentialsRequiredScreen: FC = (props: Props): JSX.Element => { // TODO add support for multiple versions of pex, currently using V1 const renderItem = (itemInfo: ListRenderItemInfo): JSX.Element => { + console.log(`rendering item ${itemInfo.item.id}`); + const descriptorVCs = pexFilteredCredentials.get(itemInfo.item.id); const onPress = - !availableCredentials.has(itemInfo.item.id) || availableCredentials.get(itemInfo.item.id)!.length === 0 - ? undefined - : () => onItemPress(itemInfo.item.id, availableCredentials.get(itemInfo.item.id)!, itemInfo.item.purpose); + !descriptorVCs || descriptorVCs.length === 0 ? undefined : () => onItemPress(itemInfo.item.id, descriptorVCs, itemInfo.item.purpose); const checkIsMatching = ( itemInfo: ListRenderItemInfo, @@ -197,15 +245,16 @@ const SSICredentialsRequiredScreen: FC = (props: Props): JSX.Element => { if (!selectedCredentials.has(itemInfo.item.id)) { return false; } - const selectedCredential: Array | undefined = selectedCredentials.get(itemInfo.item.id); - if (!selectedCredential) { + const selectedDescriptorCredentials = selectedCredentials.get(itemInfo.item.id); + if (!selectedDescriptorCredentials) { return false; } - const credentials: Array = selectedCredential.map((uniqueVC: UniqueVerifiableCredential) => + /* const credentials = selectedDescriptorCredentials.map((uniqueVC: UniqueVerifiableCredential) => getOriginalVerifiableCredential(uniqueVC.verifiableCredential), - ); - return ( + );*/ + return matchingDescriptors.get(itemInfo.item) ?? false; + /*return ( pex.evaluateCredentials( { id: itemInfo.item.id, @@ -213,7 +262,7 @@ const SSICredentialsRequiredScreen: FC = (props: Props): JSX.Element => { }, credentials, ).areRequiredCredentialsPresent === Status.INFO - ); + );*/ }; return ( @@ -221,9 +270,9 @@ const SSICredentialsRequiredScreen: FC = (props: Props): JSX.Element => { id={itemInfo.item.id} title={itemInfo.item.name || itemInfo.item.id} purpose={itemInfo.item.purpose} - available={availableCredentials.has(itemInfo.item.id) ? availableCredentials.get(itemInfo.item.id)! : undefined} - selected={selectedCredentials.has(itemInfo.item.id) ? selectedCredentials.get(itemInfo.item.id)! : []} - isMatching={checkIsMatching(itemInfo, selectedCredentials)} + available={pexFilteredCredentials.has(itemInfo.item.id) ? pexFilteredCredentials.get(itemInfo.item.id) : undefined} + selected={userSelectedCredentials.has(itemInfo.item.id) ? userSelectedCredentials.get(itemInfo.item.id)! : []} + isMatching={checkIsMatching(itemInfo, userSelectedCredentials)} listIndex={itemInfo.index} onPress={onPress} /> @@ -251,7 +300,9 @@ const SSICredentialsRequiredScreen: FC = (props: Props): JSX.Element => { }} primaryButton={{ caption: translate('action_share_label'), - disabled: isSendDisabled ? isSendDisabled() : !isMatchingPresentationDefinition(), + // We do a quick check to see if any of the descriptors are not matching. The machine has a guard, doing a pex check anyway + disabled: [...matchingDescriptors.values()].includes(false), + // disabled: isSendDisabled ? isSendDisabled() : !isMatchingPresentationDefinition(), onPress: onSend, }} /> diff --git a/src/services/identityService.ts b/src/services/identityService.ts index be9d69ab..6b363dd5 100644 --- a/src/services/identityService.ts +++ b/src/services/identityService.ts @@ -14,9 +14,9 @@ export const getIdentifiers = async (): Promise => { export const createIdentifier = async (args?: ICreateIdentifierArgs): Promise => { const identifier = await didManagerCreate({ - kms: args?.createOpts?.kms || KeyManagementSystemEnum.LOCAL, + kms: args?.createOpts?.kms ?? KeyManagementSystemEnum.LOCAL, ...(args?.method && {provider: `${DID_PREFIX}:${args?.method}`}), - alias: args?.createOpts?.alias || `${IdentifierAliasEnum.PRIMARY}-${args?.method}-${args?.createOpts?.options?.type}-${new Date().toUTCString()}`, + alias: args?.createOpts?.alias ?? `${IdentifierAliasEnum.PRIMARY}-${args?.method}-${args?.createOpts?.options?.type}-${new Date().toUTCString()}`, options: args?.createOpts?.options, }); @@ -42,5 +42,6 @@ export const getOrCreatePrimaryIdentifier = async (args?: ICreateOrGetIdentifier // Currently we only support one identifier const identifier: IIdentifier = !identifiers || identifiers.length == 0 ? await createIdentifier(args) : identifiers[0]; + console.log(`created identifier: ${JSON.stringify(identifier, null, 2)}`); return didManagerGet({did: identifier.did}); }; diff --git a/src/services/machines/oid4vciMachineService.ts b/src/services/machines/oid4vciMachineService.ts index c80bf90d..d8dcb278 100644 --- a/src/services/machines/oid4vciMachineService.ts +++ b/src/services/machines/oid4vciMachineService.ts @@ -1,34 +1,33 @@ -import {URL} from 'react-native-url-polyfill'; -import {v4 as uuidv4} from 'uuid'; -import {CompactJWT, VerifiableCredential} from '@veramo/core'; -import {computeEntryHash} from '@veramo/utils'; import {CredentialResponse, CredentialSupported} from '@sphereon/oid4vci-common'; import { CorrelationIdentifierEnum, IBasicCredentialLocaleBranding, + Identity, + IdentityRoleEnum, NonPersistedIdentity, Party, - IdentityRoleEnum, - Identity, } from '@sphereon/ssi-sdk.data-store'; import { CredentialMapper, - IIssuer, IVerifiableCredential, OriginalVerifiableCredential, W3CVerifiableCredential, WrappedVerifiableCredential, } from '@sphereon/ssi-types'; -import OpenId4VcIssuanceProvider, {CredentialFromOffer} from '../../providers/credential/OpenId4VcIssuanceProvider'; -import {addCredentialBranding, selectAppLocaleBranding} from '../brandingService'; -import {verifyCredential} from '../credentialService'; -import {getContacts} from '../contactService'; +import {VerifiableCredential} from '@veramo/core'; +import {computeEntryHash} from '@veramo/utils'; +import {URL} from 'react-native-url-polyfill'; +import {v4 as uuidv4} from 'uuid'; +import {translate} from '../../localization/Localization'; +import OpenId4VcIssuanceProvider, {CredentialToAccept} from '../../providers/credential/OpenId4VcIssuanceProvider'; import store from '../../store'; -import {storeVerifiableCredential} from '../../store/actions/credential.actions'; import {addIdentity} from '../../store/actions/contact.actions'; +import {storeVerifiableCredential} from '../../store/actions/credential.actions'; import {ICredentialTypeSelection, IVerificationResult} from '../../types/'; -import {MappedCredentialOffer, OID4VCIMachineContext} from '../../types/machines/oid4vci'; -import {translate} from '../../localization/Localization'; +import {MappedCredentialToAccept, OID4VCIMachineContext} from '../../types/machines/oid4vci'; +import {addCredentialBranding, selectAppLocaleBranding} from '../brandingService'; +import {getContacts} from '../contactService'; +import {verifyCredential} from '../credentialService'; export const initiateOpenId4VcIssuanceProvider = async (context: Pick): Promise => { const {requestData} = context; @@ -40,21 +39,49 @@ export const initiateOpenId4VcIssuanceProvider = async (context: Pick, +): Promise => { + const {openId4VcIssuanceProvider} = context; + if (!openId4VcIssuanceProvider || !context.authorizationCodeResponse) { + throw Error('No authorization response received') + } + const authorizationResponse = toAuthorizationResponsePayload(context.authorizationCodeResponse) + openId4VcIssuanceProvider.authorizationCodeResponse = authorizationResponse; + + return authorizationResponse +}*/ +/*export const invokeAuthorizationRequest = async ( + context: Pick, +): Promise => { + const {openId4VcIssuanceProvider, authorizationCodeURL} = context; + + console.log(`invoke auth request: ${authorizationCodeURL}`) + if (authorizationCodeURL) { + await Linking.openURL(authorizationCodeURL); + } else if (openId4VcIssuanceProvider?.client.authorizationURL) { + await Linking.openURL(openId4VcIssuanceProvider?.client.authorizationURL); + } else { + throw Error('NOT_AUTHORIZED'); + } +};*/ + export const createCredentialSelection = async ( - context: Pick, + context: Pick, ): Promise> => { - const {openId4VcIssuanceProvider, selectedCredentials} = context; + const {openId4VcIssuanceProvider, selectedCredentials, authorizationCodeResponse} = context; if (!openId4VcIssuanceProvider) { return Promise.reject(Error('Missing OpenId4VcIssuanceProvider in context')); } - if (!openId4VcIssuanceProvider.credentialsSupported) { return Promise.reject(Error('OID4VCI issuance provider has no supported credentials')); } - const credentialSelection: Array = await Promise.all( openId4VcIssuanceProvider.credentialsSupported.map(async (credentialMetadata: CredentialSupported): Promise => { + if (!('types' in credentialMetadata)) { + throw Error('SD-JWT not supported yet'); + } // FIXME this allows for duplicate VerifiableCredential, which the user has no idea which ones those are and we also have a branding map with unique keys, so some branding will not match const credentialType: string = credentialMetadata.types.find((type: string): boolean => type !== 'VerifiableCredential') ?? 'VerifiableCredential'; @@ -62,7 +89,7 @@ export const createCredentialSelection = async ( id: uuidv4(), credentialType, credentialAlias: - (await selectAppLocaleBranding({localeBranding: openId4VcIssuanceProvider?.credentialBranding?.get(credentialType)}))?.alias || + (await selectAppLocaleBranding({localeBranding: openId4VcIssuanceProvider?.credentialBranding?.get(credentialType)}))?.alias ?? credentialType, isSelected: false, }; @@ -102,33 +129,40 @@ export const retrieveContact = async (context: Pick): Party | undefined => (contacts.length === 1 ? contacts[0] : undefined)); }; -export const retrieveCredentialOffers = async ( - context: Pick, -): Promise | undefined> => { - const {openId4VcIssuanceProvider, verificationCode, selectedCredentials} = context; +export const retrieveCredentials = async ( + context: Pick, +): Promise | undefined> => { + const {openId4VcIssuanceProvider, verificationCode, selectedCredentials, authorizationCodeResponse} = context; + if (!openId4VcIssuanceProvider) { + throw Error('Missing OID4VCI issuance provider in context'); + } + console.log('MACHINE authorizationCodeResponse', authorizationCodeResponse); + openId4VcIssuanceProvider.authorizationCodeResponse = authorizationCodeResponse; return openId4VcIssuanceProvider - ?.getCredentialsFromIssuance({ + ?.getCredentials({ credentials: selectedCredentials, pin: verificationCode, }) .then( - (credentialOffers: Array): Array => - credentialOffers.map((credentialOffer: CredentialFromOffer): MappedCredentialOffer => { - const credentialResponse: CredentialResponse = credentialOffer.credentialResponse; + (credentials: Array): Array => + credentials.map((credential: CredentialToAccept): MappedCredentialToAccept => { + const credentialResponse: CredentialResponse = credential.credentialResponse; const verifiableCredential: W3CVerifiableCredential | undefined = credentialResponse.credential; const wrappedVerifiableCredential: WrappedVerifiableCredential = CredentialMapper.toWrappedVerifiableCredential( verifiableCredential as OriginalVerifiableCredential, ); + if (wrappedVerifiableCredential?.credential?.compactSdJwtVc) { + throw Error('SD-JWT not supported yet'); + } const uniformVerifiableCredential: IVerifiableCredential = wrappedVerifiableCredential.credential; const rawVerifiableCredential: VerifiableCredential = credentialResponse.credential as unknown as VerifiableCredential; + const correlationId: string = - typeof uniformVerifiableCredential.issuer === 'string' - ? uniformVerifiableCredential.issuer - : (uniformVerifiableCredential.issuer as IIssuer).id; + typeof uniformVerifiableCredential.issuer === 'string' ? uniformVerifiableCredential.issuer : uniformVerifiableCredential.issuer.id; return { correlationId, - credentialOffer, + credential: credential, rawVerifiableCredential, uniformVerifiableCredential, }; @@ -136,18 +170,18 @@ export const retrieveCredentialOffers = async ( ); }; -export const addContactIdentity = async (context: Pick): Promise => { - const {credentialOffers, contact} = context; +export const addContactIdentity = async (context: Pick): Promise => { + const {credentialsToAccept, contact} = context; if (!contact) { return Promise.reject(Error('Missing contact in context')); } - if (credentialOffers === undefined || credentialOffers.length === 0) { + if (credentialsToAccept === undefined || credentialsToAccept.length === 0) { return Promise.reject(Error('Missing credential offers in context')); } - const correlationId: string = credentialOffers[0].correlationId; + const correlationId: string = credentialsToAccept[0].correlationId; const identity: NonPersistedIdentity = { alias: correlationId, roles: [IdentityRoleEnum.ISSUER], @@ -159,13 +193,22 @@ export const addContactIdentity = async (context: Pick(addIdentity({contactId: contact.id, identity})); }; -export const assertValidCredentials = async (context: Pick): Promise => { - const {credentialOffers} = context; +export const assertValidCredentials = async (context: Pick): Promise => { + const {credentialsToAccept} = context; await Promise.all( - credentialOffers.map(async (offer: MappedCredentialOffer): Promise => { + credentialsToAccept.map(async (offer: MappedCredentialToAccept): Promise => { + const credential = offer.credential.credentialResponse.credential as OriginalVerifiableCredential; + const wrappedVC = CredentialMapper.toWrappedVerifiableCredential(credential); + if (wrappedVC.decoded.iss?.includes('did:ebsi:') || wrappedVC.decoded.vc?.issuer?.includes('did:ebsi:')) { + if (JSON.stringify(wrappedVC.decoded).includes('vc:ebsi:conformance')) { + console.log(`Skipping VC validation for EBSI conformance issued credential, as their Issuer is not present in the ledger (sigh)`); + return; + } + } + const verificationResult: IVerificationResult = await verifyCredential({ - credential: offer.credentialOffer.credentialResponse.credential as VerifiableCredential | CompactJWT, + credential: credential as VerifiableCredential, // TODO WAL-675 we might want to allow these types of options as part of the context, now we have state machines. Allows us to pre-determine whether these policies apply and whether remote context should be fetched fetchRemoteContexts: true, policies: { @@ -176,6 +219,7 @@ export const assertValidCredentials = async (context: Pick, + context: Pick, ): Promise => { - const {openId4VcIssuanceProvider, selectedCredentials, credentialOffers} = context; + const {openId4VcIssuanceProvider, selectedCredentials, credentialsToAccept} = context; if (!openId4VcIssuanceProvider?.serverMetadata) { return Promise.reject(Error('OID4VCI issuance provider has no server metadata')); @@ -196,14 +240,14 @@ export const storeCredentialBranding = async ( ); if (localeBranding && localeBranding.length > 0) { await addCredentialBranding({ - vcHash: computeEntryHash(credentialOffers[0].rawVerifiableCredential), + vcHash: computeEntryHash(credentialsToAccept[0].rawVerifiableCredential), issuerCorrelationId: new URL(openId4VcIssuanceProvider.serverMetadata.issuer).hostname, localeBranding, }); } }; -export const storeCredentials = async (context: Pick): Promise => { - const {credentialOffers} = context; - store.dispatch(storeVerifiableCredential(credentialOffers[0].rawVerifiableCredential)); +export const storeCredentials = async (context: Pick): Promise => { + const {credentialsToAccept} = context; + store.dispatch(storeVerifiableCredential(credentialsToAccept[0].rawVerifiableCredential)); }; diff --git a/src/services/machines/onboardingMachineService.ts b/src/services/machines/onboardingMachineService.ts index 8184e64b..564b441f 100644 --- a/src/services/machines/onboardingMachineService.ts +++ b/src/services/machines/onboardingMachineService.ts @@ -32,7 +32,10 @@ const createUserAndIdentity = async ( context: Pick, ): Promise => { const {personalData, credentialData} = context; - const identifier: IIdentifier = await getOrCreatePrimaryIdentifier({method: credentialData.didMethod}); + const identifier: IIdentifier = await getOrCreatePrimaryIdentifier({ + method: credentialData.didMethod, + createOpts: {options: credentialData.didOptions}, + }); const cred: Partial | undefined = credentialData.credential; const ctx = {...agent?.context, agent}; diff --git a/src/services/machines/siopV2MachineService.ts b/src/services/machines/siopV2MachineService.ts index 41ef6ead..17db2af1 100644 --- a/src/services/machines/siopV2MachineService.ts +++ b/src/services/machines/siopV2MachineService.ts @@ -1,3 +1,4 @@ +import {Linking} from 'react-native'; import {v4 as uuidv4} from 'uuid'; import {VerifiedAuthorizationRequest} from '@sphereon/did-auth-siop'; import { @@ -8,6 +9,7 @@ import { IdentityRoleEnum, DidAuthConfig, } from '@sphereon/ssi-sdk.data-store'; +import IntentHandler from '../../handlers/IntentHandler'; import {siopGetRequest, siopSendAuthorizationResponse} from '../../providers/authentication/SIOPv2Provider'; import {SiopV2AuthorizationRequestData, SiopV2MachineContext} from '../../types/machines/siopV2'; import {URL} from 'react-native-url-polyfill'; @@ -17,7 +19,7 @@ import {addIdentity} from '../../store/actions/contact.actions'; import {W3CVerifiableCredential} from '@sphereon/ssi-types'; import {IIdentifier} from '@veramo/core'; import {getOrCreatePrimaryIdentifier} from '../identityService'; -import {translateCorrelationIdToName} from '../../utils/CredentialUtils'; +import {translateCorrelationIdToName} from '../../utils'; export const createConfig = async (context: Pick): Promise => { const {requestData} = context; @@ -73,7 +75,9 @@ export const getSiopRequest = async ( uri, name, clientId, - presentationDefinitions: verifiedAuthorizationRequest.presentationDefinitions, + presentationDefinitions: (await verifiedAuthorizationRequest.authorizationRequest.containsResponseType('vp_token')) + ? verifiedAuthorizationRequest.presentationDefinitions + : undefined, }; }; @@ -133,7 +137,7 @@ export const addContactIdentity = async (context: Pick, -): Promise => { +): Promise => { const {didAuthConfig, authorizationRequestData, selectedCredentials} = context; if (didAuthConfig === undefined) { @@ -144,15 +148,22 @@ export const sendResponse = async ( return Promise.reject(Error('Missing authorization request data in context')); } - await siopSendAuthorizationResponse(ConnectionTypeEnum.SIOPv2_OpenID4VP, { + const response = await siopSendAuthorizationResponse(ConnectionTypeEnum.SIOPv2_OpenID4VP, { sessionId: didAuthConfig.sessionId, ...(authorizationRequestData.presentationDefinitions !== undefined && { verifiableCredentialsWithDefinition: [ { - definition: authorizationRequestData.presentationDefinitions![0], // TODO 0 check, check siop only + definition: authorizationRequestData.presentationDefinitions[0], // TODO 0 check, check siop only credentials: selectedCredentials as Array, }, ], }), }); + if (response.status === 302 && response.headers.has('location')) { + const url = response.headers.get('location') as string; + console.log(`Redirecting to: ${url}`); + Linking.emit('url', {url}); + } + + return response; }; diff --git a/src/services/qrService.ts b/src/services/qrService.ts index 064c41c1..1857762c 100644 --- a/src/services/qrService.ts +++ b/src/services/qrService.ts @@ -1,18 +1,16 @@ -import {URL} from 'react-native-url-polyfill'; -import {v4 as uuidv4} from 'uuid'; -import Debug, {Debugger} from 'debug'; -import {IIdentifier} from '@veramo/core'; import {VerifiedAuthorizationRequest} from '@sphereon/did-auth-siop'; import {CredentialOfferClient} from '@sphereon/oid4vci-client'; -import {ConnectionTypeEnum, NonPersistedConnection, DidAuthConfig} from '@sphereon/ssi-sdk.data-store'; +import {ConnectionTypeEnum, DidAuthConfig, NonPersistedConnection} from '@sphereon/ssi-sdk.data-store'; +import {IIdentifier} from '@veramo/core'; +import Debug, {Debugger} from 'debug'; +import {URL} from 'react-native-url-polyfill'; +import {v4 as uuidv4} from 'uuid'; import {APP_ID} from '../@config/constants'; import {translate} from '../localization/Localization'; +import {OID4VCIMachine} from '../machines/oid4vciMachine'; +import {SiopV2Machine} from '../machines/siopV2Machine'; import {siopGetRequest} from '../providers/authentication/SIOPv2Provider'; import JwtVcPresentationProfileProvider from '../providers/credential/JwtVcPresentationProfileProvider'; -import {OID4VCIMachine} from '../machines/oid4vciMachine'; -import {authenticate} from './authenticationService'; -import {getOrCreatePrimaryIdentifier} from './identityService'; -import {showToast} from '../utils/ToastUtils'; import { IQrAuthentication, IQrData, @@ -24,13 +22,16 @@ import { ScreenRoutesEnum, ToastTypeEnum, } from '../types'; -import {OID4VCIMachineInterpreter} from '../types/machines/oid4vci'; +import {OID4VCIMachineEvents, OID4VCIMachineInterpreter} from '../types/machines/oid4vci'; import {SiopV2MachineInterpreter} from '../types/machines/siopV2'; -import {SiopV2Machine} from '../machines/siopV2Machine'; +import {showToast} from '../utils'; +import {authenticate} from './authenticationService'; +import {getOrCreatePrimaryIdentifier} from './identityService'; const debug: Debugger = Debug(`${APP_ID}:qrService`); export const readQr = async (args: IReadQrArgs): Promise => { + console.log(`args.qrData`, JSON.stringify(args.qrData)); parseQr(args.qrData) .then((qrData: IQrData) => processQr({qrData, navigation: args.navigation})) .catch((error: Error) => showToast(ToastTypeEnum.TOAST_ERROR, {message: error.message})); @@ -103,19 +104,19 @@ const parseSIOPv2 = (qrData: string): Promise => { }; const parseOID4VCI = async (qrData: string): Promise => { - if (qrData.includes(QrTypesEnum.OPENID_INITIATE_ISSUANCE)) { - return Promise.resolve({ - type: QrTypesEnum.OPENID_INITIATE_ISSUANCE, - credentialOffer: await CredentialOfferClient.fromURI(qrData), - uri: qrData, - }); - } else { + if (qrData.includes(QrTypesEnum.OPENID_INITIATE_ISSUANCE) || qrData.includes(QrTypesEnum.OPENID_CREDENTIAL_OFFER)) { + const hasCode = qrData.includes('code='); + const code = hasCode ? decodeURIComponent(qrData.split('code=')[1].split('&')[0]) : undefined; + console.log('code', code); + return Promise.resolve({ - type: QrTypesEnum.OPENID_CREDENTIAL_OFFER, - credentialOffer: await CredentialOfferClient.fromURI(qrData), + type: qrData.includes(QrTypesEnum.OPENID_INITIATE_ISSUANCE) ? QrTypesEnum.OPENID_INITIATE_ISSUANCE : QrTypesEnum.OPENID_CREDENTIAL_OFFER, + ...(hasCode && {code}), + ...(!hasCode && {credentialOffer: await CredentialOfferClient.fromURI(qrData)}), uri: qrData, }); } + throw Error(translate('qr_scanner_qr_not_supported_message')); }; // TODO remove old flow @@ -168,12 +169,20 @@ const connectJwtVcPresentationProfile = async (args: IQrDataArgs): Promise // TODO WAL-301 need to send a response when we do not need a pin code }; +export let OID4VCIInstance: OID4VCIMachineInterpreter | undefined; +export let SiopV2Instance: SiopV2MachineInterpreter | undefined; const connectOID4VCI = async (args: IQrDataArgs): Promise => { - const OID4VCIInstance: OID4VCIMachineInterpreter = OID4VCIMachine.newInstance({requestData: args.qrData}); - OID4VCIInstance.start(); + console.log(`args.qrData`, args.qrData); + if (args.qrData.code && args.qrData.uri) { + OID4VCIInstance?.send(OID4VCIMachineEvents.PROVIDE_AUTHORIZATION_CODE_RESPONSE, {data: args.qrData.uri}); + return; + } else { + OID4VCIInstance = OID4VCIMachine.newInstance({requestData: args.qrData}); + OID4VCIInstance.start(); + } }; const connectSiopV2 = async (args: IQrDataArgs): Promise => { - const SiopV2Instance: SiopV2MachineInterpreter = SiopV2Machine.newInstance({requestData: args.qrData}); + SiopV2Instance = SiopV2Machine.newInstance({requestData: args.qrData}); SiopV2Instance.start(); }; diff --git a/src/types/machines/oid4vci/index.ts b/src/types/machines/oid4vci/index.ts index 29a26baa..beb63580 100644 --- a/src/types/machines/oid4vci/index.ts +++ b/src/types/machines/oid4vci/index.ts @@ -1,19 +1,21 @@ +import {AuthorizationResponse} from '@sphereon/oid4vci-common'; import {ReactNode} from 'react'; import {BaseActionObject, Interpreter, ResolveTypegenMeta, ServiceMap, State, StateMachine, TypegenDisabled} from 'xstate'; import {VerifiableCredential} from '@veramo/core'; import {Party} from '@sphereon/ssi-sdk.data-store'; import {IVerifiableCredential} from '@sphereon/ssi-types'; -import OpenId4VcIssuanceProvider, {CredentialFromOffer} from '../../../providers/credential/OpenId4VcIssuanceProvider'; +import OpenId4VcIssuanceProvider, {CredentialToAccept} from '../../../providers/credential/OpenId4VcIssuanceProvider'; import {ErrorDetails} from '../../error'; import {NativeStackNavigationProp} from '@react-navigation/native-stack'; import {IQrData} from '../../qr'; import {ICredentialTypeSelection} from '../../credential'; -export type MappedCredentialOffer = { +export type MappedCredentialToAccept = { correlationId: string; - credentialOffer: CredentialFromOffer; - uniformVerifiableCredential: IVerifiableCredential; - rawVerifiableCredential: VerifiableCredential; + credential: CredentialToAccept; + transactionId?: string; + uniformVerifiableCredential?: IVerifiableCredential; + rawVerifiableCredential?: VerifiableCredential; }; export type OID4VCIMachineContext = { @@ -22,7 +24,9 @@ export type OID4VCIMachineContext = { contactAlias: string; contact?: Party; selectedCredentials: Array; - credentialOffers: Array; + credentialsToAccept: Array; + authorizationCodeURL?: string; + authorizationCodeResponse?: AuthorizationResponse; // TODO WAL-672 refactor to not store verificationCode in the context verificationCode?: string; hasContactConsent: boolean; @@ -40,7 +44,9 @@ export enum OID4VCIMachineStates { selectCredentials = 'selectCredentials', transitionFromSelectingCredentials = 'transitionFromSelectingCredentials', verifyPin = 'verifyPin', - retrieveCredentialsOffers = 'retrieveCredentialsOffers', + initiateAuthorizationRequest = 'initiateAuthorizationRequest', + waitForAuthorizationResponse = 'waitForAuthorizationResponse', + retrieveCredentials = 'retrieveCredentials', transitionFromWalletInput = 'transitionFromWalletInput', addContactIdentity = 'addContactIdentity', reviewCredentials = 'reviewCredentials', @@ -122,6 +128,9 @@ export enum OID4VCIMachineEvents { SET_CONTACT_ALIAS = 'SET_CONTACT_ALIAS', SET_CONTACT_CONSENT = 'SET_CONTACT_CONSENT', SET_SELECTED_CREDENTIALS = 'SET_SELECTED_CREDENTIALS', + SET_AUTHORIZATION_CODE_URL = 'SET_AUTHORIZATION_CODE_URL', + INVOKED_AUTHORIZATION_CODE_REQUEST = 'INVOKED_AUTHORIZATION_CODE_REQUEST', + PROVIDE_AUTHORIZATION_CODE_RESPONSE = 'PROVIDE_AUTHORIZATION_CODE_RESPONSE', } export enum OID4VCIMachineGuards { @@ -130,6 +139,7 @@ export enum OID4VCIMachineGuards { selectCredentialGuard = 'oid4vciSelectCredentialsGuard', requirePinGuard = 'oid4vciRequirePinGuard', hasNoContactIdentityGuard = 'oid4vciHasNoContactIdentityGuard', + requireAuthorizationGuard = 'oid4vciRequireAuthorizationGuard', verificationCodeGuard = 'oid4vciVerificationCodeGuard', createContactGuard = 'oid4vciCreateContactGuard', hasSelectedCredentialsGuard = 'oid4vciHasSelectedCredentialsGuard', @@ -140,7 +150,8 @@ export enum OID4VCIMachineServices { retrieveContact = 'retrieveContact', addContactIdentity = 'addContactIdentity', createCredentialSelection = 'createCredentialSelection', - retrieveCredentialOffers = 'retrieveCredentialOffers', + // invokeAuthorizationRequest = 'invokeAuthorizationRequest', + retrieveCredentials = 'retrieveCredentials', assertValidCredentials = 'assertValidCredentials', storeCredentialBranding = 'storeCredentialBranding', storeCredentials = 'storeCredentials', @@ -154,12 +165,18 @@ export type SelectCredentialsEvent = {type: OID4VCIMachineEvents.SET_SELECTED_CR export type VerificationCodeEvent = {type: OID4VCIMachineEvents.SET_VERIFICATION_CODE; data: string}; export type ContactConsentEvent = {type: OID4VCIMachineEvents.SET_CONTACT_CONSENT; data: boolean}; export type ContactAliasEvent = {type: OID4VCIMachineEvents.SET_CONTACT_ALIAS; data: string}; +export type SetAuthorizationCodeURLEvent = {type: OID4VCIMachineEvents.SET_AUTHORIZATION_CODE_URL; data: string}; +export type InvokeAuthorizationRequestEvent = {type: OID4VCIMachineEvents.INVOKED_AUTHORIZATION_CODE_REQUEST; data: string}; +export type AuthorizationResponseEvent = {type: OID4VCIMachineEvents.PROVIDE_AUTHORIZATION_CODE_RESPONSE; data: string | AuthorizationResponse}; export type OID4VCIMachineEventTypes = + | SetAuthorizationCodeURLEvent | NextEvent | PreviousEvent | DeclineEvent | CreateContactEvent | SelectCredentialsEvent | VerificationCodeEvent + | InvokeAuthorizationRequestEvent + | AuthorizationResponseEvent | ContactConsentEvent | ContactAliasEvent; diff --git a/src/types/machines/onboarding/index.ts b/src/types/machines/onboarding/index.ts index 97ecb235..7e50eeec 100644 --- a/src/types/machines/onboarding/index.ts +++ b/src/types/machines/onboarding/index.ts @@ -8,6 +8,7 @@ import {ReactNode} from 'react'; export type OnboardingCredentialData = { didMethod: SupportedDidMethodEnum; + didOptions?: any; credential?: Partial; proofFormat?: ProofFormat; }; diff --git a/src/types/navigation/index.ts b/src/types/navigation/index.ts index 152d98cc..78097be6 100644 --- a/src/types/navigation/index.ts +++ b/src/types/navigation/index.ts @@ -31,6 +31,7 @@ export type StackParamList = { PinCodeSet: IPinCodeSetProps & IHasOnboardingContext & IHasOnBackProps & IHasOnNextProps; // TODO WAL-677 also partials for IHasOnBackProps? PinCodeVerify: IPinCodeVerifyProps & IHasOnboardingContext & IHasOnBackProps & IHasOnNextProps; // TODO WAL-677 this should not contain a whole context but only a pin code OnboardingSummary: IHasOnboardingContext & IHasOnBackProps & IHasOnNextProps; + BrowserOpen: Record & IHasOnBackProps & IHasOnNextProps; NotificationsOverview: Record; Lock: ILockProps; Authentication: Record; @@ -219,6 +220,7 @@ export enum ScreenRoutesEnum { NOTIFICATIONS_OVERVIEW = 'NotificationsOverview', LOCK = 'Lock', ONBOARDING_SUMMARY = 'OnboardingSummary', + BROWSER_OPEN = 'BrowserOpen', CREDENTIALS_REQUIRED = 'CredentialsRequired', CREDENTIALS_SELECT = 'CredentialsSelect', LOADING = 'Loading', diff --git a/src/utils/DeeplinkUtils.ts b/src/utils/DeeplinkUtils.ts new file mode 100644 index 00000000..e1b9ab58 --- /dev/null +++ b/src/utils/DeeplinkUtils.ts @@ -0,0 +1,20 @@ +export const parseDeepLink = (url: string): Record => { + const parts = url.split('?'); + const queryString = parts.length >= 2 ? parts[1] : undefined; + const params: Record = {}; + + if (!queryString) { + return params; + } + + const kvpairs = queryString.split('&'); + + kvpairs.forEach(param => { + const [key, value] = param.split('='); + if (key && value) { + params[key] = decodeURIComponent(value); + } + }); + + return {params}; +}; diff --git a/src/utils/index.ts b/src/utils/index.ts new file mode 100644 index 00000000..647cef06 --- /dev/null +++ b/src/utils/index.ts @@ -0,0 +1,11 @@ +export * from './AppUtils'; +export * from './BiometricUtils'; +export * from './CredentialUtils'; +export * from './DateUtils'; +export * from './DeeplinkUtils'; +export * from './ImageUtils'; +export * from './KeyUtils'; +export * from './SortUtils'; +export * from './TextUtils'; +export * from './ToastUtils'; +export * from './UserUtils'; diff --git a/yarn.lock b/yarn.lock index 173bc709..08ae012f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -34,34 +34,34 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" - integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== dependencies: - "@babel/highlight" "^7.22.13" + "@babel/highlight" "^7.23.4" chalk "^2.4.2" -"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.20", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.20.tgz#8df6e96661209623f1975d66c35ffca66f3306d0" - integrity sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw== +"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.14.6", "@babel/core@^7.20.0", "@babel/core@^7.4.5": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.0.tgz#f8259ae0e52a123eb40f552551e647b506a94d83" - integrity sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ== + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.7.tgz#4d8016e06a14b5f92530a13ed0561730b5c6483f" + integrity sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.23.0" - "@babel/helpers" "^7.23.0" - "@babel/parser" "^7.23.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.7" + "@babel/parser" "^7.23.6" "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.0" - "@babel/types" "^7.23.0" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -69,20 +69,20 @@ semver "^6.3.1" "@babel/eslint-parser@^7.18.2": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz#263f059c476e29ca4972481a17b8b660cb025a34" - integrity sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg== + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz#7bf0db1c53b54da0c8a12627373554a0828479ca" + integrity sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" semver "^6.3.1" -"@babel/generator@^7.20.0", "@babel/generator@^7.23.0", "@babel/generator@^7.7.2": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" - integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== +"@babel/generator@^7.20.0", "@babel/generator@^7.23.6", "@babel/generator@^7.7.2": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== dependencies: - "@babel/types" "^7.23.0" + "@babel/types" "^7.23.6" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" @@ -94,40 +94,40 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== dependencies: "@babel/types" "^7.22.15" -"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" - integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== +"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-validator-option" "^7.22.15" - browserslist "^4.21.9" + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.11", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4" - integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6", "@babel/helper-create-class-features-plugin@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz#b2e6826e0e20d337143655198b79d58fdc9bd43d" + integrity sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-replace-supers" "^7.22.20" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5": +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== @@ -136,10 +136,21 @@ regexpu-core "^5.3.1" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz#82c825cadeeeee7aad237618ebbe8fa1710015d7" - integrity sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw== +"@babel/helper-define-polyfill-provider@^0.4.4": + version "0.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz#64df615451cb30e94b59a9696022cffac9a10088" + integrity sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-define-polyfill-provider@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz#465805b7361f461e86c680f1de21eaf88c25901b" + integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -147,7 +158,7 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": +"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== @@ -167,7 +178,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-member-expression-to-functions@^7.22.15": +"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== @@ -181,10 +192,10 @@ dependencies: "@babel/types" "^7.22.15" -"@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e" - integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== dependencies: "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-module-imports" "^7.22.15" @@ -204,7 +215,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== -"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.5", "@babel/helper-remap-async-to-generator@^7.22.9": +"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== @@ -213,7 +224,7 @@ "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-wrap-function" "^7.22.20" -"@babel/helper-replace-supers@^7.22.20", "@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": +"@babel/helper-replace-supers@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== @@ -243,20 +254,20 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== -"@babel/helper-validator-option@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" - integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== +"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== "@babel/helper-wrap-function@^7.22.20": version "7.22.20" @@ -267,44 +278,52 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" -"@babel/helpers@^7.23.0": - version "7.23.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.1.tgz#44e981e8ce2b9e99f8f0b703f3326a4636c16d15" - integrity sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA== +"@babel/helpers@^7.23.7": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.8.tgz#fc6b2d65b16847fd50adddbd4232c76378959e34" + integrity sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ== dependencies: "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.0" - "@babel/types" "^7.23.0" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.22.13": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" - integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== +"@babel/highlight@^7.10.4", "@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== dependencies: "@babel/helper-validator-identifier" "^7.22.20" chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== +"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" + integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz#02dc8a03f613ed5fdc29fb2f728397c78146c962" - integrity sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" + integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz#2aeb91d337d4e1a1e7ce85b76a37f5301781200f" - integrity sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" + integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.22.15" + "@babel/plugin-transform-optional-chaining" "^7.23.3" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz#516462a95d10a9618f197d39ad291a9b47ae1d7b" + integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-proposal-async-generator-functions@^7.0.0": version "7.20.7" @@ -316,7 +335,7 @@ "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.18.6": +"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.18.0", "@babel/plugin-proposal-class-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -325,23 +344,21 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-decorators@^7.12.9": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.0.tgz#66d9014173b3267a9ced3e69935138bc64ffb5c8" - integrity sha512-kYsT+f5ARWF6AdFmqoEEp+hpqxEB8vGmRWfw2aj78M2vTwS2uHW91EF58iFm1Z9U8Y/RrLu2XKJn46P9ca1b0w== + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.7.tgz#1d827902cbd3d9054e54fb2f2056cdd1eaa0e368" + integrity sha512-b1s5JyeMvqj7d9m9KhJNHKc18gEJiSyVzVX3bwbiPalQBQpuvfPh6lA9F7Kk/dWH0TIiXRpB9yicwijY6buPng== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-create-class-features-plugin" "^7.23.7" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/plugin-syntax-decorators" "^7.22.10" + "@babel/plugin-syntax-decorators" "^7.23.3" "@babel/plugin-proposal-export-default-from@^7.0.0": - version "7.22.17" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.17.tgz#91b60cd338f501cccdf549af2308768911ec5fbb" - integrity sha512-cop/3quQBVvdz6X5SJC6AhUv3C9DrVTM06LUEXimEdWAhCSyOJIr9NiZDU9leHZ0/aiG0Sh7Zmvaku5TWYNgbA== + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.23.3.tgz#6f511a676c540ccc8d17a8553dbba9230b0ddac0" + integrity sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-default-from" "^7.22.5" + "@babel/plugin-syntax-export-default-from" "^7.23.3" "@babel/plugin-proposal-export-namespace-from@^7.14.5": version "7.18.9" @@ -351,7 +368,7 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== @@ -359,7 +376,15 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.12.13": +"@babel/plugin-proposal-numeric-separator@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.12.13", "@babel/plugin-proposal-object-rest-spread@^7.20.0": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== @@ -378,7 +403,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.13.12": +"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.20.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== @@ -428,24 +453,24 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-decorators@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.10.tgz#7d83ea04d893c442b78ebf4c3cbac59a7211deff" - integrity sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ== +"@babel/plugin-syntax-decorators@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz#a1d351d6c25bfdcf2e16f99b039101bc0ffcb0ca" + integrity sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": +"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz#ac3a24b362a04415a017ab96b9b4483d0e2a6e44" - integrity sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ== +"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz#7e6d4bf595d5724230200fb2b7401d4734b15335" + integrity sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -456,24 +481,24 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz#163b820b9e7696ce134df3ee716d9c0c98035859" - integrity sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ== +"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz#084564e0f3cc21ea6c70c44cff984a1c0509729a" + integrity sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-syntax-import-assertions@^7.18.6", "@babel/plugin-syntax-import-assertions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98" - integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== +"@babel/plugin-syntax-import-assertions@^7.18.6", "@babel/plugin-syntax-import-assertions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" + integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-syntax-import-attributes@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb" - integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== +"@babel/plugin-syntax-import-attributes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" + integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -491,10 +516,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.22.5", "@babel/plugin-syntax-jsx@^7.7.2": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" - integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.22.5", "@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -554,10 +579,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.22.5", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272" - integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== +"@babel/plugin-syntax-typescript@^7.23.3", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -569,219 +594,219 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" - integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== +"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" + integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-async-generator-functions@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.15.tgz#3b153af4a6b779f340d5b80d3f634f55820aefa3" - integrity sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w== +"@babel/plugin-transform-async-generator-functions@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.7.tgz#3aa0b4f2fa3788b5226ef9346cf6d16ec61f99cd" + integrity sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA== dependencies: - "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.9" + "@babel/helper-remap-async-to-generator" "^7.22.20" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-transform-async-to-generator@^7.0.0", "@babel/plugin-transform-async-to-generator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775" - integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== +"@babel/plugin-transform-async-to-generator@^7.0.0", "@babel/plugin-transform-async-to-generator@^7.20.0", "@babel/plugin-transform-async-to-generator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" + integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== dependencies: - "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" -"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024" - integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== +"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" + integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.22.15": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz#8744d02c6c264d82e1a4bc5d2d501fd8aff6f022" - integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g== +"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" + integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-class-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77" - integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== +"@babel/plugin-transform-class-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" + integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-class-static-block@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz#dc8cc6e498f55692ac6b4b89e56d87cec766c974" - integrity sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g== +"@babel/plugin-transform-class-static-block@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" + integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.11" + "@babel/helper-create-class-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz#aaf4753aee262a232bbc95451b4bdf9599c65a0b" - integrity sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw== +"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.23.8": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92" + integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-replace-supers" "^7.22.20" "@babel/helper-split-export-declaration" "^7.22.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869" - integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== +"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" + integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.5" + "@babel/template" "^7.22.15" -"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.22.15": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz#6447aa686be48b32eaf65a73e0e2c0bd010a266c" - integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg== +"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.20.0", "@babel/plugin-transform-destructuring@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" + integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-dotall-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165" - integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== +"@babel/plugin-transform-dotall-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" + integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-duplicate-keys@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285" - integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== +"@babel/plugin-transform-duplicate-keys@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" + integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-dynamic-import@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz#2c7722d2a5c01839eaf31518c6ff96d408e447aa" - integrity sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA== +"@babel/plugin-transform-dynamic-import@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" + integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-transform-exponentiation-operator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a" - integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== +"@babel/plugin-transform-exponentiation-operator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" + integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-export-namespace-from@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz#b3c84c8f19880b6c7440108f8929caf6056db26c" - integrity sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw== +"@babel/plugin-transform-export-namespace-from@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" + integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.18.9", "@babel/plugin-transform-flow-strip-types@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz#0bb17110c7bf5b35a60754b2f00c58302381dee2" - integrity sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA== +"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.18.9", "@babel/plugin-transform-flow-strip-types@^7.20.0", "@babel/plugin-transform-flow-strip-types@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz#cfa7ca159cc3306fab526fc67091556b51af26ff" + integrity sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-flow" "^7.22.5" + "@babel/plugin-syntax-flow" "^7.23.3" -"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz#f64b4ccc3a4f131a996388fae7680b472b306b29" - integrity sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA== +"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" + integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" -"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143" - integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== +"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" + integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== dependencies: - "@babel/helper-compilation-targets" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-function-name" "^7.23.0" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-json-strings@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz#689a34e1eed1928a40954e37f74509f48af67835" - integrity sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw== +"@babel/plugin-transform-json-strings@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" + integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920" - integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== +"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" + integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-logical-assignment-operators@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz#24c522a61688bde045b7d9bc3c2597a4d948fc9c" - integrity sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ== +"@babel/plugin-transform-logical-assignment-operators@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" + integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def" - integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== +"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" + integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-amd@^7.22.5": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz#05b2bc43373faa6d30ca89214731f76f966f3b88" - integrity sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw== +"@babel/plugin-transform-modules-amd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" + integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== dependencies: - "@babel/helper-module-transforms" "^7.23.0" + "@babel/helper-module-transforms" "^7.23.3" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.14.5", "@babel/plugin-transform-modules-commonjs@^7.22.15", "@babel/plugin-transform-modules-commonjs@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz#b3dba4757133b2762c00f4f94590cf6d52602481" - integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ== +"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.14.5", "@babel/plugin-transform-modules-commonjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== dependencies: - "@babel/helper-module-transforms" "^7.23.0" + "@babel/helper-module-transforms" "^7.23.3" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-simple-access" "^7.22.5" -"@babel/plugin-transform-modules-systemjs@^7.22.11": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz#77591e126f3ff4132a40595a6cccd00a6b60d160" - integrity sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg== +"@babel/plugin-transform-modules-systemjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81" + integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ== dependencies: "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.0" + "@babel/helper-module-transforms" "^7.23.3" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-identifier" "^7.22.20" -"@babel/plugin-transform-modules-umd@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98" - integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== +"@babel/plugin-transform-modules-umd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" + integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== dependencies: - "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": @@ -792,252 +817,253 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-new-target@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d" - integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== +"@babel/plugin-transform-new-target@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" + integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-nullish-coalescing-operator@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz#debef6c8ba795f5ac67cd861a81b744c5d38d9fc" - integrity sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg== +"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" + integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-transform-numeric-separator@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz#498d77dc45a6c6db74bb829c02a01c1d719cbfbd" - integrity sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg== +"@babel/plugin-transform-numeric-separator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" + integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-object-rest-spread@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz#21a95db166be59b91cde48775310c0df6e1da56f" - integrity sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q== +"@babel/plugin-transform-object-rest-spread@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" + integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== dependencies: - "@babel/compat-data" "^7.22.9" + "@babel/compat-data" "^7.23.3" "@babel/helper-compilation-targets" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.22.15" + "@babel/plugin-transform-parameters" "^7.23.3" -"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c" - integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== +"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" + integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" -"@babel/plugin-transform-optional-catch-binding@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz#461cc4f578a127bb055527b3e77404cad38c08e0" - integrity sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ== +"@babel/plugin-transform-optional-catch-binding@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" + integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.22.15": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz#73ff5fc1cf98f542f09f29c0631647d8ad0be158" - integrity sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g== +"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" + integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz#719ca82a01d177af358df64a514d64c2e3edb114" - integrity sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ== +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-private-methods@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722" - integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA== +"@babel/plugin-transform-private-methods@^7.22.5", "@babel/plugin-transform-private-methods@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" + integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-private-property-in-object@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz#ad45c4fc440e9cb84c718ed0906d96cf40f9a4e1" - integrity sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ== +"@babel/plugin-transform-private-property-in-object@^7.22.11", "@babel/plugin-transform-private-property-in-object@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" + integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.11" + "@babel/helper-create-class-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766" - integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== +"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" + integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-display-name@^7.0.0": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz#3c4326f9fce31c7968d6cb9debcaf32d9e279a2b" - integrity sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw== + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" + integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-jsx-self@^7.0.0": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz#ca2fdc11bc20d4d46de01137318b13d04e481d8e" - integrity sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g== + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz#ed3e7dadde046cce761a8e3cf003a13d1a7972d9" + integrity sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz#49af1615bfdf6ed9d3e9e43e425e0b2b65d15b6c" - integrity sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w== + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz#03527006bdc8775247a78643c51d4e715fe39a3e" + integrity sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.12.17": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz#7e6266d88705d7c49f11c98db8b9464531289cd6" - integrity sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA== + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" + integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-module-imports" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.22.5" - "@babel/types" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/types" "^7.23.4" -"@babel/plugin-transform-regenerator@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz#8ceef3bd7375c4db7652878b0241b2be5d0c3cca" - integrity sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw== +"@babel/plugin-transform-regenerator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" + integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" regenerator-transform "^0.15.2" -"@babel/plugin-transform-reserved-words@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb" - integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== +"@babel/plugin-transform-reserved-words@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" + integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-runtime@^7.0.0": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.15.tgz#3a625c4c05a39e932d7d34f5d4895cdd0172fdc9" - integrity sha512-tEVLhk8NRZSmwQ0DJtxxhTrCht1HVo8VaMzYT4w6lwyKBuHsgoioAUA7/6eT2fRfc5/23fuGdlwIxXhRVgWr4g== + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.7.tgz#52bbd20054855beb9deae3bee9ceb05289c343e6" + integrity sha512-fa0hnfmiXc9fq/weK34MUV0drz2pOL/vfKWvN7Qw127hiUPabFCUMgAbYWcchRzMJit4o5ARsK/s+5h0249pLw== dependencies: "@babel/helper-module-imports" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" - babel-plugin-polyfill-corejs2 "^0.4.5" - babel-plugin-polyfill-corejs3 "^0.8.3" - babel-plugin-polyfill-regenerator "^0.5.2" + babel-plugin-polyfill-corejs2 "^0.4.7" + babel-plugin-polyfill-corejs3 "^0.8.7" + babel-plugin-polyfill-regenerator "^0.5.4" semver "^6.3.1" -"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624" - integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== +"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" + integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b" - integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== +"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" + integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" -"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa" - integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== +"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" + integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff" - integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== +"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" + integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-typeof-symbol@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34" - integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== +"@babel/plugin-transform-typeof-symbol@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" + integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-typescript@^7.22.15", "@babel/plugin-transform-typescript@^7.5.0": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz#15adef906451d86349eb4b8764865c960eb54127" - integrity sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA== +"@babel/plugin-transform-typescript@^7.23.3", "@babel/plugin-transform-typescript@^7.5.0": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c" + integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-create-class-features-plugin" "^7.23.6" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-typescript" "^7.22.5" + "@babel/plugin-syntax-typescript" "^7.23.3" -"@babel/plugin-transform-unicode-escapes@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz#c723f380f40a2b2f57a62df24c9005834c8616d9" - integrity sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg== +"@babel/plugin-transform-unicode-escapes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" + integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-unicode-property-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81" - integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== +"@babel/plugin-transform-unicode-property-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" + integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183" - integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== +"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" + integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-unicode-sets-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91" - integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== +"@babel/plugin-transform-unicode-sets-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" + integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" "@babel/preset-env@^7.1.6", "@babel/preset-env@^7.20.0": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.20.tgz#de9e9b57e1127ce0a2f580831717f7fb677ceedb" - integrity sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg== + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.8.tgz#7d6f8171ea7c221ecd28059e65ad37c20e441e3e" + integrity sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA== dependencies: - "@babel/compat-data" "^7.22.20" - "@babel/helper-compilation-targets" "^7.22.15" + "@babel/compat-data" "^7.23.5" + "@babel/helper-compilation-targets" "^7.23.6" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.15" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.15" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.22.5" - "@babel/plugin-syntax-import-attributes" "^7.22.5" + "@babel/plugin-syntax-import-assertions" "^7.23.3" + "@babel/plugin-syntax-import-attributes" "^7.23.3" "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" @@ -1049,70 +1075,69 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.22.5" - "@babel/plugin-transform-async-generator-functions" "^7.22.15" - "@babel/plugin-transform-async-to-generator" "^7.22.5" - "@babel/plugin-transform-block-scoped-functions" "^7.22.5" - "@babel/plugin-transform-block-scoping" "^7.22.15" - "@babel/plugin-transform-class-properties" "^7.22.5" - "@babel/plugin-transform-class-static-block" "^7.22.11" - "@babel/plugin-transform-classes" "^7.22.15" - "@babel/plugin-transform-computed-properties" "^7.22.5" - "@babel/plugin-transform-destructuring" "^7.22.15" - "@babel/plugin-transform-dotall-regex" "^7.22.5" - "@babel/plugin-transform-duplicate-keys" "^7.22.5" - "@babel/plugin-transform-dynamic-import" "^7.22.11" - "@babel/plugin-transform-exponentiation-operator" "^7.22.5" - "@babel/plugin-transform-export-namespace-from" "^7.22.11" - "@babel/plugin-transform-for-of" "^7.22.15" - "@babel/plugin-transform-function-name" "^7.22.5" - "@babel/plugin-transform-json-strings" "^7.22.11" - "@babel/plugin-transform-literals" "^7.22.5" - "@babel/plugin-transform-logical-assignment-operators" "^7.22.11" - "@babel/plugin-transform-member-expression-literals" "^7.22.5" - "@babel/plugin-transform-modules-amd" "^7.22.5" - "@babel/plugin-transform-modules-commonjs" "^7.22.15" - "@babel/plugin-transform-modules-systemjs" "^7.22.11" - "@babel/plugin-transform-modules-umd" "^7.22.5" + "@babel/plugin-transform-arrow-functions" "^7.23.3" + "@babel/plugin-transform-async-generator-functions" "^7.23.7" + "@babel/plugin-transform-async-to-generator" "^7.23.3" + "@babel/plugin-transform-block-scoped-functions" "^7.23.3" + "@babel/plugin-transform-block-scoping" "^7.23.4" + "@babel/plugin-transform-class-properties" "^7.23.3" + "@babel/plugin-transform-class-static-block" "^7.23.4" + "@babel/plugin-transform-classes" "^7.23.8" + "@babel/plugin-transform-computed-properties" "^7.23.3" + "@babel/plugin-transform-destructuring" "^7.23.3" + "@babel/plugin-transform-dotall-regex" "^7.23.3" + "@babel/plugin-transform-duplicate-keys" "^7.23.3" + "@babel/plugin-transform-dynamic-import" "^7.23.4" + "@babel/plugin-transform-exponentiation-operator" "^7.23.3" + "@babel/plugin-transform-export-namespace-from" "^7.23.4" + "@babel/plugin-transform-for-of" "^7.23.6" + "@babel/plugin-transform-function-name" "^7.23.3" + "@babel/plugin-transform-json-strings" "^7.23.4" + "@babel/plugin-transform-literals" "^7.23.3" + "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" + "@babel/plugin-transform-member-expression-literals" "^7.23.3" + "@babel/plugin-transform-modules-amd" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-modules-systemjs" "^7.23.3" + "@babel/plugin-transform-modules-umd" "^7.23.3" "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.22.5" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.11" - "@babel/plugin-transform-numeric-separator" "^7.22.11" - "@babel/plugin-transform-object-rest-spread" "^7.22.15" - "@babel/plugin-transform-object-super" "^7.22.5" - "@babel/plugin-transform-optional-catch-binding" "^7.22.11" - "@babel/plugin-transform-optional-chaining" "^7.22.15" - "@babel/plugin-transform-parameters" "^7.22.15" - "@babel/plugin-transform-private-methods" "^7.22.5" - "@babel/plugin-transform-private-property-in-object" "^7.22.11" - "@babel/plugin-transform-property-literals" "^7.22.5" - "@babel/plugin-transform-regenerator" "^7.22.10" - "@babel/plugin-transform-reserved-words" "^7.22.5" - "@babel/plugin-transform-shorthand-properties" "^7.22.5" - "@babel/plugin-transform-spread" "^7.22.5" - "@babel/plugin-transform-sticky-regex" "^7.22.5" - "@babel/plugin-transform-template-literals" "^7.22.5" - "@babel/plugin-transform-typeof-symbol" "^7.22.5" - "@babel/plugin-transform-unicode-escapes" "^7.22.10" - "@babel/plugin-transform-unicode-property-regex" "^7.22.5" - "@babel/plugin-transform-unicode-regex" "^7.22.5" - "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.23.3" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" + "@babel/plugin-transform-numeric-separator" "^7.23.4" + "@babel/plugin-transform-object-rest-spread" "^7.23.4" + "@babel/plugin-transform-object-super" "^7.23.3" + "@babel/plugin-transform-optional-catch-binding" "^7.23.4" + "@babel/plugin-transform-optional-chaining" "^7.23.4" + "@babel/plugin-transform-parameters" "^7.23.3" + "@babel/plugin-transform-private-methods" "^7.23.3" + "@babel/plugin-transform-private-property-in-object" "^7.23.4" + "@babel/plugin-transform-property-literals" "^7.23.3" + "@babel/plugin-transform-regenerator" "^7.23.3" + "@babel/plugin-transform-reserved-words" "^7.23.3" + "@babel/plugin-transform-shorthand-properties" "^7.23.3" + "@babel/plugin-transform-spread" "^7.23.3" + "@babel/plugin-transform-sticky-regex" "^7.23.3" + "@babel/plugin-transform-template-literals" "^7.23.3" + "@babel/plugin-transform-typeof-symbol" "^7.23.3" + "@babel/plugin-transform-unicode-escapes" "^7.23.3" + "@babel/plugin-transform-unicode-property-regex" "^7.23.3" + "@babel/plugin-transform-unicode-regex" "^7.23.3" + "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" "@babel/preset-modules" "0.1.6-no-external-plugins" - "@babel/types" "^7.22.19" - babel-plugin-polyfill-corejs2 "^0.4.5" - babel-plugin-polyfill-corejs3 "^0.8.3" - babel-plugin-polyfill-regenerator "^0.5.2" + babel-plugin-polyfill-corejs2 "^0.4.7" + babel-plugin-polyfill-corejs3 "^0.8.7" + babel-plugin-polyfill-regenerator "^0.5.4" core-js-compat "^3.31.0" semver "^6.3.1" "@babel/preset-flow@^7.13.13": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.22.15.tgz#30318deb9b3ebd9f5738e96da03a531e0cd3165d" - integrity sha512-dB5aIMqpkgbTfN5vDdTRPzjqtWiZcRESNR88QYnoPR+bmdYoluOzMX9tQerTv0XzSgZYctPfO1oc0N5zdog1ew== + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.23.3.tgz#8084e08b9ccec287bd077ab288b286fab96ffab1" + integrity sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-transform-flow-strip-types" "^7.22.5" + "@babel/plugin-transform-flow-strip-types" "^7.23.3" "@babel/preset-modules@0.1.6-no-external-plugins": version "0.1.6-no-external-plugins" @@ -1124,25 +1149,25 @@ esutils "^2.0.2" "@babel/preset-typescript@^7.13.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.0.tgz#cc6602d13e7e5b2087c811912b87cf937a9129d9" - integrity sha512-6P6VVa/NM/VlAYj5s2Aq/gdVg8FSENCg3wlZ6Qau9AcPaoF5LbN1nyGlR9DTRIw9PpxI94e+ReydsJHcjwAweg== + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" + integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-syntax-jsx" "^7.22.5" - "@babel/plugin-transform-modules-commonjs" "^7.23.0" - "@babel/plugin-transform-typescript" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-typescript" "^7.23.3" "@babel/register@^7.13.16": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.22.15.tgz#c2c294a361d59f5fa7bcc8b97ef7319c32ecaec7" - integrity sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg== + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.23.7.tgz#485a5e7951939d21304cae4af1719fdb887bc038" + integrity sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ== dependencies: clone-deep "^4.0.1" find-cache-dir "^2.0.0" make-dir "^2.1.0" - pirates "^4.0.5" + pirates "^4.0.6" source-map-support "^0.5.16" "@babel/regjsgen@^0.8.0": @@ -1151,13 +1176,13 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.0.0", "@babel/runtime@^7.15.4", "@babel/runtime@^7.20.0", "@babel/runtime@^7.21.0", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.23.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.1.tgz#72741dc4d413338a91dcb044a86f3c0bc402646d" - integrity sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g== + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.8.tgz#8ee6fe1ac47add7122902f257b8ddf55c898f650" + integrity sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.0.0", "@babel/template@^7.22.15", "@babel/template@^7.22.5", "@babel/template@^7.3.3": +"@babel/template@^7.0.0", "@babel/template@^7.22.15", "@babel/template@^7.3.3": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== @@ -1166,28 +1191,28 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" -"@babel/traverse@^7.20.0", "@babel/traverse@^7.23.0", "@babel/traverse@^7.4.5": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.0.tgz#18196ddfbcf4ccea324b7f6d3ada00d8c5a99c53" - integrity sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw== +"@babel/traverse@^7.20.0", "@babel/traverse@^7.23.7", "@babel/traverse@^7.4.5": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.7.tgz#9a7bf285c928cb99b5ead19c3b1ce5b310c9c305" + integrity sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg== dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.0" - "@babel/types" "^7.23.0" - debug "^4.1.0" + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" - integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== +"@babel/types@^7.0.0", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" + integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== dependencies: - "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-string-parser" "^7.23.4" "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" @@ -1254,9 +1279,9 @@ integrity sha512-vQsqQXpmSXKNy/C0xxFUOBzz60dHh6oupQam1xRC8IspVC11hYJiX9SAhmbI0ulHvX1R2JfqZaJHZjmAyMZ/aA== "@digitalbazaar/vc-status-list@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@digitalbazaar/vc-status-list/-/vc-status-list-7.0.0.tgz#6153e099e20cc1203d04ff9badf891ae3f5b4cd4" - integrity sha512-fFSZx5S/LG9PRxHkoVgH+jMib18zAVjWLbcsrdK2qE8jalX8Kg/IILFr37ifmL4CYXIwelM0cff0P/SIaz96zw== + version "7.1.0" + resolved "https://registry.yarnpkg.com/@digitalbazaar/vc-status-list/-/vc-status-list-7.1.0.tgz#1d585a1766106e1586e1e2f87092dd0381b3f036" + integrity sha512-p5uxKJlX13N8TcTuv9qFDeej+6bndU+Rh1Cez2MT+bXQE6Jpn5t336FBSHmcECB4yUfZQpkmV/LOcYU4lW8Ojw== dependencies: "@digitalbazaar/bitstring" "^3.0.0" "@digitalbazaar/vc" "^5.0.0" @@ -1278,9 +1303,9 @@ integrity sha512-1xKdJnfITMvrF/sCgwBx2C4p7qcNAARyIvrAOZGqIHmBaT/hAenpC8bf44qVY+UIMuCYP23kqpIfJQebQDThDQ== "@digitalcredentials/base64url-universal@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@digitalcredentials/base64url-universal/-/base64url-universal-2.0.2.tgz#cfee64eff2e75f71e10aa9b0de381694a73ea55d" - integrity sha512-SgyH5xuoZNu3oIhZjG+kWdk3Hc3eIRgi9/G0auii4jMd65kxBYY5YLmUeF0u1dpWoyrDp62uATq0yBP/sVV29w== + version "2.0.6" + resolved "https://registry.yarnpkg.com/@digitalcredentials/base64url-universal/-/base64url-universal-2.0.6.tgz#43c59c62a33b024e7adc3c56403d18dbcb61ec61" + integrity sha512-QJyK6xS8BYNnkKLhEAgQc6Tb9DMe+GkHnBAWJKITCxVRXJAFLhJnr+FsJnCThS3x2Y0UiiDAXoWjwMqtUrp4Kg== dependencies: base64url "^3.0.1" @@ -1463,14 +1488,14 @@ eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": - version "4.9.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.9.0.tgz#7ccb5f58703fa61ffdcbf39e2c604a109e781162" - integrity sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ== + version "4.10.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== -"@eslint/eslintrc@^2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396" - integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -1482,10 +1507,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.50.0": - version "8.50.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.50.0.tgz#9e93b850f0f3fa35f5fa59adfd03adae8488e484" - integrity sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ== +"@eslint/js@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" + integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== "@ethereumjs/rlp@^4.0.1": version "4.0.1" @@ -2027,7 +2052,16 @@ semver "7.3.2" tempy "0.3.0" -"@expo/json-file@^8.2.37", "@expo/json-file@~8.2.37": +"@expo/json-file@^8.2.37": + version "8.3.0" + resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.3.0.tgz#fc84af77b532a4e9bfb5beafd0e3b7f692b6bd7e" + integrity sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g== + dependencies: + "@babel/code-frame" "~7.10.4" + json5 "^2.2.2" + write-file-atomic "^2.3.0" + +"@expo/json-file@~8.2.37": version "8.2.37" resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.2.37.tgz#9c02d3b42134907c69cc0a027b18671b69344049" integrity sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q== @@ -2049,7 +2083,7 @@ resolve-from "^5.0.0" sucrase "^3.20.0" -"@expo/osascript@2.0.33", "@expo/osascript@^2.0.31": +"@expo/osascript@2.0.33": version "2.0.33" resolved "https://registry.yarnpkg.com/@expo/osascript/-/osascript-2.0.33.tgz#e9dcc8da54466c11939074aa71a006024ea884b1" integrity sha512-FQinlwHrTlJbntp8a7NAlCKedVXe06Va/0DSLXRO8lZVtgbEMrYYSUZWQNcOlNtc58c2elNph6z9dMOYwSo3JQ== @@ -2057,6 +2091,14 @@ "@expo/spawn-async" "^1.5.0" exec-async "^2.2.0" +"@expo/osascript@^2.0.31": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@expo/osascript/-/osascript-2.1.0.tgz#c407dfe839b5e898829d31e6accd962f91adac1c" + integrity sha512-bOhuFnlRaS7CU33+rFFIWdcET/Vkyn1vsN8BYFwCDEF5P1fVVvYN7bFOsQLTMD3nvi35C1AGmtqUr/Wfv8Xaow== + dependencies: + "@expo/spawn-async" "^1.5.0" + exec-async "^2.2.0" + "@expo/package-manager@~1.0.0": version "1.0.3" resolved "https://registry.yarnpkg.com/@expo/package-manager/-/package-manager-1.0.3.tgz#25abcc5e90171e4b9a9551f7c98938b7d823f623" @@ -2148,20 +2190,15 @@ tiny-queue "^0.2.1" "@expo/xcpretty@^4.2.1": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@expo/xcpretty/-/xcpretty-4.2.2.tgz#7890f86b017015be8a20242ae74fe6ed4b80a92c" - integrity sha512-Lke/geldJqUV0Dfxg5/QIOugOzdqZ/rQ9yHKSgGbjZtG1uiSqWyFwWvXmrdd3/sIdX33eykGvIcf+OrvvcXVUw== + version "4.3.1" + resolved "https://registry.yarnpkg.com/@expo/xcpretty/-/xcpretty-4.3.1.tgz#e0a6a92d1e46ab5ac5e90d9a8e66ac1a2a2f5920" + integrity sha512-sqXgo1SCv+j4VtYEwl/bukuOIBrVgx6euIoCat3Iyx5oeoXwEA2USCoeL0IPubflMxncA2INkqJ/Wr3NGrSgzw== dependencies: "@babel/code-frame" "7.10.4" chalk "^4.1.0" find-up "^5.0.0" js-yaml "^4.1.0" -"@fastify/deepmerge@^1.0.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@fastify/deepmerge/-/deepmerge-1.3.0.tgz#8116858108f0c7d9fd460d05a7d637a13fe3239a" - integrity sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A== - "@gar/promisify@^1.0.1": version "1.1.3" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" @@ -2172,25 +2209,25 @@ resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== -"@hapi/hoek@^9.0.0": +"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": version "9.3.0" resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== -"@hapi/topo@^5.0.0": +"@hapi/topo@^5.1.0": version "5.1.0" resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== dependencies: "@hapi/hoek" "^9.0.0" -"@humanwhocodes/config-array@^0.11.11": - version "0.11.11" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844" - integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== +"@humanwhocodes/config-array@^0.11.13": + version "0.11.14" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" minimatch "^3.0.5" "@humanwhocodes/module-importer@^1.0.1": @@ -2198,10 +2235,27 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" + integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@isaacs/ttlcache@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz#21fb23db34e9b6220c6ba023a0118a2dd3461ea2" + integrity sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA== "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" @@ -2265,7 +2319,7 @@ slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/create-cache-key-function@^29.2.1": +"@jest/create-cache-key-function@^29.2.1", "@jest/create-cache-key-function@^29.6.3": version "29.7.0" resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== @@ -2480,30 +2534,15 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.19" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811" - integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.22" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c" + integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@mapbox/node-pre-gyp@^1.0.0": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa" - integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== - dependencies: - detect-libc "^2.0.0" - https-proxy-agent "^5.0.0" - make-dir "^3.1.0" - node-fetch "^2.6.7" - nopt "^5.0.0" - npmlog "^5.0.1" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.11" - -"@mattrglobal/bbs-signatures@1.2.0", "@mattrglobal/bbs-signatures@^1.3.0", "@mattrglobal/bbs-signatures@npm:@animo-id/react-native-bbs-signatures@^0.1.0": +"@mattrglobal/bbs-signatures@1.2.0", "@mattrglobal/bbs-signatures@1.3.1", "@mattrglobal/bbs-signatures@^1.3.0", "@mattrglobal/bbs-signatures@npm:@animo-id/react-native-bbs-signatures@^0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@animo-id/react-native-bbs-signatures/-/react-native-bbs-signatures-0.1.0.tgz#f62bc16b867c9f690977982d66f0a03566b21ad2" integrity sha512-7qvsiWhGfUev8ngE8YzF6ON9PtCID5LiYVYM4EC5eyj80gCdhx3R46CI7K1qbqIlGsoTYQ/Xx5Ubo5Ji9eaUEA== @@ -2517,6 +2556,15 @@ bs58 "4.0.1" rfc4648 "1.5.2" +"@mattrglobal/bls12381-key-pair@^1.0.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@mattrglobal/bls12381-key-pair/-/bls12381-key-pair-1.2.1.tgz#4c6625bd9375c4bd0702a275d22c7de12c7aba1e" + integrity sha512-Xh63NP1iSGBLW10N5uRpDyoPo2LtNHHh/TRGVJEHRgo+07yxgl8tS06Q2zO9gN9+b+GU5COKvR3lACwrvn+MYw== + dependencies: + "@mattrglobal/bbs-signatures" "1.3.1" + bs58 "4.0.1" + rfc4648 "1.5.2" + "@mattrglobal/jsonld-signatures-bbs@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@mattrglobal/jsonld-signatures-bbs/-/jsonld-signatures-bbs-1.2.0.tgz#c48e0b2e9a2622aa1058720be0ed9bf6426444ac" @@ -2576,9 +2624,9 @@ integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== "@noble/hashes@^1.2.0", "@noble/hashes@~1.3.0", "@noble/hashes@~1.3.1": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" - integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + version "1.3.3" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" + integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== "@noble/secp256k1@1.7.0": version "1.7.0" @@ -2622,14 +2670,14 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@peculiar/asn1-schema@^2.3.6": - version "2.3.6" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz#3dd3c2ade7f702a9a94dfb395c192f5fa5d6b922" - integrity sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA== +"@peculiar/asn1-schema@^2.3.6", "@peculiar/asn1-schema@^2.3.8": + version "2.3.8" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.8.tgz#04b38832a814e25731232dd5be883460a156da3b" + integrity sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA== dependencies: asn1js "^3.0.5" - pvtsutils "^1.3.2" - tslib "^2.4.0" + pvtsutils "^1.3.5" + tslib "^2.6.2" "@peculiar/json-schema@^1.1.12": version "1.1.12" @@ -2639,16 +2687,21 @@ tslib "^2.0.0" "@peculiar/webcrypto@^1.1.3", "@peculiar/webcrypto@^1.1.6", "@peculiar/webcrypto@^1.4.1": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz#078b3e8f598e847b78683dc3ba65feb5029b93a7" - integrity sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A== + version "1.4.4" + resolved "https://registry.yarnpkg.com/@peculiar/webcrypto/-/webcrypto-1.4.4.tgz#3f529abca96c8d78cecfd39ddec2148c5df3f8ac" + integrity sha512-VETlZgJqOP3OLRC7AcEYfb6/u05evqsW0Vgs9DyCBATp3FSx7D30Z8ALuDJHsmXCsMblfyTwvB9PLR6IfdlRhg== dependencies: - "@peculiar/asn1-schema" "^2.3.6" + "@peculiar/asn1-schema" "^2.3.8" "@peculiar/json-schema" "^1.1.12" - pvtsutils "^1.3.2" - tslib "^2.5.0" + pvtsutils "^1.3.5" + tslib "^2.6.2" webcrypto-core "^1.7.7" +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + "@react-native-async-storage/async-storage@1.17.11": version "1.17.11" resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.17.11.tgz#7ec329c1b9f610e344602e806b04d7c928a2341d" @@ -2657,16 +2710,25 @@ merge-options "^3.0.4" "@react-native-async-storage/async-storage@^1.13.4": - version "1.19.3" - resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.19.3.tgz#ad5fe3ed0a82d4624aa4500321c1e09c02daeb46" - integrity sha512-CwGfoHCWdPOTPS+2fW6YRE1fFBpT9++ahLEroX5hkgwyoQ+TkmjOaUxixdEIoVua9Pz5EF2pGOIJzqOTMWfBlA== + version "1.21.0" + resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.21.0.tgz#d7e370028e228ab84637016ceeb495878b7a44c8" + integrity sha512-JL0w36KuFHFCvnbOXRekqVAUplmOyT/OuCQkogo6X98MtpSaJOKEAeZnYO8JB0U/RIEixZaGI5px73YbRm/oag== dependencies: merge-options "^3.0.4" "@react-native-community/blur@^4.3.0": - version "4.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/blur/-/blur-4.3.2.tgz#185a2c7dd03ba168cc95069bc4742e9505fd6c6c" - integrity sha512-0ID+pyZKdC4RdgC7HePxUQ6JmsbNrgz03u+6SgqYpmBoK/rE+7JffqIw7IEsfoKitLEcRNLGekIBsfwCqiEkew== + version "4.4.0" + resolved "https://registry.yarnpkg.com/@react-native-community/blur/-/blur-4.4.0.tgz#b2440dab17d94e480fbc4470e03155573b5b7375" + integrity sha512-P+xdT2LIq1ewOsF3zx7C0nu4dj7nxl2NVTsMXEzRDjM3bWMdrrEbTRA7uwPV5ngn7/BXIommBPlT/JW4SAedrw== + +"@react-native-community/cli-clean@12.3.0": + version "12.3.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-12.3.0.tgz#667b32daa58b4d11d5b5ab9eb0a2e216d500c90b" + integrity sha512-iAgLCOWYRGh9ukr+eVQnhkV/OqN3V2EGd/in33Ggn/Mj4uO6+oUncXFwB+yjlyaUNz6FfjudhIz09yYGSF+9sg== + dependencies: + "@react-native-community/cli-tools" "12.3.0" + chalk "^4.1.2" + execa "^5.0.0" "@react-native-community/cli-clean@^10.1.1": version "10.1.1" @@ -2678,6 +2740,18 @@ execa "^1.0.0" prompts "^2.4.0" +"@react-native-community/cli-config@12.3.0": + version "12.3.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-12.3.0.tgz#255b4e5391878937a25888f452f50a968d053e3e" + integrity sha512-BrTn5ndFD9uOxO8kxBQ32EpbtOvAsQExGPI7SokdI4Zlve70FziLtTq91LTlTUgMq1InVZn/jJb3VIDk6BTInQ== + dependencies: + "@react-native-community/cli-tools" "12.3.0" + chalk "^4.1.2" + cosmiconfig "^5.1.0" + deepmerge "^4.3.0" + glob "^7.1.3" + joi "^17.2.1" + "@react-native-community/cli-config@^10.1.1": version "10.1.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-10.1.1.tgz#08dcc5d7ca1915647dc06507ed853fe0c1488395" @@ -2690,6 +2764,13 @@ glob "^7.1.3" joi "^17.2.1" +"@react-native-community/cli-debugger-ui@12.3.0": + version "12.3.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.0.tgz#75bbb2082a369b3559e0dffa8bfeebf2a9107e3e" + integrity sha512-w3b0iwjQlk47GhZWHaeTG8kKH09NCMUJO729xSdMBXE8rlbm4kHpKbxQY9qKb6NlfWSJN4noGY+FkNZS2rRwnQ== + dependencies: + serve-static "^1.13.1" + "@react-native-community/cli-debugger-ui@^10.0.0": version "10.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-10.0.0.tgz#4bb6d41c7e46449714dc7ba5d9f5b41ef0ea7c57" @@ -2697,6 +2778,29 @@ dependencies: serve-static "^1.13.1" +"@react-native-community/cli-doctor@12.3.0": + version "12.3.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-12.3.0.tgz#420eb4e80d482f16d431c4df33fbc203862508af" + integrity sha512-BPCwNNesoQMkKsxB08Ayy6URgGQ8Kndv6mMhIvJSNdST3J1+x3ehBHXzG9B9Vfi+DrTKRb8lmEl/b/7VkDlPkA== + dependencies: + "@react-native-community/cli-config" "12.3.0" + "@react-native-community/cli-platform-android" "12.3.0" + "@react-native-community/cli-platform-ios" "12.3.0" + "@react-native-community/cli-tools" "12.3.0" + chalk "^4.1.2" + command-exists "^1.2.8" + deepmerge "^4.3.0" + envinfo "^7.10.0" + execa "^5.0.0" + hermes-profile-transformer "^0.0.6" + ip "^1.1.5" + node-stream-zip "^1.9.1" + ora "^5.4.1" + semver "^7.5.2" + strip-ansi "^5.2.0" + wcwidth "^1.0.1" + yaml "^2.2.1" + "@react-native-community/cli-doctor@^10.2.2": version "10.2.5" resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-10.2.5.tgz#e5e28c66c2373f05a94b296a8ec637f8df736707" @@ -2719,6 +2823,17 @@ sudo-prompt "^9.0.0" wcwidth "^1.0.1" +"@react-native-community/cli-hermes@12.3.0": + version "12.3.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-12.3.0.tgz#c302acbfb07e1f4e73e76e3150c32f0e4f54e9ed" + integrity sha512-G6FxpeZBO4AimKZwtWR3dpXRqTvsmEqlIkkxgwthdzn3LbVjDVIXKpVYU9PkR5cnT+KuAUxO0WwthrJ6Nmrrlg== + dependencies: + "@react-native-community/cli-platform-android" "12.3.0" + "@react-native-community/cli-tools" "12.3.0" + chalk "^4.1.2" + hermes-profile-transformer "^0.0.6" + ip "^1.1.5" + "@react-native-community/cli-hermes@^10.2.0": version "10.2.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-10.2.0.tgz#cc252f435b149f74260bc918ce22fdf58033a87e" @@ -2741,6 +2856,18 @@ glob "^7.1.3" logkitty "^0.7.1" +"@react-native-community/cli-platform-android@12.3.0": + version "12.3.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.0.tgz#eafa5fb12ebc25f716aea18cd55039c19fbedca6" + integrity sha512-VU1NZw63+GLU2TnyQ919bEMThpHQ/oMFju9MCfrd3pyPJz4Sn+vc3NfnTDUVA5Z5yfLijFOkHIHr4vo/C9bjnw== + dependencies: + "@react-native-community/cli-tools" "12.3.0" + chalk "^4.1.2" + execa "^5.0.0" + fast-xml-parser "^4.2.4" + glob "^7.1.3" + logkitty "^0.7.1" + "@react-native-community/cli-platform-ios@10.2.1": version "10.2.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.1.tgz#2e6bd2cb6d48cbb8720d7b7265bb1bab80745f72" @@ -2753,6 +2880,18 @@ glob "^7.1.3" ora "^5.4.1" +"@react-native-community/cli-platform-ios@12.3.0": + version "12.3.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.0.tgz#42a9185bb51f35a7eb9c5818b2f0072846945ef5" + integrity sha512-H95Sgt3wT7L8V75V0syFJDtv4YgqK5zbu69ko4yrXGv8dv2EBi6qZP0VMmkqXDamoPm9/U7tDTdbcf26ctnLfg== + dependencies: + "@react-native-community/cli-tools" "12.3.0" + chalk "^4.1.2" + execa "^5.0.0" + fast-xml-parser "^4.0.12" + glob "^7.1.3" + ora "^5.4.1" + "@react-native-community/cli-platform-ios@^10.2.5": version "10.2.5" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.5.tgz#7888c74b83099885bf9e6d52170c6e663ad971ee" @@ -2765,6 +2904,11 @@ glob "^7.1.3" ora "^5.4.1" +"@react-native-community/cli-plugin-metro@12.3.0": + version "12.3.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.0.tgz#b4ea8da691d294aee98ccfcd1162bcd958cae834" + integrity sha512-tYNHIYnNmxrBcsqbE2dAnLMzlKI3Cp1p1xUgTrNaOMsGPDN1epzNfa34n6Nps3iwKElSL7Js91CzYNqgTalucA== + "@react-native-community/cli-plugin-metro@^10.2.2": version "10.2.3" resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.3.tgz#419e0155a50951c3329818fba51cb5021a7294f1" @@ -2782,6 +2926,21 @@ metro-runtime "0.73.10" readline "^1.3.0" +"@react-native-community/cli-server-api@12.3.0": + version "12.3.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-12.3.0.tgz#0460472d44c121d1db8a98ad1df811200c074fb3" + integrity sha512-Rode8NrdyByC+lBKHHn+/W8Zu0c+DajJvLmOWbe2WY/ECvnwcd9MHHbu92hlT2EQaJ9LbLhGrSbQE3cQy9EOCw== + dependencies: + "@react-native-community/cli-debugger-ui" "12.3.0" + "@react-native-community/cli-tools" "12.3.0" + compression "^1.7.1" + connect "^3.6.5" + errorhandler "^1.5.1" + nocache "^3.0.1" + pretty-format "^26.6.2" + serve-static "^1.13.1" + ws "^7.5.1" + "@react-native-community/cli-server-api@^10.1.1": version "10.1.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-10.1.1.tgz#e382269de281bb380c2e685431364fbbb8c1cb3a" @@ -2797,6 +2956,22 @@ serve-static "^1.13.1" ws "^7.5.1" +"@react-native-community/cli-tools@12.3.0": + version "12.3.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-12.3.0.tgz#d459a116e1a95034d3c9a6385069c9e2049fb2a6" + integrity sha512-2GafnCr8D88VdClwnm9KZfkEb+lzVoFdr/7ybqhdeYM0Vnt/tr2N+fM1EQzwI1DpzXiBzTYemw8GjRq+Utcz2Q== + dependencies: + appdirsjs "^1.2.4" + chalk "^4.1.2" + find-up "^5.0.0" + mime "^2.4.1" + node-fetch "^2.6.0" + open "^6.2.0" + ora "^5.4.1" + semver "^7.5.2" + shell-quote "^1.7.3" + sudo-prompt "^9.0.0" + "@react-native-community/cli-tools@^10.1.1": version "10.1.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-10.1.1.tgz#fa66e509c0d3faa31f7bb87ed7d42ad63f368ddd" @@ -2812,6 +2987,13 @@ semver "^6.3.0" shell-quote "^1.7.3" +"@react-native-community/cli-types@12.3.0": + version "12.3.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-12.3.0.tgz#2d21a1f93aefbdb34a04311d68097aef0388704f" + integrity sha512-MgOkmrXH4zsGxhte4YqKL7d+N8ZNEd3w1wo56MZlhu5WabwCJh87wYpU5T8vyfujFLYOFuFK5jjlcbs8F4/WDw== + dependencies: + joi "^17.2.1" + "@react-native-community/cli-types@^10.0.0": version "10.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-10.0.0.tgz#046470c75ec18f8b3bd906e54e43a6f678e01a45" @@ -2842,6 +3024,30 @@ prompts "^2.4.0" semver "^6.3.0" +"@react-native-community/cli@12.3.0": + version "12.3.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-12.3.0.tgz#c89aacc3973943bf24002255d7d0859b511d88a1" + integrity sha512-XeQohi2E+S2+MMSz97QcEZ/bWpi8sfKiQg35XuYeJkc32Til2g0b97jRpn0/+fV0BInHoG1CQYWwHA7opMsrHg== + dependencies: + "@react-native-community/cli-clean" "12.3.0" + "@react-native-community/cli-config" "12.3.0" + "@react-native-community/cli-debugger-ui" "12.3.0" + "@react-native-community/cli-doctor" "12.3.0" + "@react-native-community/cli-hermes" "12.3.0" + "@react-native-community/cli-plugin-metro" "12.3.0" + "@react-native-community/cli-server-api" "12.3.0" + "@react-native-community/cli-tools" "12.3.0" + "@react-native-community/cli-types" "12.3.0" + chalk "^4.1.2" + commander "^9.4.1" + deepmerge "^4.3.0" + execa "^5.0.0" + find-up "^4.1.0" + fs-extra "^8.1.0" + graceful-fs "^4.1.3" + prompts "^2.4.2" + semver "^7.5.2" + "@react-native-community/eslint-config@^3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@react-native-community/eslint-config/-/eslint-config-3.2.0.tgz#42f677d5fff385bccf1be1d3b8faa8c086cf998d" @@ -2876,21 +3082,165 @@ resolved "https://registry.yarnpkg.com/@react-native-masked-view/masked-view/-/masked-view-0.3.1.tgz#5bd76f17004a6ccbcec03856893777ee91f23d29" integrity sha512-uVm8U6nwFIlUd1iDIB5cS+lDadApKR+l8k4k84d9hn+GN4lzAIJhUZ9syYX7c022MxNgAlbxoFLt0pqKoyaAGg== +"@react-native/assets-registry@0.73.1": + version "0.73.1" + resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.73.1.tgz#e2a6b73b16c183a270f338dc69c36039b3946e85" + integrity sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg== + "@react-native/assets@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== -"@react-native/normalize-color@*", "@react-native/normalize-color@2.1.0", "@react-native/normalize-color@^2.0.0": +"@react-native/babel-plugin-codegen@0.73.2": + version "0.73.2" + resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.2.tgz#447656cde437b71dc3ef0af3f8a5b215653d5d07" + integrity sha512-PadyFZWVaWXIBP7Q5dgEL7eAd7tnsgsLjoHJB1hIRZZuVUg1Zqe3nULwC7RFAqOtr5Qx7KXChkFFcKQ3WnZzGw== + dependencies: + "@react-native/codegen" "0.73.2" + +"@react-native/babel-preset@0.73.19": + version "0.73.19" + resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.73.19.tgz#a6c0587651804f8f01d6f3b7729f1d4a2d469691" + integrity sha512-ujon01uMOREZecIltQxPDmJ6xlVqAUFGI/JCSpeVYdxyXBoBH5dBb0ihj7h6LKH1q1jsnO9z4MxfddtypKkIbg== + dependencies: + "@babel/core" "^7.20.0" + "@babel/plugin-proposal-async-generator-functions" "^7.0.0" + "@babel/plugin-proposal-class-properties" "^7.18.0" + "@babel/plugin-proposal-export-default-from" "^7.0.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.0" + "@babel/plugin-proposal-numeric-separator" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.20.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" + "@babel/plugin-proposal-optional-chaining" "^7.20.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-default-from" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.18.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-syntax-optional-chaining" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-async-to-generator" "^7.20.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.20.0" + "@babel/plugin-transform-flow-strip-types" "^7.20.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-private-methods" "^7.22.5" + "@babel/plugin-transform-private-property-in-object" "^7.22.11" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-react-jsx-self" "^7.0.0" + "@babel/plugin-transform-react-jsx-source" "^7.0.0" + "@babel/plugin-transform-runtime" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-sticky-regex" "^7.0.0" + "@babel/plugin-transform-typescript" "^7.5.0" + "@babel/plugin-transform-unicode-regex" "^7.0.0" + "@babel/template" "^7.0.0" + "@react-native/babel-plugin-codegen" "0.73.2" + babel-plugin-transform-flow-enums "^0.0.2" + react-refresh "^0.14.0" + +"@react-native/codegen@0.73.2": + version "0.73.2" + resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.73.2.tgz#58af4e4c3098f0e6338e88ec64412c014dd51519" + integrity sha512-lfy8S7umhE3QLQG5ViC4wg5N1Z+E6RnaeIw8w1voroQsXXGPB72IBozh8dAHR3+ceTxIU0KX3A8OpJI8e1+HpQ== + dependencies: + "@babel/parser" "^7.20.0" + flow-parser "^0.206.0" + glob "^7.1.1" + invariant "^2.2.4" + jscodeshift "^0.14.0" + mkdirp "^0.5.1" + nullthrows "^1.1.1" + +"@react-native/community-cli-plugin@0.73.12": + version "0.73.12" + resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.12.tgz#3a72a8cbae839a0382d1a194a7067d4ffa0da04c" + integrity sha512-xWU06OkC1cX++Duh/cD/Wv+oZ0oSY3yqbtxAqQA2H3Q+MQltNNJM6MqIHt1VOZSabRf/LVlR1JL6U9TXJirkaw== + dependencies: + "@react-native-community/cli-server-api" "12.3.0" + "@react-native-community/cli-tools" "12.3.0" + "@react-native/dev-middleware" "0.73.7" + "@react-native/metro-babel-transformer" "0.73.13" + chalk "^4.0.0" + execa "^5.1.1" + metro "^0.80.3" + metro-config "^0.80.3" + metro-core "^0.80.3" + node-fetch "^2.2.0" + readline "^1.3.0" + +"@react-native/debugger-frontend@0.73.3": + version "0.73.3" + resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.73.3.tgz#033757614d2ada994c68a1deae78c1dd2ad33c2b" + integrity sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw== + +"@react-native/dev-middleware@0.73.7": + version "0.73.7" + resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.73.7.tgz#61d2bf08973d9a537fa3f2a42deeb13530d721ae" + integrity sha512-BZXpn+qKp/dNdr4+TkZxXDttfx8YobDh8MFHsMk9usouLm22pKgFIPkGBV0X8Do4LBkFNPGtrnsKkWk/yuUXKg== + dependencies: + "@isaacs/ttlcache" "^1.4.1" + "@react-native/debugger-frontend" "0.73.3" + chrome-launcher "^0.15.2" + chromium-edge-launcher "^1.0.0" + connect "^3.6.5" + debug "^2.2.0" + node-fetch "^2.2.0" + open "^7.0.3" + serve-static "^1.13.1" + temp-dir "^2.0.0" + +"@react-native/gradle-plugin@0.73.4": + version "0.73.4" + resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.73.4.tgz#aa55784a8c2b471aa89934db38c090d331baf23b" + integrity sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg== + +"@react-native/js-polyfills@0.73.1": + version "0.73.1" + resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.73.1.tgz#730b0a7aaab947ae6f8e5aa9d995e788977191ed" + integrity sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g== + +"@react-native/metro-babel-transformer@0.73.13": + version "0.73.13" + resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.13.tgz#81cb6dd8d5140c57f5595183fd6857feb8b7f5d7" + integrity sha512-k9AQifogQfgUXPlqQSoMtX2KUhniw4XvJl+nZ4hphCH7qiMDAwuP8OmkJbz5E/N+Ro9OFuLE7ax4GlwxaTsAWg== + dependencies: + "@babel/core" "^7.20.0" + "@react-native/babel-preset" "0.73.19" + hermes-parser "0.15.0" + nullthrows "^1.1.1" + +"@react-native/normalize-color@*", "@react-native/normalize-color@2.1.0", "@react-native/normalize-color@^2.0.0", "@react-native/normalize-color@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.1.0.tgz#939b87a9849e81687d3640c5efa2a486ac266f91" integrity sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA== +"@react-native/normalize-colors@0.73.2", "@react-native/normalize-colors@^0.73.0": + version "0.73.2" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.73.2.tgz#cc8e48fbae2bbfff53e12f209369e8d2e4cf34ec" + integrity sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w== + "@react-native/polyfills@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@react-native/polyfills/-/polyfills-2.0.0.tgz#4c40b74655c83982c8cf47530ee7dc13d957b6aa" integrity sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ== +"@react-native/virtualized-lists@0.73.4": + version "0.73.4" + resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.73.4.tgz#640e594775806f63685435b5d9c3d05c378ccd8c" + integrity sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog== + dependencies: + invariant "^2.2.4" + nullthrows "^1.1.1" + "@react-navigation/bottom-tabs@^6.5.11": version "6.5.11" resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.11.tgz#b6e67a3aa19e60ed9c1139fa0253586c479832d5" @@ -2918,9 +3268,9 @@ integrity sha512-eyS2C6McNR8ihUoYfc166O1D8VYVh9KIl0UQPI8/ZJVsStlfSTgeEEh+WXge6+7SFPnZ4ewzEJdSAHH+jzcEfg== "@react-navigation/native-stack@^6.9.16": - version "6.9.16" - resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.9.16.tgz#d3dfc1ebe51da34eff36d5475d7b33d982a59758" - integrity sha512-SrmBGr5YvRxDtdTacOkA/wvqwpt9kt+AsYpmt82hKMPKpu0v98WONedTXDzi6whhY3jeT2GZkwF8hyrJ+wDbTA== + version "6.9.17" + resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.9.17.tgz#4fc370b14be07296423ae8c00940fb002c6001b5" + integrity sha512-X8p8aS7JptQq7uZZNFEvfEcPf6tlK4PyVwYDdryRbG98B4bh2wFQYMThxvqa+FGEN7USEuHdv2mF0GhFKfX0ew== dependencies: "@react-navigation/elements" "^1.3.21" warn-once "^0.1.0" @@ -2952,9 +3302,9 @@ warn-once "^0.1.0" "@reduxjs/toolkit@^1.9.3": - version "1.9.6" - resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.9.6.tgz#fc968b45fe5b17ff90932c4556960d9c1078365a" - integrity sha512-Gc4ikl90ORF4viIdAkY06JNUnODjKfGxZRwATM30EdHq8hLSVoSrwXne5dd739yenP5bJxAX7tLuOWK5RPGtrw== + version "1.9.7" + resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.9.7.tgz#7fc07c0b0ebec52043f8cb43510cf346405f78a6" + integrity sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ== dependencies: immer "^9.0.21" redux "^4.2.1" @@ -2969,41 +3319,31 @@ chalk "^4.1.0" "@rnx-kit/metro-resolver-symlinks@^0.1.27": - version "0.1.33" - resolved "https://registry.yarnpkg.com/@rnx-kit/metro-resolver-symlinks/-/metro-resolver-symlinks-0.1.33.tgz#04de5a11793056fb4dac5c5f19a3d988b2a11e3e" - integrity sha512-wvbNNYvCwKq57UzWk9jDcucBAkMPBwd6nOqQRsQfqT36OQGJo3a9WsvsqjaRifTyM21qLdUerzlniv0QoxVxHw== + version "0.1.34" + resolved "https://registry.yarnpkg.com/@rnx-kit/metro-resolver-symlinks/-/metro-resolver-symlinks-0.1.34.tgz#9be0003c084ddc267317f9acea39c28bb74b72b1" + integrity sha512-CFuuik7WUzWtTD8/rTeOEfihpZwZiarlTzfr7whaeEuchyIg0lTb7pBf6LiRXgX52iyqFkm+pUAle8+z1W7Pyw== dependencies: "@rnx-kit/console" "^1.0.0" "@rnx-kit/tools-node" "^2.1.0" - "@rnx-kit/tools-react-native" "^1.3.2" + "@rnx-kit/tools-react-native" "^1.3.4" enhanced-resolve "^5.8.3" -"@rnx-kit/tools-language@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@rnx-kit/tools-language/-/tools-language-2.0.1.tgz#1d815966faea816b98a2a57c3e41851b3404838e" - integrity sha512-2A9O3frfTXgIaJXOjpeXDTUInXD46XX1YFeUgGw90c2Dyx4sgqED3LX4hRz9lXW0SFV8q7JqDo/G3Hhn2WZBng== - "@rnx-kit/tools-node@^2.0.1", "@rnx-kit/tools-node@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@rnx-kit/tools-node/-/tools-node-2.1.0.tgz#73c8261a92dcfd2b9cb327ebdef70d06c12406b9" - integrity sha512-oiTzmYfhO5qLy99nfjvKoF3dEx5UgM3OuLRTSaghR7BKqi3mQ6fEeaghOzWzGEj+ywhL6l1rgYknmwm8pt5L5w== - dependencies: - "@rnx-kit/tools-language" "^2.0.1" - find-up "^5.0.0" - pkg-dir "^5.0.0" - pkg-up "^3.1.0" + version "2.1.1" + resolved "https://registry.yarnpkg.com/@rnx-kit/tools-node/-/tools-node-2.1.1.tgz#550016458ec8b67d21949efeafdb4ba2870d5e69" + integrity sha512-jZC/pmeM3fv4LwpkVWlLyv5dOh6haUw/dBaDC0e5zkfehkIdLtRhVwz4l7iH9MW/i4I9OySoc+2DtDpX7KZyZA== -"@rnx-kit/tools-react-native@^1.3.2": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@rnx-kit/tools-react-native/-/tools-react-native-1.3.3.tgz#0370852afde68dda5c63076b4d1fdf9177787548" - integrity sha512-Fm32sURdEtkrjfEuG/V19lOnWj5uVKI2hAA1B7pg7kV1bESeAR4k7wpGd5cTgOyYFhE8cG/prYcTM2z8MnWbiQ== +"@rnx-kit/tools-react-native@^1.3.4": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@rnx-kit/tools-react-native/-/tools-react-native-1.3.5.tgz#57a0dd7056c55a23d311515def44b292bc6aa4fd" + integrity sha512-fc+3hxdlicW3GEhI0Umjj+rnVLSLuxVJoGvUBwWvcaCnlNaaTssBjhd7xSvlfLDrgtuXxhBruA76wdDdZI8tiQ== dependencies: "@rnx-kit/tools-node" "^2.0.1" "@scure/base@^1.1.3", "@scure/base@~1.1.0": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" - integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q== + version "1.1.5" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.5.tgz#1d85d17269fe97694b9c592552dd9e5e33552157" + integrity sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ== "@scure/bip32@1.3.1": version "1.3.1" @@ -3022,11 +3362,33 @@ "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" -"@sd-jwt/core@0.1.2-alpha.0": - version "0.1.2-alpha.0" - resolved "https://registry.yarnpkg.com/@sd-jwt/core/-/core-0.1.2-alpha.0.tgz#a1b6ed2c7efc6d71d8fcd063b6624cf77c1eb21f" - integrity sha512-x4MVXar6WmPauZDRJ3aHwaY8o/bHzN77Ts7o43JKuuqIBFjPgAcSlRtd/Xk1rWhazFai4MCIwJDSQ1OQRJtNug== +"@sd-jwt/decode@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@sd-jwt/decode/-/decode-0.2.0.tgz#44211418fd0884a160f8223feedfe04ae52398c4" + integrity sha512-nmiZN3SQ4ApapEu+rS1h/YAkDIq3exgN7swSCsEkrxSEwnBSbXtISIY/sv+EmwnehF1rcKbivHfHNxOWYtlxvg== + dependencies: + "@sd-jwt/types" "0.2.0" + "@sd-jwt/utils" "0.2.0" + +"@sd-jwt/present@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@sd-jwt/present/-/present-0.2.0.tgz#01ecbd09dd21287be892b36d754a79c8629387f2" + integrity sha512-6xDBiB+UqCwW8k7O7OUJ7BgC/8zcO+AD5ZX1k4I6yjDM9vscgPulSVxT/yUH+Aov3cZ/BKvfKC0qDEZkHmP/kg== + dependencies: + "@sd-jwt/types" "0.2.0" + "@sd-jwt/utils" "0.2.0" + +"@sd-jwt/types@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@sd-jwt/types/-/types-0.2.0.tgz#3cb50392e1b76ce69453f403c71c937a6e202352" + integrity sha512-16WFRcL/maG0/JxN9UCSx07/vJ2SDbGscv9gDLmFLgJzhJcGPer41XfI6aDfVARYP430wHFixChfY/n7qC1L/Q== + +"@sd-jwt/utils@0.2.0", "@sd-jwt/utils@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@sd-jwt/utils/-/utils-0.2.0.tgz#ef52b744116e874f72ec01978f0631ad5a131eb7" + integrity sha512-oHCfRYVHCb5RNwdq3eHAt7P9d7TsEaSM1TTux+xl1I9PeQGLtZETnto9Gchtzn8FlTrMdVsLlcuAcK6Viwj1Qw== dependencies: + "@sd-jwt/types" "0.2.0" buffer "*" "@segment/loosely-validate-event@^2.0.0": @@ -3037,7 +3399,7 @@ component-type "^1.2.1" join-component "^1.1.0" -"@sideway/address@^4.1.3": +"@sideway/address@^4.1.4": version "4.1.4" resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== @@ -3060,9 +3422,9 @@ integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== "@sinonjs/commons@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.0.tgz#beb434fe875d965265e04722ccfc21df7f755d72" - integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" + integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== dependencies: type-detect "4.0.8" @@ -3073,34 +3435,34 @@ dependencies: "@sinonjs/commons" "^3.0.0" -"@sphereon/did-auth-siop@0.4.2", "@sphereon/did-auth-siop@0.5.0-unstable.7": - version "0.5.0-unstable.7" - resolved "https://registry.yarnpkg.com/@sphereon/did-auth-siop/-/did-auth-siop-0.5.0-unstable.7.tgz#3867ffe44f9289ce85f1f41241d98464e0acb4c4" - integrity sha512-Yq/NqrRTin85zkJA1//EzZ8j+hwt1Aw5YK2crN0MRhW6Oo3eoAuhLygCJNvy81hkwgawd8MuP9Bf6rk9vHsFsA== +"@sphereon/did-auth-siop@0.6.0-unstable.7", "@sphereon/did-auth-siop@0.6.0-unstable.8": + version "0.6.0-unstable.7" + resolved "https://registry.yarnpkg.com/@sphereon/did-auth-siop/-/did-auth-siop-0.6.0-unstable.7.tgz#88a201f7f2fb862dadfff3f54b9e425868b5987a" + integrity sha512-u1T8PCs90vZHTfxx50b0Gc43GXJgRXJwaffEaXpTYT2mXvlrOEL08Hf5HvcLTuT6ZbLGuSxwFB7XmlcSt7F3fQ== dependencies: "@astronautlabs/jsonpath" "^1.1.2" - "@sphereon/did-uni-client" "^0.6.0" - "@sphereon/pex" "2.2.1-unstable.0" - "@sphereon/pex-models" "^2.1.1" - "@sphereon/ssi-types" "^0.17.5" + "@sphereon/did-uni-client" "^0.6.1" + "@sphereon/pex" "^3.1.0" + "@sphereon/pex-models" "^2.2.0" + "@sphereon/ssi-types" "0.18.1" "@sphereon/wellknown-dids-client" "^0.1.3" - cross-fetch "^3.1.8" + cross-fetch "^4.0.0" did-jwt "6.11.6" did-resolver "^4.1.0" events "^3.3.0" - language-tags "^1.0.8" - multiformats "^11.0.2" + language-tags "^1.0.9" + multiformats "^12.1.3" qs "^6.11.2" sha.js "^2.4.11" uint8arrays "^3.1.1" uuid "^9.0.0" -"@sphereon/did-uni-client@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@sphereon/did-uni-client/-/did-uni-client-0.6.0.tgz#6592e1fc514f277ddbc531fc5095a834a9813030" - integrity sha512-JDZYHR5wj49PHfI51g0+sfXzaLxIvWwad6Va42LIKcW/e9fOgjQJxpUySazWQkYYlewHhLg3GDbqMKIyIMQs6A== +"@sphereon/did-uni-client@^0.6.0", "@sphereon/did-uni-client@^0.6.1": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@sphereon/did-uni-client/-/did-uni-client-0.6.1.tgz#5fe7fa2b87c22f939c95d388b6fcf9e6e93c70a8" + integrity sha512-ryIPq9fAp8UuaN0ZQ16Gong5n5SX8G+SjNQ3x3Uy/pmd6syxh97kkmrfbna7a8dTmbP8YdNtgPLpcNbhLPMClQ== dependencies: - cross-fetch "^3.1.5" + cross-fetch "^4.0.0" did-resolver "^4.1.0" "@sphereon/ion-pow@^0.2.0": @@ -3140,53 +3502,58 @@ str2buf "^1.3.0" webcrypto-shim "^0.1.7" -"@sphereon/oid4vci-client@0.7.3": - version "0.7.3" - resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-client/-/oid4vci-client-0.7.3.tgz#48d7ef9ec4d3ab64944f2c2bb1de9b8b5e90cfbb" - integrity sha512-9xQvpLGYqDtqjcK2R1KfCKNBJUEqhLsA5lJrxV40DQ6fTddz7lVJWommX+pRqKDRR+N6tAo80qgqzELQEzJw2w== +"@sphereon/oid4vci-client@0.8.2-unstable.65": + version "0.8.2-unstable.65" + resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-client/-/oid4vci-client-0.8.2-unstable.65.tgz#f87864b9a05ae55862fccadafe24c2439b34d9c6" + integrity sha512-xwV0eVVMWDGzKj7SERVKOqSjgxXD1fHnKD4TC6UG+gV+eA+OrvUs+LS7gMYV9HSEDGtOImLBCfwa1I4FW7IbPg== dependencies: - "@sphereon/oid4vci-common" "0.7.3" - "@sphereon/ssi-types" "0.17.2" + "@sphereon/oid4vci-common" "0.8.2-unstable.65+2bc039c" + "@sphereon/ssi-types" "^0.18.1" cross-fetch "^3.1.8" debug "^4.3.4" -"@sphereon/oid4vci-common@0.7.3": - version "0.7.3" - resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-common/-/oid4vci-common-0.7.3.tgz#188250a0a51c5a5df5424f63781f517788c4b296" - integrity sha512-rfXYXWYsa+wQ22A/IchOJSUzTr6ChuCiZYYvZB44kHEjCdQ15Ix3PKkVD6vmxaoSx7sZ9Q+LQTZbNGvx+7LpWw== +"@sphereon/oid4vci-common@0.8.2-unstable.65", "@sphereon/oid4vci-common@0.8.2-unstable.65+2bc039c": + version "0.8.2-unstable.65" + resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-common/-/oid4vci-common-0.8.2-unstable.65.tgz#40c96106b21407a23141e0462e2b2fc3ed0f3082" + integrity sha512-95QOoprtVsnrfZ9svDodRz8fXBxiWOLON59mBcS9D8F4VuDpMYRfeNhdJVbSB7A+mNdUIEL3gdnaHozDkWHYUQ== dependencies: - "@sphereon/ssi-types" "0.17.2" + "@sphereon/ssi-types" "^0.18.1" cross-fetch "^3.1.8" jwt-decode "^3.1.2" + sha.js "^2.4.11" + uint8arrays "3.1.1" -"@sphereon/pex-models@2.1.0", "@sphereon/pex-models@2.1.1", "@sphereon/pex-models@^2.1.0", "@sphereon/pex-models@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@sphereon/pex-models/-/pex-models-2.1.1.tgz#399e529db2a7e3b9abbd7314cdba619ceb6cb758" - integrity sha512-0UX/CMwgiJSxzuBn6SLOTSKkm+uPq3dkNjl8w4EtppXp6zBB4lQMd1mJX7OifX5Bp5vPUfoz7bj2B+yyDtbZww== +"@sphereon/pex-models@2.2.0", "@sphereon/pex-models@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@sphereon/pex-models/-/pex-models-2.2.0.tgz#32013fff43d4f47df03e213792a9bcc6866a1f06" + integrity sha512-dGDRdoxJj+P0TRqu0R8R0/IdIzrCya1MsnxIFbcmSW3rjPsbwXbV0EojEfxXGD5LhqsUJiuAffMtyE2dtVI/XQ== -"@sphereon/pex@2.1.2", "@sphereon/pex@2.2.1-unstable.0": - version "2.2.1-unstable.0" - resolved "https://registry.yarnpkg.com/@sphereon/pex/-/pex-2.2.1-unstable.0.tgz#58c339f578d487db5e7ac54a79871c58bdbe63ff" - integrity sha512-gAO4+pUSdN+kDHaB1D7oCSn1AZcKOeH3IXv7NdPkf1U4J/sJpLEXA46gsG8SBTX4e45CRGwt8c5F7vPmIwX7XQ== +"@sphereon/pex@3.2.1-unstable.7", "@sphereon/pex@^3.1.0", "@sphereon/pex@^3.2.0": + version "3.2.1-unstable.7" + resolved "https://registry.yarnpkg.com/@sphereon/pex/-/pex-3.2.1-unstable.7.tgz#218d39c2311e5d542258607883185cacc3e6e862" + integrity sha512-X55PUfZL5gZ/mJinNS+eQ/iUKuFmNA6PP8NU14p4SemZbt/8kn67XYM6Nl/hYSFDysx64daPMRfPTkopKAfT+Q== dependencies: "@astronautlabs/jsonpath" "^1.1.2" - "@sphereon/pex-models" "^2.1.1" - "@sphereon/ssi-types" "^0.17.5" + "@sd-jwt/decode" "^0.2.0" + "@sd-jwt/present" "^0.2.0" + "@sd-jwt/utils" "^0.2.0" + "@sphereon/pex-models" "^2.2.0" + "@sphereon/ssi-types" "0.18.1" ajv "^8.12.0" ajv-formats "^2.1.1" jwt-decode "^3.1.2" - nanoid "^3.3.6" - string.prototype.matchall "^4.0.8" + nanoid "^3.3.7" + string.prototype.matchall "^4.0.10" "@sphereon/react-native-argon2@2.0.9": version "2.0.9" resolved "https://registry.yarnpkg.com/@sphereon/react-native-argon2/-/react-native-argon2-2.0.9.tgz#88d68d079a65ecc01501718c35a30f0a58558d21" integrity sha512-mXcp3meaKbv5TpEPxItZ1ZuRqkdNf8vjx3EM+GqNVQ8QQF9pbD3jw6wQfuFRPc+8kN+m9GEiVVbd9I0m50OPBg== -"@sphereon/ssi-express-support@0.18.1-next.4+d626709c": - version "0.18.1-next.4" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-express-support/-/ssi-express-support-0.18.1-next.4.tgz#938146093ec5a6b85fbeda91b246ef4cbe662a0f" - integrity sha512-9EyhzfFX7ju/ymUNtGwvWzCa5RKho0sGRDO24ln5NtQ0vPR3dJ5RSOUzX6lZV3vuSzkcw+EPqWwLqFlIw2X5+w== +"@sphereon/ssi-express-support@0.18.2-unstable.35+089ea379": + version "0.18.2-unstable.35" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-express-support/-/ssi-express-support-0.18.2-unstable.35.tgz#e6feab8bd5c79e71d8cbd70b798f370f27912434" + integrity sha512-czrrY8nnbrbWbauHInrUlOOK68nvBsbUkn/WepKmtAo1eCpX48JGWfZAmhWtmEitPME0kw5/v3HRt52uVQTzSw== dependencies: body-parser "^1.20.2" casbin "^5.26.1" @@ -3202,14 +3569,14 @@ qs "^6.11.2" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk-ext.did-provider-jwk@0.15.0": - version "0.15.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-provider-jwk/-/ssi-sdk-ext.did-provider-jwk-0.15.0.tgz#c69d6f5686559869deb673bc1ebe872167cab8cf" - integrity sha512-ZUqtCs5xaxZcLZuuaDqSCiDSxoLJmpOpSqi117gYg3DBozS1mLUzG4BEKMrr+XjNKNu3O6t8Sezm/fjsmIwHOg== +"@sphereon/ssi-sdk-ext.did-provider-jwk@0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-provider-jwk/-/ssi-sdk-ext.did-provider-jwk-0.16.0.tgz#7fc7ae04ff9fbd3796a65e2aa43cfc9d770e2580" + integrity sha512-cTwtCl5Cw/ziXdabM28obJu2ifsDw2cwz3eDiBl6xaSn9hCtZ7361QIxws4y84UjeSHQhyGsSLNOFzwFWon+Nw== dependencies: "@ethersproject/random" "^5.7.0" - "@sphereon/ssi-sdk-ext.did-utils" "^0.15.0" - "@sphereon/ssi-sdk-ext.key-utils" "^0.15.0" + "@sphereon/ssi-sdk-ext.did-utils" "^0.16.0" + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" "@sphereon/ssi-types" "0.17.1" "@stablelib/ed25519" "^1.0.3" "@veramo/core" "4.2.0" @@ -3219,10 +3586,35 @@ did-resolver "^4.1.0" elliptic "^6.5.4" -"@sphereon/ssi-sdk-ext.did-resolver-jwk@0.15.0": - version "0.15.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-jwk/-/ssi-sdk-ext.did-resolver-jwk-0.15.0.tgz#4f3a17d20d477dc78167e95057d680f7d912e7a1" - integrity sha512-FwjC7zeQI015rXq4wZ9DQfkbFKv65AMeSbkVTOYzspzP+ZxfHavoc0heqVpFU/v2H55CjKKygPl0XbTGE/7+hw== +"@sphereon/ssi-sdk-ext.did-provider-key@0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-provider-key/-/ssi-sdk-ext.did-provider-key-0.16.0.tgz#272231d9de62fca1e1153043c22570d55972dcd0" + integrity sha512-txJM50j56VXd7ZOcbwUaEv8RZ6nMAXPJjAFcDX9+T9FwRNr2UgOodsGeic4WNXdClj9hDVCz9f8XFY8Bg5iz2w== + dependencies: + "@sphereon/ssi-sdk-ext.did-resolver-key" "^0.16.0" + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" + "@transmute/did-key-bls12381" "0.3.0-unstable.10" + "@veramo/core" "4.2.0" + "@veramo/did-manager" "4.2.0" + debug "^4.3.4" + did-resolver "^4.1.0" + multibase "^4.0.6" + multicodec "^3.2.1" + uint8arrays "^3.1.1" + +"@sphereon/ssi-sdk-ext.did-resolver-ebsi@^0.15.1-next.13": + version "0.15.1-unstable.11" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-ebsi/-/ssi-sdk-ext.did-resolver-ebsi-0.15.1-unstable.11.tgz#3ca7b8fd74d89ffd8604f8e26dcbc5e76e4ed776" + integrity sha512-AMK0xxUEE3+Zyy6HNd26qifHFmcYE5itsNlu8xh6kwtPKhp3Z2haP1NkweKJyJ2qb3zb8gIfRiVzLqTPdfo4Sg== + dependencies: + cross-fetch "^3.1.8" + did-resolver "^4.1.0" + dotenv "^16.3.1" + +"@sphereon/ssi-sdk-ext.did-resolver-jwk@0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-jwk/-/ssi-sdk-ext.did-resolver-jwk-0.16.0.tgz#09a0e03df83eb435bd375aba7905d3c7417df5cb" + integrity sha512-lRqyd9vbmPCSojvCByHTmHhIRfilmMLu6ypE8YLMPIXCwiJ3NmlaEsmpMCsx1zC/s6jESgQS2RGWv5Ec41actg== dependencies: "@sphereon/ssi-types" "0.17.1" base64url "^3.0.1" @@ -3230,14 +3622,31 @@ did-resolver "^4.1.0" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk-ext.did-utils@0.15.0", "@sphereon/ssi-sdk-ext.did-utils@^0.15.0": - version "0.15.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-utils/-/ssi-sdk-ext.did-utils-0.15.0.tgz#f60a3e5cd31bc5004944b41a940715fbea46ad4f" - integrity sha512-LobpJn6zS7j+Cha4fyuyMNSgJrl6Q6yN+rqUKoW5exDSXPkfkIJVoeTt4LN9g7X8id8q2CVlGgba9swogBzc7Q== +"@sphereon/ssi-sdk-ext.did-resolver-key@0.16.0", "@sphereon/ssi-sdk-ext.did-resolver-key@^0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-key/-/ssi-sdk-ext.did-resolver-key-0.16.0.tgz#9f7e736bd0384eb965b3f46535b2aa91a4f4299d" + integrity sha512-42GJreQCcDhyXn4XjcLOZVPYem60+GbKfHSYawby68fxMM6pOyiplj+fBHNOsUzgCUhK0ksCECxWxnjkrehGzA== + dependencies: + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" + "@stablelib/ed25519" "^1.0.3" + bigint-mod-arith "^3.3.1" + did-resolver "^4.1.0" + enhanced-resolve "^5.15.0" + lodash.isplainobject "^4.0.6" + multiformats "^9.9.0" + nist-weierstrauss "^1.6.1" + uint8arrays "^3.1.1" + varint "^6.0.0" + web-encoding "^1.1.5" + +"@sphereon/ssi-sdk-ext.did-utils@0.15.0", "@sphereon/ssi-sdk-ext.did-utils@0.16.0", "@sphereon/ssi-sdk-ext.did-utils@^0.15.0", "@sphereon/ssi-sdk-ext.did-utils@^0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-utils/-/ssi-sdk-ext.did-utils-0.16.0.tgz#6b8d24b74a322f3231f48ec21efc3df9709b0146" + integrity sha512-v7Uy0OqrxglxA3kG8rBUbE6mI7NXK5Fl3moO+7+waXu1R120kJKEyHGDKJaU5BN8Mlr2AURfguBdw2ls0yxYIw== dependencies: "@ethersproject/transactions" "^5.7.0" "@sphereon/did-uni-client" "^0.6.0" - "@sphereon/ssi-sdk-ext.key-utils" "^0.15.0" + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" "@sphereon/ssi-sdk.core" "0.17.1" "@stablelib/ed25519" "^1.0.3" "@veramo/core" "4.2.0" @@ -3247,17 +3656,17 @@ elliptic "^6.5.4" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk-ext.key-manager@0.15.0": - version "0.15.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.key-manager/-/ssi-sdk-ext.key-manager-0.15.0.tgz#af6d4ce50489fae5c70a275eca5b7b8e4ee6eae9" - integrity sha512-ks3ly3p3Q8yyuxXKp0ztuq5TSkhXBZFb6iWf3hIdkI5GRMwSqK78Il0KQzuxeyFgp4Y6xwEx9nlnujvBkoEFRg== +"@sphereon/ssi-sdk-ext.key-manager@0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.key-manager/-/ssi-sdk-ext.key-manager-0.16.0.tgz#6ff3f48c93dc0bdcd8cf61a3ab66c225d84fa8f9" + integrity sha512-ElCO0NxTjcXjRKSx5UEiaQAW6LWkMYKI4zzcWNLMDyNnxN96ERFGaI5UsMc6EmG3SXC1NyctSvOc5lTNWjagrw== dependencies: "@mattrglobal/bbs-signatures" "^1.3.0" - "@sphereon/ssi-sdk-ext.kms-local" "^0.15.0" + "@sphereon/ssi-sdk-ext.kms-local" "^0.16.0" "@veramo/core" "4.2.0" "@veramo/key-manager" "4.2.0" -"@sphereon/ssi-sdk-ext.key-utils@0.15.0", "@sphereon/ssi-sdk-ext.key-utils@^0.15.0": +"@sphereon/ssi-sdk-ext.key-utils@0.15.0": version "0.15.0" resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.key-utils/-/ssi-sdk-ext.key-utils-0.15.0.tgz#3b238f4cd544493615c916daee0cbabbd444697e" integrity sha512-Tz0nYaslr4Kjm+YylWtnpoNyOfxUWY0eOv1cPkjGYvx21bVzhD4Mt5AU2jVyJF/YY8tH3OPEQxCSCRViVTlZrg== @@ -3278,15 +3687,36 @@ varint "^6.0.0" web-encoding "^1.1.5" -"@sphereon/ssi-sdk-ext.kms-local@0.15.0", "@sphereon/ssi-sdk-ext.kms-local@^0.15.0": - version "0.15.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.kms-local/-/ssi-sdk-ext.kms-local-0.15.0.tgz#c1b80a5cb333e5178fc722c142520294437c49d6" - integrity sha512-5bYdDN5l/R1RhHi6lZZ9FErOnHOwjMSuxWD7nUM5Yw164fdxcNNVGTvZ3WbD9sCzJ6L0PZdFc+fybgFqkMYx3Q== +"@sphereon/ssi-sdk-ext.key-utils@^0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.key-utils/-/ssi-sdk-ext.key-utils-0.16.0.tgz#ab9919cca3250706a219915bdac9a07ab13a40bb" + integrity sha512-gaPgoAG2R5pBdMwktPKP39QrcMUc5ny3U9fmzSdlBky0n0BCXv+ifeCSuVSFKQP5tBPeOKPyMH/JcaQWxoFzkA== + dependencies: + "@ethersproject/random" "^5.7.0" + "@sphereon/isomorphic-webcrypto" "2.4.0-unstable.4" + "@stablelib/ed25519" "^1.0.3" + "@stablelib/sha256" "^1.0.1" + "@stablelib/sha512" "^1.0.1" + "@veramo/core" "4.2.0" + base64url "^3.0.1" + debug "^4.3.4" + did-resolver "^4.1.0" + elliptic "^6.5.4" + lodash.isplainobject "^4.0.6" + multiformats "^9.9.0" + uint8arrays "^3.1.1" + varint "^6.0.0" + web-encoding "^1.1.5" + +"@sphereon/ssi-sdk-ext.kms-local@0.16.0", "@sphereon/ssi-sdk-ext.kms-local@^0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.kms-local/-/ssi-sdk-ext.kms-local-0.16.0.tgz#08c7913e60f69a81821b3ee34365646bc059581b" + integrity sha512-KmcMQUpoSCQeL2z7MvP0ZDplhPolt2zSkySKeV/Ypud+A/eUg1iU2bUtfv/ra8E9xxqPHe7HGhLf9IxOKdg/aw== dependencies: "@mattrglobal/bbs-signatures" "^1.3.0" "@sphereon/isomorphic-webcrypto" "2.4.0-unstable.4" - "@sphereon/ssi-sdk-ext.did-utils" "^0.15.0" - "@sphereon/ssi-sdk-ext.key-utils" "^0.15.0" + "@sphereon/ssi-sdk-ext.did-utils" "^0.16.0" + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" "@trust/keyto" "2.0.0-alpha1" "@veramo/core" "4.2.0" "@veramo/key-manager" "4.2.0" @@ -3294,10 +3724,10 @@ elliptic "^6.5.4" uint8arrays "3.1.1" -"@sphereon/ssi-sdk.agent-config@0.18.1-next.4+d626709c": - version "0.18.1-next.4" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.agent-config/-/ssi-sdk.agent-config-0.18.1-next.4.tgz#9e30c9252d269a5aeb328d375e3b025b8660a7cd" - integrity sha512-Jv4zMZwWkfHO0DcRi1RHq0Z0hu5w39UevzFKVSVB3G2DROLGoyqDbZoCgM+X5p4YdXoua3etJYHOcevqL5uQSg== +"@sphereon/ssi-sdk.agent-config@0.18.2-unstable.35+089ea379": + version "0.18.2-unstable.35" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.agent-config/-/ssi-sdk.agent-config-0.18.2-unstable.35.tgz#b034feb4f9457667dab04f43afae7fcb77161ef9" + integrity sha512-k0YT4ZaZdQ9omUFYzE3yruz3GYyynTD2yuRqx1KFrC5/CMCnPfjvUTdtIN8zu3U61T2HkDOFtciaquDG8IQwvQ== dependencies: "@veramo/core" "4.2.0" debug "^4.3.4" @@ -3306,53 +3736,53 @@ url-parse "^1.5.10" yaml "^2.2.2" -"@sphereon/ssi-sdk.contact-manager@0.18.1-next.4": - version "0.18.1-next.4" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.contact-manager/-/ssi-sdk.contact-manager-0.18.1-next.4.tgz#dee783f9e04717040183b1e4ea31694ceb4eda64" - integrity sha512-JqFkyzGj7CjPTzMT6LCFu7lvsn39UCRSBJrNt2BJVE4q5x2RL1Ixpq6X8eR7uDpq9ytmYAr7wxgAXpuXt5upGg== +"@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.35": + version "0.18.2-unstable.35" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.contact-manager/-/ssi-sdk.contact-manager-0.18.2-unstable.35.tgz#865c8a7720ce621fffa9e96a3b273963d818b7ab" + integrity sha512-18G+P6HzNx8OxD/TJw0Zy55p5unHPuMPobtMZQC3q7WI7KD0Cog1EFSKYK4ruFqYiuBY5u9Gd0lxubD47XKhtA== dependencies: - "@sphereon/ssi-sdk.data-store" "0.18.1-next.4+d626709c" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.35+089ea379" cross-fetch "^3.1.8" typeorm "^0.3.12" -"@sphereon/ssi-sdk.core@0.17.1", "@sphereon/ssi-sdk.core@0.18.1-next.4", "@sphereon/ssi-sdk.core@0.18.1-next.4+d626709c": - version "0.18.1-next.4" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.core/-/ssi-sdk.core-0.18.1-next.4.tgz#8b469cab43e217d81a1e94755946c7ef5842e408" - integrity sha512-i4nSpPif/8I9jHQEAEikMpdxThpJA6kUtPrcrNE+TneXsFVIVa4VXZQyQ5Mwk1DFzrYiscZj9lcwDqQr1AEZeg== +"@sphereon/ssi-sdk.core@0.17.1", "@sphereon/ssi-sdk.core@0.18.2-unstable.35", "@sphereon/ssi-sdk.core@0.18.2-unstable.35+089ea379": + version "0.18.2-unstable.35" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.core/-/ssi-sdk.core-0.18.2-unstable.35.tgz#acbacf3253f612a440b0ed254cc7fc4bf98b2f3c" + integrity sha512-J1k0ev7SdPiFrxdjtIg48a154MJCxq2B4hWHb9igrHNK7jqbmwR5O/2R1ayXl4XRI7HKigmdlyhX2WU9hQ6oKA== dependencies: - "@sphereon/ssi-types" "0.18.1-next.4+d626709c" + "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" "@veramo/core" "4.2.0" cross-fetch "^3.1.8" debug "^4.3.4" - image-size "^1.0.2" + image-size "1.0.2" uint8arrays "3.1.1" -"@sphereon/ssi-sdk.data-store@0.18.1-next.4", "@sphereon/ssi-sdk.data-store@0.18.1-next.4+d626709c": - version "0.18.1-next.4" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.data-store/-/ssi-sdk.data-store-0.18.1-next.4.tgz#974a0c8c9291bb85d992e261a27c2036b09f7f57" - integrity sha512-l6PlLaYuXS17VKyT2Vs9xIs5TXTqJUdhbiDsfYejq++DeTheWY2+EwMT9BBjcIibZ/p2EUkTWAhCoihntxOyYw== +"@sphereon/ssi-sdk.data-store@0.18.2-unstable.35", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.35+089ea379": + version "0.18.2-unstable.35" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.data-store/-/ssi-sdk.data-store-0.18.2-unstable.35.tgz#fbe51ca062a452a5d94360306a76b9b6bab9fafc" + integrity sha512-P4iCKCLoyAIbAvslOzSajgzfhzmMQHsRF2OBCsHLCGSbxGQPaKRIDuPJdSHmmlisx92OKASVXTAL6evrBLf2gA== dependencies: - "@sphereon/ssi-sdk.core" "0.18.1-next.4+d626709c" - "@sphereon/ssi-types" "0.18.1-next.4+d626709c" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" "@veramo/core" "4.2.0" class-validator "^0.14.0" debug "^4.3.4" typeorm "^0.3.12" -"@sphereon/ssi-sdk.issuance-branding@0.18.1-next.4": - version "0.18.1-next.4" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.issuance-branding/-/ssi-sdk.issuance-branding-0.18.1-next.4.tgz#5cdfdc635e0b98a060a26ed7a531e5e4c790194d" - integrity sha512-lHWTBjZ0S60Dk21k0hin1jvMMMAO9MGXOVidOQPpNA3Q46YHh8TITG4n8syCE8Buvk9+vzzmIlbrvG+w6r0gnA== +"@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.35": + version "0.18.2-unstable.35" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.issuance-branding/-/ssi-sdk.issuance-branding-0.18.2-unstable.35.tgz#c5c25636b8a33ed02754ff81c0a45625ca300ff6" + integrity sha512-aKbMVDiCndzx4dOZMIdvASMRKq5+ke9eqtCk+0E4jqKE+6LLIC3GIjJ0qvnh2b00yI7M2wc++Yvo7vEMWd+9Uw== dependencies: - "@sphereon/ssi-sdk.core" "0.18.1-next.4+d626709c" - "@sphereon/ssi-sdk.data-store" "0.18.1-next.4+d626709c" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.35+089ea379" debug "^4.3.4" typeorm "^0.3.12" -"@sphereon/ssi-sdk.kv-store-temp@0.18.1-next.4+d626709c": - version "0.18.1-next.4" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.kv-store-temp/-/ssi-sdk.kv-store-temp-0.18.1-next.4.tgz#c3cde6c78ca1fc7f62b202b8ffe276a41ae87a13" - integrity sha512-Hdle0cfaDpsxaDfNaE4pSXOh+REjQ5C2TW2+2qFVJihDVUZVjTUMiBVaj4RmfMoiJJKnjVU3lff+JCT2XLg4WQ== +"@sphereon/ssi-sdk.kv-store-temp@0.18.2-unstable.35+089ea379": + version "0.18.2-unstable.35" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.kv-store-temp/-/ssi-sdk.kv-store-temp-0.18.2-unstable.35.tgz#bfc333b0c11fcc8d5c61e75e9c8132699078a7d5" + integrity sha512-2x2GmE7FMzOqPRkOuPypS1hJ4Ru15UnEmrXrbYZsLi8VXOwTfRemRB3uFihdzwrNC6uijrYds1YXPKFgMaOgYg== dependencies: "@veramo/utils" "4.2.0" debug "^4.3.4" @@ -3361,30 +3791,30 @@ typeorm "^0.3.12" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk.presentation-exchange@0.18.1-next.4+d626709c": - version "0.18.1-next.4" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.presentation-exchange/-/ssi-sdk.presentation-exchange-0.18.1-next.4.tgz#f0d15d268e79d392d6d09fefa17243a61a5883a6" - integrity sha512-sN4u0WkNFlp5fuFZF3YN1FRAxTYPfdpRSjbLL0+pcTEcpKhHmw8qVJjBC7z3DMw5eak8uO/paDCUFifb6jKOkQ== +"@sphereon/ssi-sdk.presentation-exchange@0.18.2-unstable.35+089ea379": + version "0.18.2-unstable.35" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.presentation-exchange/-/ssi-sdk.presentation-exchange-0.18.2-unstable.35.tgz#183418c490e914369baa1357dbae8dac8cd5e02d" + integrity sha512-JWXDTqPB7KUJNJ+3ib/E88AO+aFq32e5lSlvc3NkA3Z+x4jXBfzdxvoo02v6E31+5z7IyN4aNxIV0ATNpUnn+w== dependencies: - "@sphereon/pex" "2.1.2" - "@sphereon/pex-models" "^2.1.0" + "@sphereon/pex" "^3.2.0" + "@sphereon/pex-models" "^2.2.0" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-sdk.kv-store-temp" "0.18.1-next.4+d626709c" - "@sphereon/ssi-types" "0.18.1-next.4+d626709c" + "@sphereon/ssi-sdk.kv-store-temp" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" "@veramo/core" "4.2.0" -"@sphereon/ssi-sdk.siopv2-oid4vp-op-auth@0.18.1-next.4": - version "0.18.1-next.4" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.siopv2-oid4vp-op-auth/-/ssi-sdk.siopv2-oid4vp-op-auth-0.18.1-next.4.tgz#f7a00fc560c296bf048a5827ecfe4525493b5470" - integrity sha512-F2xWMpE9okoxui/RB8dYs7zwKSnvKqCvR1VLk7POfNBUwYwQvw+6rWwqwJ8xQMfkeqOa6txFledeMemjOi0qIA== +"@sphereon/ssi-sdk.siopv2-oid4vp-op-auth@0.18.2-unstable.35": + version "0.18.2-unstable.35" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.siopv2-oid4vp-op-auth/-/ssi-sdk.siopv2-oid4vp-op-auth-0.18.2-unstable.35.tgz#807bc218269fe2adac55da5da38668533c960d30" + integrity sha512-irlSznQwl87oHjJDawIs2uL+zJps+oZnAF5R0n9H2GpuHiVL+7k2WTMf9tAXuT4fjC2Bwfd7rGQHvufkIsY7jg== dependencies: - "@sphereon/did-auth-siop" "0.4.2" - "@sphereon/pex" "2.1.2" - "@sphereon/pex-models" "2.1.0" + "@sphereon/did-auth-siop" "0.6.0-unstable.8" + "@sphereon/pex" "^3.2.0" + "@sphereon/pex-models" "2.2.0" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-sdk.core" "0.18.1-next.4+d626709c" - "@sphereon/ssi-sdk.presentation-exchange" "0.18.1-next.4+d626709c" - "@sphereon/ssi-types" "0.18.1-next.4+d626709c" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.presentation-exchange" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" "@sphereon/wellknown-dids-client" "^0.1.3" "@veramo/core" "4.2.0" "@veramo/credential-w3c" "4.2.0" @@ -3392,10 +3822,10 @@ did-jwt-vc "3.1.3" uuid "^9.0.1" -"@sphereon/ssi-sdk.vc-handler-ld-local@0.18.1-next.4": - version "0.18.1-next.4" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-handler-ld-local/-/ssi-sdk.vc-handler-ld-local-0.18.1-next.4.tgz#5b744e450c56318bdadf67f1e918a8af9a472063" - integrity sha512-/4305Sz3mXBCIl6+pKK868vh1ql9yVLMqncMArzOkBnfboym9j2JfjGK1/ZvcTdE8W7Xu+o5UVWtRdwpdt2fKg== +"@sphereon/ssi-sdk.vc-handler-ld-local@0.18.2-unstable.35": + version "0.18.2-unstable.35" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-handler-ld-local/-/ssi-sdk.vc-handler-ld-local-0.18.2-unstable.35.tgz#d0203c98007f624c1fd6f86f0ecbd73c1085a78d" + integrity sha512-0Q0/Xl39rouTvZsaJDeC7bAssRsOCSPCKfQ/RZsk0kdazBVg5yb4YVZy9Npr/RSkTv4LsK5eCXrzoXsNYol1BA== dependencies: "@digitalcredentials/ed25519-signature-2020" "~3.0.2" "@digitalcredentials/ed25519-verification-key-2020" "^4.0.0" @@ -3409,12 +3839,12 @@ "@sphereon/isomorphic-webcrypto" "^2.4.0-unstable.4" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" "@sphereon/ssi-sdk-ext.key-utils" "0.15.0" - "@sphereon/ssi-sdk.agent-config" "0.18.1-next.4+d626709c" - "@sphereon/ssi-sdk.core" "0.18.1-next.4+d626709c" - "@sphereon/ssi-sdk.data-store" "0.18.1-next.4+d626709c" - "@sphereon/ssi-sdk.vc-status-list" "0.18.1-next.4+d626709c" - "@sphereon/ssi-sdk.vc-status-list-issuer-drivers" "0.18.1-next.4+d626709c" - "@sphereon/ssi-types" "0.18.1-next.4+d626709c" + "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.vc-status-list-issuer-drivers" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" "@transmute/credentials-context" "^0.7.0-unstable.81" "@transmute/ed25519-key-pair" "0.7.0-unstable.81" "@transmute/ed25519-signature-2018" "^0.7.0-unstable.81" @@ -3438,31 +3868,31 @@ jsonld "^4.0.1" jsonld-signatures "^7.0.0" -"@sphereon/ssi-sdk.vc-status-list-issuer-drivers@0.18.1-next.4+d626709c": - version "0.18.1-next.4" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list-issuer-drivers/-/ssi-sdk.vc-status-list-issuer-drivers-0.18.1-next.4.tgz#31a0c953758b01a093b489a6bbe3cc55bcba089a" - integrity sha512-g13733TAPSmQ/IRnf4zcClAdEOkU4dDXO0qs8CpkBHDBV1u/+530+MWoJ7nmzw03iYpPHb66BEUHIFUIZ3EMYw== +"@sphereon/ssi-sdk.vc-status-list-issuer-drivers@0.18.2-unstable.35+089ea379": + version "0.18.2-unstable.35" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list-issuer-drivers/-/ssi-sdk.vc-status-list-issuer-drivers-0.18.2-unstable.35.tgz#924eb0b75269d138aab6d715c3550a285b1f9e47" + integrity sha512-ddXLthbg3Z9oP6vZnhkVF4pQ5xqMUcJETPVlqC9AObxmbis0rQzLTBaT3NkOrNb9j669nAQfd91StITWCSyX8Q== dependencies: - "@sphereon/ssi-express-support" "0.18.1-next.4+d626709c" + "@sphereon/ssi-express-support" "0.18.2-unstable.35+089ea379" "@sphereon/ssi-sdk-ext.did-utils" "^0.15.0" - "@sphereon/ssi-sdk.agent-config" "0.18.1-next.4+d626709c" - "@sphereon/ssi-sdk.core" "0.18.1-next.4+d626709c" - "@sphereon/ssi-sdk.data-store" "0.18.1-next.4+d626709c" - "@sphereon/ssi-sdk.vc-status-list" "0.18.1-next.4+d626709c" - "@sphereon/ssi-types" "0.18.1-next.4+d626709c" + "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" "@sphereon/vc-status-list" "^7.0.0-next.0" "@veramo/core" "4.2.0" debug "^4.3.4" typeorm "^0.3.12" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk.vc-status-list@0.18.1-next.4+d626709c": - version "0.18.1-next.4" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list/-/ssi-sdk.vc-status-list-0.18.1-next.4.tgz#8b21a4b95d6fb39a737be22def05e63692994759" - integrity sha512-yxc+pl2c+x+v6Mf3VjenJLYvq3FekJTkoZI6h1xdfLmj6gTTbeEwLM1IjjdV2PMLNzefRyEAKW/N74Nenjx2Ww== +"@sphereon/ssi-sdk.vc-status-list@0.18.2-unstable.35+089ea379": + version "0.18.2-unstable.35" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list/-/ssi-sdk.vc-status-list-0.18.2-unstable.35.tgz#c62b56d043fe8de82ac6b9c9ed2fb2cc7196b943" + integrity sha512-8Io4Wy9Hm+tyD0kI5mdojvNyyb/1MjQGL/saTjAllhZJOECTFDwDaxBTOnBtJgCmrEQu9KELxtXoHQXH200Jfw== dependencies: "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-types" "0.18.1-next.4+d626709c" + "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" "@sphereon/vc-status-list" "7.0.0-next.0" "@veramo/core" "4.2.0" "@veramo/credential-status" "4.2.0" @@ -3470,12 +3900,12 @@ debug "^4.3.4" uint8arrays "^3.1.1" -"@sphereon/ssi-types@0.17.1", "@sphereon/ssi-types@0.17.2", "@sphereon/ssi-types@0.18.1-next.4", "@sphereon/ssi-types@0.18.1-next.4+d626709c", "@sphereon/ssi-types@^0.17.5", "@sphereon/ssi-types@^0.9.0": - version "0.18.1-next.4" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.18.1-next.4.tgz#a4d79371abcffff9c0c26c5887300550480f8967" - integrity sha512-qqLVTThdoxzlIuPz4XsmUE4gIkC7Fs46C5PEcsvtMBWcUCVI5/jpX48wCnx37epB+HpByGg/X086serLNNUf0g== +"@sphereon/ssi-types@0.17.1", "@sphereon/ssi-types@0.18.1", "@sphereon/ssi-types@0.18.2-unstable.35", "@sphereon/ssi-types@0.18.2-unstable.35+089ea379", "@sphereon/ssi-types@^0.18.1", "@sphereon/ssi-types@^0.9.0": + version "0.18.2-unstable.35" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.18.2-unstable.35.tgz#1e0953f982c716adf6c2af77f1946769d72f2880" + integrity sha512-aUdITv1N0l7PO4m5xgK9UHJ0u0BK5F5+JQb47HXRTc8x8INR6ADjYqHSw06DR6YwfpDCCcq/zY6Ga/vJYwwk8w== dependencies: - "@sd-jwt/core" "0.1.2-alpha.0" + "@sd-jwt/decode" "^0.2.0" jwt-decode "^3.1.2" "@sphereon/ui-components.core@0.1.3-unstable.88", "@sphereon/ui-components.core@0.1.3-unstable.88+92d8e95": @@ -3824,9 +4254,9 @@ redent "^3.0.0" "@testing-library/react-native@^12.3.1": - version "12.3.1" - resolved "https://registry.yarnpkg.com/@testing-library/react-native/-/react-native-12.3.1.tgz#7ac584711f214c7a1702fa4f637a9b3b22f0d093" - integrity sha512-nSd+trdQv8gbTSiAbjROVW9p7VZ6xhoy3qKy0q6vdnbzJCQlkKN2SzhZe92/evgu/aJZj575dajxuE37EcHA/Q== + version "12.4.3" + resolved "https://registry.yarnpkg.com/@testing-library/react-native/-/react-native-12.4.3.tgz#57cd6a88b289f19144558b5e97336b57101af3ec" + integrity sha512-WLE7VbbR5jZJQl3vfNK7Wt+IHnzhOxyu95Mr56EHmzH3XhC8DkrPVAnUq9asq/QWj4aGnymbinFx6zZys/WZmA== dependencies: jest-matcher-utils "^29.7.0" pretty-format "^29.7.0" @@ -3842,18 +4272,26 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== -"@transmute/compressable-bitstring@^0.7.0-unstable.81": +"@transmute/bls12381-key-pair@^0.7.0-unstable.2": version "0.7.0-unstable.81" - resolved "https://registry.yarnpkg.com/@transmute/compressable-bitstring/-/compressable-bitstring-0.7.0-unstable.81.tgz#267a738fa3f9a896483debed48778f2fe6b5a0e8" - integrity sha512-X2ppUWwq7FYEjz71Ml6/BU/J2Dp0cPKZ7ydSRxqTX7VLk8Ft26Plpnh3eTCx8+LGJKlkSoeeUl4taThfaI6leg== + resolved "https://registry.yarnpkg.com/@transmute/bls12381-key-pair/-/bls12381-key-pair-0.7.0-unstable.81.tgz#04db150b08ee885f812868fdb6ed7e7900839a4b" + integrity sha512-r0MIYw6MNr42AeYHSdbR5bJty9dpyTfuP8r7f45zZd5mvJkp/ryzDGu7JOQpeY+7VnzW/d9CVWTUmdrgq9oDqQ== + dependencies: + "@mattrglobal/bls12381-key-pair" "^1.0.0" + "@transmute/ld-key-pair" "^0.7.0-unstable.81" + +"@transmute/compressable-bitstring@^0.7.0-unstable.81": + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/compressable-bitstring/-/compressable-bitstring-0.7.0-unstable.82.tgz#6e02f49d5f18e84474790add4749c71ee5973859" + integrity sha512-+dOPvcVDi5LE9IKk1cAIqLOB8LzOaVmbUZAp4yAhqW/AmmXR7+xpmhfvgs86LwtIqEoYncXwUkKAkyOfwrLViA== dependencies: base64url "^3.0.1" pako "^2.0.3" -"@transmute/credentials-context@^0.7.0-unstable.67", "@transmute/credentials-context@^0.7.0-unstable.81": - version "0.7.0-unstable.81" - resolved "https://registry.yarnpkg.com/@transmute/credentials-context/-/credentials-context-0.7.0-unstable.81.tgz#321bb292878f7e85e4b772003c28b1fd99d08efc" - integrity sha512-TLXJkXwu+jscCVnAOuEmJYYbdaSaM6b2yk4R1g4T8gtTcTKts2G+KR5gE8A6W6QA5AuTZggwOWTxkISjErnYbw== +"@transmute/credentials-context@^0.7.0-unstable.67", "@transmute/credentials-context@^0.7.0-unstable.81", "@transmute/credentials-context@^0.7.0-unstable.82": + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/credentials-context/-/credentials-context-0.7.0-unstable.82.tgz#f2261f31187e6ebe156d3b99fddbe3a9712beb25" + integrity sha512-2cB6UcMKeEK6kqvl5Uhpoe5iUUAcVURlRHl9nVa/Xx2JymNHyBvyXi+CGjIwf/eEk7hsgMIwDfGqq5Mcnbk5cw== "@transmute/did-context@^0.6.1-unstable.25", "@transmute/did-context@^0.6.1-unstable.36": version "0.6.1-unstable.37" @@ -3861,9 +4299,17 @@ integrity sha512-p/QnG3QKS4218hjIDgdvJOFATCXsAnZKgy4egqRrJLlo3Y6OaDBg7cA73dixOwUPoEKob0K6rLIGcsCI/L1acw== "@transmute/did-context@^0.7.0-unstable.81": - version "0.7.0-unstable.81" - resolved "https://registry.yarnpkg.com/@transmute/did-context/-/did-context-0.7.0-unstable.81.tgz#93c667ed68781f880c423405502a3d14375ef588" - integrity sha512-i1gCVvas+nPXsAeJ4POnoSoO3gcYeIQHuTQFk3XyeZDKUtMdLxDmyrOZyWrOFZ/P5+actnnRspl9F93SpGtobA== + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/did-context/-/did-context-0.7.0-unstable.82.tgz#bd9f003f5f1355b23d778d674201f2b77a85ba2b" + integrity sha512-tAVzbkGvXNfCip12imBzicDSjVbRpiBT9Xz7FmxyEXq155CYnCandEL/o95tvUMmu8m89ggHtH4x5mQBR8GIJw== + +"@transmute/did-key-bls12381@0.3.0-unstable.10": + version "0.3.0-unstable.10" + resolved "https://registry.yarnpkg.com/@transmute/did-key-bls12381/-/did-key-bls12381-0.3.0-unstable.10.tgz#4b754ad6ffbcc8f729b4eec435f3e9ba2e39a1e6" + integrity sha512-ExSADdvDxrYeCx8RsKXZGMjJmHrOJ9vyYtziZUaJ97K/sn1uVlvIOTp9V4xHa6j9cT1wTzSqJ325euwGFeK+WQ== + dependencies: + "@transmute/bls12381-key-pair" "^0.7.0-unstable.2" + "@transmute/did-key-common" "^0.3.0-unstable.10" "@transmute/did-key-cipher@^0.2.1-unstable.42": version "0.2.1-unstable.42" @@ -3957,7 +4403,7 @@ "@transmute/ld-key-pair" "^0.7.0-unstable.2" "@transmute/x25519-key-pair" "^0.7.0-unstable.2" -"@transmute/ed25519-key-pair@0.7.0-unstable.81", "@transmute/ed25519-key-pair@^0.7.0-unstable.81": +"@transmute/ed25519-key-pair@0.7.0-unstable.81": version "0.7.0-unstable.81" resolved "https://registry.yarnpkg.com/@transmute/ed25519-key-pair/-/ed25519-key-pair-0.7.0-unstable.81.tgz#aa91769c1751aeea63e2488e6c8b17fe55974af8" integrity sha512-Jz3PhNe/2pMxfz5/6q7MizaWLSMUEzgI2Lc1UFEMIW59TjTkgbE9LZ5e+QK+fh59KWwYpUG4AFk6VGHBZgUCDA== @@ -3975,18 +4421,27 @@ "@transmute/ld-key-pair" "^0.6.1-unstable.37" "@transmute/x25519-key-pair" "^0.6.1-unstable.37" +"@transmute/ed25519-key-pair@^0.7.0-unstable.81", "@transmute/ed25519-key-pair@^0.7.0-unstable.82": + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/ed25519-key-pair/-/ed25519-key-pair-0.7.0-unstable.82.tgz#6dab673381236a50d1f3997c7427afd0a52d4406" + integrity sha512-ZPMlPXAzQ59ImUP5j0EPp05ZA7H3voM23+zWINZawd4tehTaUpyCXVBPyAyHscJ4isS/l+XZnnOnYcvl9+YrXg== + dependencies: + "@stablelib/ed25519" "^1.0.1" + "@transmute/ld-key-pair" "^0.7.0-unstable.82" + "@transmute/x25519-key-pair" "^0.7.0-unstable.82" + "@transmute/ed25519-signature-2018@^0.7.0-unstable.67", "@transmute/ed25519-signature-2018@^0.7.0-unstable.81": - version "0.7.0-unstable.81" - resolved "https://registry.yarnpkg.com/@transmute/ed25519-signature-2018/-/ed25519-signature-2018-0.7.0-unstable.81.tgz#1dc1b9115ef77d7e583c668423cafc8aab68b1df" - integrity sha512-qgDKvBuIFPRWmxydnQVNzdc0MttlN1s0NAgeEFpDGbL7SX9/9nnx/dC+5RGnrpu/EiShNKFhF4TBRq8HBmorsw== + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/ed25519-signature-2018/-/ed25519-signature-2018-0.7.0-unstable.82.tgz#4d60276bed15997008ed4efe7830df2021d94fdc" + integrity sha512-WvD+x7EpeacXEtOTmOQltSNdevwHJZ3Y53Yj8SZJ0CGzVKyqj3/F7wGvagbEUWxALe2rXrby5F6FPVS7mJwgCg== dependencies: - "@transmute/credentials-context" "^0.7.0-unstable.81" + "@transmute/credentials-context" "^0.7.0-unstable.82" "@transmute/ed25519-key-pair" "0.7.0-unstable.2" - "@transmute/jose-ld" "^0.7.0-unstable.81" + "@transmute/jose-ld" "^0.7.0-unstable.82" "@transmute/jsonld" "0.0.4" - "@transmute/security-context" "^0.7.0-unstable.81" + "@transmute/security-context" "^0.7.0-unstable.82" -"@transmute/jose-ld@0.7.0-unstable.81", "@transmute/jose-ld@^0.7.0-unstable.81": +"@transmute/jose-ld@0.7.0-unstable.81": version "0.7.0-unstable.81" resolved "https://registry.yarnpkg.com/@transmute/jose-ld/-/jose-ld-0.7.0-unstable.81.tgz#d8b47c103d832ea4da3c2001b2a267d6b7ba93d5" integrity sha512-xLwqoweaBjeuK9qvl8WZBPkwn0ubSgiaE0Vf6QuZgUZqwB7LhBI0wopUNFmINnbfuTfUbGuC4kdH1W+1HM445g== @@ -3998,7 +4453,19 @@ jose "^4.3.8" web-streams-polyfill "^3.0.3" -"@transmute/json-web-signature@0.7.0-unstable.81", "@transmute/json-web-signature@^0.7.0-unstable.67", "@transmute/json-web-signature@^0.7.0-unstable.81": +"@transmute/jose-ld@^0.7.0-unstable.81", "@transmute/jose-ld@^0.7.0-unstable.82": + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/jose-ld/-/jose-ld-0.7.0-unstable.82.tgz#6f4e261dd1eb25c53bbd94e4d07fee467fc02f23" + integrity sha512-FBDbb0bGs7Ssd1H6NXEXqzfF2cnIGRW2ggR13MaTeQR51CEX2lfWlf2fdioOZa0Bk1GZlmUtyEvhPTEjp302WQ== + dependencies: + "@peculiar/webcrypto" "^1.1.6" + "@stablelib/aes-kw" "^1.0.0" + "@stablelib/xchacha20poly1305" "^1.0.0" + base64url "^3.0.1" + jose "^4.3.8" + web-streams-polyfill "^3.0.3" + +"@transmute/json-web-signature@0.7.0-unstable.81": version "0.7.0-unstable.81" resolved "https://registry.yarnpkg.com/@transmute/json-web-signature/-/json-web-signature-0.7.0-unstable.81.tgz#a0c95e49982f1642ca3cf4e19c8909b2397f3da8" integrity sha512-RFC34CnF571dK/K8uRr8dLLZySgrAr5vhhMB2YgGEy51cWzgYeLuhJw6Pzmm67E/r4CAa+r7/+hqVUfgihkNXw== @@ -4010,17 +4477,29 @@ "@transmute/security-context" "^0.7.0-unstable.81" "@transmute/web-crypto-key-pair" "^0.7.0-unstable.81" +"@transmute/json-web-signature@^0.7.0-unstable.67", "@transmute/json-web-signature@^0.7.0-unstable.82": + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/json-web-signature/-/json-web-signature-0.7.0-unstable.82.tgz#17320a06349d2320be4636e320f9940c60064f80" + integrity sha512-Snku9yg5sN10zkSy678n7VnHZgd7s0EQmjRylhW+mg4n9aL1SXPSbmRx6wUXfdXe1RGY1oNfDd7R5WegZVg9ew== + dependencies: + "@transmute/ed25519-key-pair" "^0.7.0-unstable.82" + "@transmute/jose-ld" "^0.7.0-unstable.82" + "@transmute/jsonld" "0.0.4" + "@transmute/secp256k1-key-pair" "^0.7.0-unstable.82" + "@transmute/security-context" "^0.7.0-unstable.82" + "@transmute/web-crypto-key-pair" "^0.7.0-unstable.82" + "@transmute/jsonld-document-loader@^0.7.0-unstable.81": - version "0.7.0-unstable.81" - resolved "https://registry.yarnpkg.com/@transmute/jsonld-document-loader/-/jsonld-document-loader-0.7.0-unstable.81.tgz#73a3cd860defed76e1563b0c0a60d46f31c9b9db" - integrity sha512-+tEWebF16dSTHdgXRgNkwVmt3Z/Gs3NF810wv/eTkZku2bVrYU5/k19YvBs2O2OkeYj/yC+41bhKsJrNb/8DUw== + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/jsonld-document-loader/-/jsonld-document-loader-0.7.0-unstable.82.tgz#b3c8f3f2c9b0ee0e9632919c9222ef31647216c1" + integrity sha512-qJHxdd7hUao9qq2Xkb/lRGwIr01M8Y6UzrM+THbfCwaBnPzKGtX5ZKORsihRlvGagdy+8Crhwg+fpEXWwXZVkg== dependencies: factory.ts "^1.0.0" -"@transmute/jsonld-schema@^0.7.0-unstable.81": - version "0.7.0-unstable.81" - resolved "https://registry.yarnpkg.com/@transmute/jsonld-schema/-/jsonld-schema-0.7.0-unstable.81.tgz#b1c1d91fccaaa871f5bc05e33deb743458e599e9" - integrity sha512-RvYbFZ97H9SawL3o92aNmvDWMAV4mLyadVT7U9VaHUF7qiez+JrHdDJo/Pb9YfCzZ7WwnsB8imHnviRctIVZQg== +"@transmute/jsonld-schema@^0.7.0-unstable.82": + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/jsonld-schema/-/jsonld-schema-0.7.0-unstable.82.tgz#39bd2126600d44cf32a0639729ab9e74966736fc" + integrity sha512-WrPwYXLNvb5o8xg9yTb8PBiMvX5tyLOGPYDOuX7mlr/2HmAJyyplxprJEKCixmb817O06keU5jrkCwiYaAcyfg== dependencies: "@transmute/jsonld" "0.0.4" ajv "^8.6.1" @@ -4047,10 +4526,10 @@ resolved "https://registry.yarnpkg.com/@transmute/ld-key-pair/-/ld-key-pair-0.6.1-unstable.37.tgz#ffe8af071b4ea991a49c795724b93999f4e6c8af" integrity sha512-DcTpEruAQBfOd2laZkg3uCQ+67Y7dw2hsvo42NAQ5tItCIx5AClP7zccri7T2JUcfDUFaE32z/BLTMEKYt3XZQ== -"@transmute/ld-key-pair@^0.7.0-unstable.2", "@transmute/ld-key-pair@^0.7.0-unstable.81": - version "0.7.0-unstable.81" - resolved "https://registry.yarnpkg.com/@transmute/ld-key-pair/-/ld-key-pair-0.7.0-unstable.81.tgz#858655919f31dabaf5dac86f2535a98fcdbfd02e" - integrity sha512-GNfUEkWWCUUikxvLUgQssVSDRCw8x8ktYZD27ssoDtB9gp0oqQ5a9DxAWv8onH126F3Z4KGSSegmGWjkvgdL9g== +"@transmute/ld-key-pair@^0.7.0-unstable.2", "@transmute/ld-key-pair@^0.7.0-unstable.81", "@transmute/ld-key-pair@^0.7.0-unstable.82": + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/ld-key-pair/-/ld-key-pair-0.7.0-unstable.82.tgz#540bf28dcd83793ff23c1eca8a18c8fc2356a112" + integrity sha512-XWnVNCL1LeohldBLu7O12tc53rzdCYjZiaMrWvEH/sNpqnZBiNWAsdLWengXhF67LqAXWMwstfbCLNTPCD+EGg== "@transmute/lds-ecdsa-secp256k1-recovery2020@^0.0.7": version "0.0.7" @@ -4075,20 +4554,20 @@ jsonld "^3.2.0" serialize-error "^7.0.1" -"@transmute/linked-data-proof@^0.7.0-unstable.81": - version "0.7.0-unstable.81" - resolved "https://registry.yarnpkg.com/@transmute/linked-data-proof/-/linked-data-proof-0.7.0-unstable.81.tgz#777c1247c3616781228ed9bffa3e64dcf6e82a86" - integrity sha512-/WKu0yQyQXK9bYSLIf4VZkKbCZc0fHfIPsllKnvDtNNsohFDSvci5agyiKb2lLPXsP76xrHmmHgUNh/qbcYd8g== +"@transmute/linked-data-proof@^0.7.0-unstable.82": + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/linked-data-proof/-/linked-data-proof-0.7.0-unstable.82.tgz#59d849608fb9e7f17367d714a851af03ff111226" + integrity sha512-ZJHxRmPhTmWOg71wz6Thg6o338J7h8SNZ+5m0ja5f9O22603zBcLbq7WcpHcs4GzXazPBTlsow2hl7C8u2JmJg== dependencies: "@transmute/did-key-ed25519" "^0.3.0-unstable.5" serialize-error "^7.0.1" "@transmute/revocation-list-context@^0.7.0-unstable.81": - version "0.7.0-unstable.81" - resolved "https://registry.yarnpkg.com/@transmute/revocation-list-context/-/revocation-list-context-0.7.0-unstable.81.tgz#629294e4ec50a9d6799952b63cb78bcc773ffede" - integrity sha512-VwuIrI/9YWEz1FoBAC5LmIsgUa13K99K9WI7iyLmNGfxHud7RqxzG+GxoPiujIDjGxmy1gnR3lWdQG2eDwv0oA== + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/revocation-list-context/-/revocation-list-context-0.7.0-unstable.82.tgz#b0e119b1061b8dcad07e4538634b3abae2dcc79c" + integrity sha512-jJKG+D4Xzcd/irkV2calC0NUkyY6JEk541jFNM4j5/Iqiuw+CUUXJlMaR8A6D8mu0/Ho5SF00IPaWAwErDZYOA== -"@transmute/secp256k1-key-pair@0.7.0-unstable.81", "@transmute/secp256k1-key-pair@^0.7.0-unstable.2", "@transmute/secp256k1-key-pair@^0.7.0-unstable.81": +"@transmute/secp256k1-key-pair@0.7.0-unstable.81": version "0.7.0-unstable.81" resolved "https://registry.yarnpkg.com/@transmute/secp256k1-key-pair/-/secp256k1-key-pair-0.7.0-unstable.81.tgz#0da1189b9a94419dbd279f378d4629aa44997c7f" integrity sha512-kofomMOOLkdTOAV2bQAEZAC0REuiI/RDqxYJJg/qpXnguyGTtv5DVHD8UXmUDKJLJkAql1lbksfs/roYYVBN7g== @@ -4097,12 +4576,21 @@ "@transmute/ld-key-pair" "^0.7.0-unstable.81" secp256k1 "^4.0.2" +"@transmute/secp256k1-key-pair@^0.7.0-unstable.2", "@transmute/secp256k1-key-pair@^0.7.0-unstable.81", "@transmute/secp256k1-key-pair@^0.7.0-unstable.82": + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/secp256k1-key-pair/-/secp256k1-key-pair-0.7.0-unstable.82.tgz#8e8e839f672c66b3d836781e24e29ca887312174" + integrity sha512-X+txATKPpwodcr0B5TPvcsi2UnSrS3UFkrALa2ui0B1zNLj56pUVMJ0FdX9eHUKdP7t5tB9iE73Y7/8NWL6exA== + dependencies: + "@bitauth/libauth" "^1.18.1" + "@transmute/ld-key-pair" "^0.7.0-unstable.82" + secp256k1 "^4.0.2" + "@transmute/security-context@0.0.4-unstable.2": version "0.0.4-unstable.2" resolved "https://registry.yarnpkg.com/@transmute/security-context/-/security-context-0.0.4-unstable.2.tgz#3b10436037ac4d7bfa556a0115486567291ef18f" integrity sha512-4Z+GvyADU2ol78mrngn6zMHG7bvhEwCs2acNczavtwQR2S5Zkhg9P4ndeDA0PlOgZpaTQY6tnWp2XMcBKxXzhg== -"@transmute/security-context@0.7.0-unstable.81", "@transmute/security-context@^0.7.0-unstable.81": +"@transmute/security-context@0.7.0-unstable.81": version "0.7.0-unstable.81" resolved "https://registry.yarnpkg.com/@transmute/security-context/-/security-context-0.7.0-unstable.81.tgz#15bfd439f5b4e2c762b6205637eecfbbc09b58cb" integrity sha512-5y7N/LIGPl1LtSCWyAlkIK/nDofsxM+AV0GoXuIIXFfgN8jnP9vuCRaMxsUCnoNQ+Aihe0fVNH7PkEm5y9HlKg== @@ -4112,6 +4600,11 @@ resolved "https://registry.yarnpkg.com/@transmute/security-context/-/security-context-0.6.1-unstable.37.tgz#532b9238efd80dbaaa3e7dd663107cd925afadcc" integrity sha512-GtLmG65qlORrz/2S4I74DT+vA4+qXsFxrMr0cNOXjUqZBd/AW1PTrFnryLF9907BfoiD58HC9qb1WVGWjSlBYw== +"@transmute/security-context@^0.7.0-unstable.81", "@transmute/security-context@^0.7.0-unstable.82": + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/security-context/-/security-context-0.7.0-unstable.82.tgz#701e0304f827e0f254a609208b6e68ed7f1c9c3a" + integrity sha512-Hih4A3iatK8daSREtuF/y9hGnrLZGRTfBYBUlUeaGEoCrcnhNcZrn8EQmW2dqj/7VZ2W5ResxQLPljA9pVJt5w== + "@transmute/vc-status-rl-2020@0.7.0-unstable.81": version "0.7.0-unstable.81" resolved "https://registry.yarnpkg.com/@transmute/vc-status-rl-2020/-/vc-status-rl-2020-0.7.0-unstable.81.tgz#1ece2158a644d758a8209dfd341f67f754d0bfbd" @@ -4127,18 +4620,18 @@ "@transmute/vc.js" "^0.7.0-unstable.81" "@transmute/vc.js@^0.7.0-unstable.81": - version "0.7.0-unstable.81" - resolved "https://registry.yarnpkg.com/@transmute/vc.js/-/vc.js-0.7.0-unstable.81.tgz#cb651ed546355b51cedfde6ccdce6716dc7de951" - integrity sha512-nzp90Mlg9EOMuz1R1IUrTBFLHibRLuY6N2/VAhOIGswJn2VPenxzu57I+bDxiVzUzMcuZxnaKp56u55lFvt2jQ== + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/vc.js/-/vc.js-0.7.0-unstable.82.tgz#fde93055784f9abf9571c1e9276964014b973027" + integrity sha512-P/QGvnybAhtz4jQiX38bPXquTE+mjxbXsE60cDn41TdijiUNK8Ge3c1jmLKFMqrwDRaK1aVqJWBxtMYvQ+0QMw== dependencies: "@transmute/did-key-ed25519" "^0.3.0-unstable.5" - "@transmute/json-web-signature" "^0.7.0-unstable.81" + "@transmute/json-web-signature" "^0.7.0-unstable.82" "@transmute/jsonld" "0.0.4" - "@transmute/jsonld-schema" "^0.7.0-unstable.81" - "@transmute/linked-data-proof" "^0.7.0-unstable.81" + "@transmute/jsonld-schema" "^0.7.0-unstable.82" + "@transmute/linked-data-proof" "^0.7.0-unstable.82" moment "^2.29.1" -"@transmute/web-crypto-key-pair@0.7.0-unstable.81", "@transmute/web-crypto-key-pair@^0.7.0-unstable.81": +"@transmute/web-crypto-key-pair@0.7.0-unstable.81": version "0.7.0-unstable.81" resolved "https://registry.yarnpkg.com/@transmute/web-crypto-key-pair/-/web-crypto-key-pair-0.7.0-unstable.81.tgz#2611cd6c7b8064128ae3388b5640418337d7b69c" integrity sha512-oTHub0iFdwJdugQxohcuG1CZaxfuSUPisDkPsxaEHGEOU9+hBBym2Ugr3ZX9H+nT29UNXPlTKNKsSxV4UCtc5w== @@ -4147,6 +4640,15 @@ "@transmute/ld-key-pair" "^0.7.0-unstable.81" big-integer "^1.6.48" +"@transmute/web-crypto-key-pair@^0.7.0-unstable.81", "@transmute/web-crypto-key-pair@^0.7.0-unstable.82": + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/web-crypto-key-pair/-/web-crypto-key-pair-0.7.0-unstable.82.tgz#d0b13db1d63956469b20f6d2336bfb0a4159314e" + integrity sha512-xhaFpW/jcYgmOZanBVkm034YX728ukVVPO0Bb53d5IcL5MiMSWjPDQfhOyX8+EZfa7rSNDOAi6zCsZMggtB9fg== + dependencies: + "@peculiar/webcrypto" "^1.1.6" + "@transmute/ld-key-pair" "^0.7.0-unstable.82" + big-integer "^1.6.48" + "@transmute/x25519-key-pair@^0.6.1-unstable.37": version "0.6.1-unstable.37" resolved "https://registry.yarnpkg.com/@transmute/x25519-key-pair/-/x25519-key-pair-0.6.1-unstable.37.tgz#d51fe84d2a8079781e1dfbc2c032e8c37c5c2d9a" @@ -4155,13 +4657,13 @@ "@stablelib/x25519" "^1.0.0" "@transmute/ld-key-pair" "^0.6.1-unstable.37" -"@transmute/x25519-key-pair@^0.7.0-unstable.1", "@transmute/x25519-key-pair@^0.7.0-unstable.2", "@transmute/x25519-key-pair@^0.7.0-unstable.81": - version "0.7.0-unstable.81" - resolved "https://registry.yarnpkg.com/@transmute/x25519-key-pair/-/x25519-key-pair-0.7.0-unstable.81.tgz#e494777831c39a1adfefb16c16ece0556d2cfd34" - integrity sha512-cr/yjSP4ErZMKwoU/scqkfKL63AJupE27xakCHZVEfGzQChQH2RDXsNDGCXxsf2+DGfayGBhxayCXRdOcvvzng== +"@transmute/x25519-key-pair@^0.7.0-unstable.1", "@transmute/x25519-key-pair@^0.7.0-unstable.2", "@transmute/x25519-key-pair@^0.7.0-unstable.81", "@transmute/x25519-key-pair@^0.7.0-unstable.82": + version "0.7.0-unstable.82" + resolved "https://registry.yarnpkg.com/@transmute/x25519-key-pair/-/x25519-key-pair-0.7.0-unstable.82.tgz#0be791d05aec261b471fd7974b7a9ca35ac399a6" + integrity sha512-y4lPzk/SY/Cy1dUCa17ES3kqvShNQwevTO16dvbuevu6YcTYBAdSCYvW9JL+ppFqPYI5NSDPUwT6kkd4wNWmsA== dependencies: "@stablelib/x25519" "^1.0.0" - "@transmute/ld-key-pair" "^0.7.0-unstable.81" + "@transmute/ld-key-pair" "^0.7.0-unstable.82" "@trust/keyto@2.0.0-alpha1": version "2.0.0-alpha1" @@ -4216,9 +4718,9 @@ integrity sha512-jE58snEKBd9DXfyR4+ssZmYJ/W2mOSnNrvljR0aLyQJL9JKX6vlWELHkRjb3HBbcM9Uy0hZGijXbqEAjOERW2A== "@types/babel__core@^7.1.14": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.2.tgz#215db4f4a35d710256579784a548907237728756" - integrity sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== dependencies: "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" @@ -4227,122 +4729,122 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.5" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.5.tgz#281f4764bcbbbc51fdded0f25aa587b4ce14da95" - integrity sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w== + version "7.6.8" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" + integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.4.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.2.tgz#843e9f1f47c957553b0c374481dc4772921d6a6b" - integrity sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ== + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.2.tgz#4ddf99d95cfdd946ff35d2b65c978d9c9bf2645d" - integrity sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" + integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== dependencies: "@babel/types" "^7.20.7" "@types/base16@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/base16/-/base16-1.0.3.tgz#b90f8363bab3b02f4bf848ca6b120ace2e810201" - integrity sha512-rjrIWFr73ylMjEQuU1OQjkoIDcLR2/dIwiopZe2S5ASo5eoSYBxaAnGtwTUhWc5oWefQXxHRFmGDelYR5yMcgA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/base16/-/base16-1.0.5.tgz#9a7df8eed525c6968d254dada2a2f653a28e73f6" + integrity sha512-OzOWrTluG9cwqidEzC/Q6FAmIPcnZfm8BFRlIx0+UIUqnuAmi5OS88O0RpT3Yz6qdmqObvUhasrbNsCofE4W9A== "@types/bn.js@*": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.2.tgz#162f5238c46f4bcbac07a98561724eca1fcf0c5e" - integrity sha512-dkpZu0szUtn9UXTmw+e0AJFd4D2XAxDnsCLdc05SfqpqzPEBft8eQr8uaFitfo/dUUOZERaLec2hHMG87A4Dxg== + version "5.1.5" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.5.tgz#2e0dacdcce2c0f16b905d20ff87aedbc6f7b4bf0" + integrity sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A== dependencies: "@types/node" "*" "@types/debug@^4.1.7": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.9.tgz#906996938bc672aaf2fb8c0d3733ae1dda05b005" - integrity sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow== + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== dependencies: "@types/ms" "*" "@types/elliptic@^6.4.14": - version "6.4.15" - resolved "https://registry.yarnpkg.com/@types/elliptic/-/elliptic-6.4.15.tgz#992ae323fd04ab03d884da7122e5dac1665c75ff" - integrity sha512-tW9Z/mrlymYEbx/WWcO/Kkly0VxqPNaf/p3KcZTYKI282ZX+50efZvY/p6FoMuTpFq+QMyABQNfs6OXvdmVUhQ== + version "6.4.18" + resolved "https://registry.yarnpkg.com/@types/elliptic/-/elliptic-6.4.18.tgz#bc96e26e1ccccbabe8b6f0e409c85898635482e1" + integrity sha512-UseG6H5vjRiNpQvrhy4VF/JXdA3V/Fp5amvveaL+fs28BZ6xIKJBPnUPRlEaZpysD9MbpfaLi8lbl7PGUAkpWw== dependencies: "@types/bn.js" "*" "@types/eslint-scope@^3.7.3": - version "3.7.5" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.5.tgz#e28b09dbb1d9d35fdfa8a884225f00440dfc5a3e" - integrity sha512-JNvhIEyxVW6EoMIFIvj93ZOywYFatlpu9deeH6eSx6PE3WHYvHaQtmHmQeNw7aA81bYGBPPQqdtBm6b1SsQMmA== + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.44.3" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.3.tgz#96614fae4875ea6328f56de38666f582d911d962" - integrity sha512-iM/WfkwAhwmPff3wZuPLYiHX18HI24jU8k1ZSH7P8FHwxTjZ2P6CoX2wnF43oprR+YXJM6UUxATkNvyv/JHd+g== + version "8.56.2" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.2.tgz#1c72a9b794aa26a8b94ad26d5b9aa51c8a6384bb" + integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*", "@types/estree@^1.0.0": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.2.tgz#ff02bc3dc8317cd668dfec247b750ba1f1d62453" - integrity sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/graceful-fs@^4.1.3": - version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.7.tgz#30443a2e64fd51113bc3e2ba0914d47109695e2a" - integrity sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw== + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== dependencies: "@types/node" "*" "@types/hammerjs@^2.0.36": - version "2.0.42" - resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.42.tgz#d7a53edbc51b2c13a9a759c45d7b5e61243d7dba" - integrity sha512-Xxk14BrwHnGi0xlURPRb+Y0UNn2w3cTkeFm7pKMsYOaNgH/kabbJLhcBoNIodwsbTz7Z8KcWjtDvlGH0nc0U9w== + version "2.0.45" + resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.45.tgz#ffa764bb68a66c08db6efb9c816eb7be850577b1" + integrity sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ== "@types/hoist-non-react-statics@*", "@types/hoist-non-react-statics@^3.3.0": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#dc1e9ded53375d37603c479cc12c693b0878aa2a" - integrity sha512-YIQtIg4PKr7ZyqNPZObpxfHsHEmuB8dXCxd6qVcGuQVDK2bpsF7bYNnBJ4Nn7giuACZg+WewExgrtAJ3XnA4Xw== + version "3.3.5" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" + integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== dependencies: "@types/react" "*" hoist-non-react-statics "^3.3.0" "@types/i18n-js@^3.8.2": - version "3.8.5" - resolved "https://registry.yarnpkg.com/@types/i18n-js/-/i18n-js-3.8.5.tgz#ce0e29611e5e0e00998b764e8c55cc4a4e48cdf6" - integrity sha512-6LlMVfkAW8gwcgxIRjxuWxjhD+hw4Mj2VC609FpYCG5n8usb2GE2xbKsEQXWmAIe6LBN2OOw7HnSjZqMDHVtDw== + version "3.8.9" + resolved "https://registry.yarnpkg.com/@types/i18n-js/-/i18n-js-3.8.9.tgz#074d1389539d2db992e6afd7eb379aa02929ef93" + integrity sha512-bSxgya4x5O+x+QhfCGckiDDE+17XGPp1TNBgBA/vfF5EwdiZC70F4cKG5QK2v44+v62oY7/t/InreRhxskulcA== "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== "@types/istanbul-lib-report@*": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#412e0725ef41cde73bfa03e0e833eaff41e0fd63" - integrity sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ== + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz#edc8e421991a3b4df875036d381fc0a5a982f549" - integrity sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A== + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== dependencies: "@types/istanbul-lib-report" "*" "@types/jest@^29.2.1": - version "29.5.5" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.5.tgz#727204e06228fe24373df9bae76b90f3e8236a2a" - integrity sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg== + version "29.5.11" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.11.tgz#0c13aa0da7d0929f078ab080ae5d4ced80fa2f2c" + integrity sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ== dependencies: expect "^29.0.0" pretty-format "^29.0.0" @@ -4357,9 +4859,9 @@ parse5 "^7.0.0" "@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.13" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.13.tgz#02c24f4363176d2d18fc8b70b9f3c54aba178a85" - integrity sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ== + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/json5@^0.0.29": version "0.0.29" @@ -4367,51 +4869,53 @@ integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/lodash.memoize@^4.1.6": - version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/lodash.memoize/-/lodash.memoize-4.1.7.tgz#aff94ab32813c557cbc1104e127030e3d60a3b27" - integrity sha512-lGN7WeO4vO6sICVpf041Q7BX/9k1Y24Zo3FY0aUezr1QlKznpjzsDk3T3wvH8ofYzoK0QupN9TWcFAFZlyPwQQ== + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/lodash.memoize/-/lodash.memoize-4.1.9.tgz#9f8912d39b6e450c0d342a2b74c99d331bf2016b" + integrity sha512-glY1nQuoqX4Ft8Uk+KfJudOD7DQbbEDF6k9XpGncaohW3RW4eSWBlx6AA0fZCrh40tZcQNH4jS/Oc59J6Eq+aw== dependencies: "@types/lodash" "*" "@types/lodash@*", "@types/lodash@^4.14.178": - version "4.14.199" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.199.tgz#c3edb5650149d847a277a8961a7ad360c474e9bf" - integrity sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg== + version "4.14.202" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8" + integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== "@types/ms@*": - version "0.7.32" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.32.tgz#f6cd08939ae3ad886fcc92ef7f0109dacddf61ab" - integrity sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g== + version "0.7.34" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" + integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== "@types/node@*": - version "20.8.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.0.tgz#10ddf0119cf20028781c06d7115562934e53f745" - integrity sha512-LzcWltT83s1bthcvjBmiBvGJiiUe84NWRHkw+ZV6Fr41z2FbIzvc815dk2nQ3RAKMuN2fkenM/z3Xv2QzEpYxQ== + version "20.11.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.5.tgz#be10c622ca7fcaa3cf226cf80166abc31389d86e" + integrity sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w== + dependencies: + undici-types "~5.26.4" "@types/prop-types@*": - version "15.7.7" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.7.tgz#f9361f7b87fd5d8188b2c998db0a1f47e9fb391a" - integrity sha512-FbtmBWCcSa2J4zL781Zf1p5YUBXQomPEcep9QZCfRfQgTxz3pJWiDFLebohZ9fFntX5ibzOkSsrJ0TEew8cAog== + version "15.7.11" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" + integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== "@types/q@^1.5.1": - version "1.5.6" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.6.tgz#a6edffe8283910e46dc7a573621f928e6b47fa56" - integrity sha512-IKjZ8RjTSwD4/YG+2gtj7BPFRB/lNbWKTiSj3M7U/TD2B7HfYCxvp2Zz6xA2WIY7pAuL1QOUPw8gQRbUrrq4fQ== + version "1.5.8" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.8.tgz#95f6c6a08f2ad868ba230ead1d2d7f7be3db3837" + integrity sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw== "@types/react-native-material-ripple@^0.9.1": - version "0.9.3" - resolved "https://registry.yarnpkg.com/@types/react-native-material-ripple/-/react-native-material-ripple-0.9.3.tgz#db1744ba004d29cf1ac10bf644cebb1459bac018" - integrity sha512-n8rN2GlVIS/uDiJouri+R0diMcEg1SM5ipnKgqgysdRi/+sgAbOG390Euf2rx5hbAFLF9jAG6xVUOOhdOFxxZA== + version "0.9.6" + resolved "https://registry.yarnpkg.com/@types/react-native-material-ripple/-/react-native-material-ripple-0.9.6.tgz#0d301c15d9c1dd74809117a6b47c4f9b7a63d580" + integrity sha512-4rIu/tAMHejFN9jyMNrknO8OOJVSEQJK07/8BPj61wkLaCesy3nPsaKF0ASCvLTtQ6sdOPI1sRQjSE/euHO/YQ== dependencies: "@types/react" "*" - "@types/react-native" "*" + react-native "*" "@types/react-native-share-menu@^5.0.2": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@types/react-native-share-menu/-/react-native-share-menu-5.0.3.tgz#e3dec22f3f5dab82a323b4fcbde26356da92e1b7" - integrity sha512-ORhlEcuh7FkwgpVhAhUUZocd9MZniFdyXesw+DMgrMcKzuYel7Ko3Kcix5sga9Jdfxr16Tl+T430tiNhJuRccw== + version "5.0.5" + resolved "https://registry.yarnpkg.com/@types/react-native-share-menu/-/react-native-share-menu-5.0.5.tgz#790c635ed991fb1541abce078c3d326369f204d3" + integrity sha512-RhJO1UYSbS9HAjJdbpkSs7seXUopuE8O7dXNFweo0bnA/zrUamggLhCKzBmYwyYQQ5D2NPC69G3eBI44gQN5MA== -"@types/react-native@*", "@types/react-native@0.71.3", "@types/react-native@^0.70": +"@types/react-native@0.71.3", "@types/react-native@^0.70": version "0.71.3" resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.71.3.tgz#537f669ed6b38b5ae47444bd9d253c4cff23bed7" integrity sha512-0Uqw1YZ0qbVla0MMWFTANFm6W8KYWNvGQmYfucdecbXivLMcQ2v4PovuYFKr7bE6Bc5nDCUEaga962Y8gcDF7A== @@ -4419,9 +4923,9 @@ "@types/react" "*" "@types/react-redux@^7.1.18", "@types/react-redux@^7.1.20": - version "7.1.27" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.27.tgz#1afb31f7354bf787e162c10ff3fa19bafa9e6b57" - integrity sha512-xj7d9z32p1K/eBmO+OEy+qfaWXtcPlN8f1Xk3Ne0p/ZRQ867RI5bQ/bpBtxbqU1AHNhKJSgGvld/P2myU2uYkg== + version "7.1.33" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.33.tgz#53c5564f03f1ded90904e3c90f77e4bd4dc20b15" + integrity sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg== dependencies: "@types/hoist-non-react-statics" "^3.3.0" "@types/react" "*" @@ -4429,9 +4933,9 @@ redux "^4.0.0" "@types/react-test-renderer@^18.0.0": - version "18.0.3" - resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-18.0.3.tgz#67922bf5e5f0096581b1efd67dcdeabdd400cfea" - integrity sha512-4wcNLnY6nIT+L6g94CpzL4CXX2P18JvKPU9CDlaHr3DnbP3GiaQLhDotJqjWlVqOcE4UhLRjp0MtxqwuNKONnA== + version "18.0.7" + resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-18.0.7.tgz#2cfe657adb3688cdf543995eceb2e062b5a68728" + integrity sha512-1+ANPOWc6rB3IkSnElhjv6VLlKg2dSv/OWClUyZimbLsQyBn8Js9Vtdsi3UICJ2rIQ3k2la06dkB+C92QfhKmg== dependencies: "@types/react" "*" @@ -4445,76 +4949,76 @@ csstype "^3.0.2" "@types/scheduler@*": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.4.tgz#fedc3e5b15c26dc18faae96bf1317487cb3658cf" - integrity sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ== + version "0.16.8" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" + integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== "@types/semver@^7.3.12": - version "7.5.3" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.3.tgz#9a726e116beb26c24f1ccd6850201e1246122e04" - integrity sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw== + version "7.5.6" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339" + integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== "@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== "@types/styled-components-react-native@^5.1.2": - version "5.2.3" - resolved "https://registry.yarnpkg.com/@types/styled-components-react-native/-/styled-components-react-native-5.2.3.tgz#5aab01b418220ecf519c8fc680c45e7f9cd70ee2" - integrity sha512-LlLf0q4a20LGkABcRcE7xLmX67g3S9gCK9/IN/LJ9QzCQY7m8x9zsTpD0uxNovHUtn/6xjbOGUZ5+oz8fi8+Ag== + version "5.2.5" + resolved "https://registry.yarnpkg.com/@types/styled-components-react-native/-/styled-components-react-native-5.2.5.tgz#224ff6b7a49b73d2c2563c5317a3e61da3f1fb87" + integrity sha512-hDYioy4gAusO9NJI0n1e0Dwne4zofRVjou8i+FdNNz4vOG/iEBS99Rl87ybytjx/WD3NXqZQJ5g98AA+ZW7JKA== dependencies: "@types/react" "*" "@types/react-native" "^0.70" "@types/styled-components" "*" "@types/styled-components@*", "@types/styled-components@^5.1.15": - version "5.1.28" - resolved "https://registry.yarnpkg.com/@types/styled-components/-/styled-components-5.1.28.tgz#3b86c4d373924ff6976de788843cab445d9ab15b" - integrity sha512-nu0VKNybkjvUqJAXWtRqKd7j3iRUl8GbYSTvZNuIBJcw/HUp1Y4QUXNLlj7gcnRV/t784JnHAlvRnSnE3nPbJA== + version "5.1.34" + resolved "https://registry.yarnpkg.com/@types/styled-components/-/styled-components-5.1.34.tgz#4107df8ef8a7eaba4fa6b05f78f93fba4daf0300" + integrity sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA== dependencies: "@types/hoist-non-react-statics" "*" "@types/react" "*" csstype "^3.0.2" "@types/tough-cookie@*": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.3.tgz#3d06b6769518450871fbc40770b7586334bdfd90" - integrity sha512-THo502dA5PzG/sfQH+42Lw3fvmYkceefOspdCwpHRul8ik2Jv1K8I5OZz1AT3/rs46kwgMCe9bSBmDLYkkOMGg== + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== "@types/uuid@^9.0.6": - version "9.0.6" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.6.tgz#c91ae743d8344a54b2b0c691195f5ff5265f6dfb" - integrity sha512-BT2Krtx4xaO6iwzwMFUYvWBWkV2pr37zD68Vmp1CDV196MzczBRxuEpD6Pr395HAgebC/co7hOphs53r8V7jew== + version "9.0.7" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.7.tgz#b14cebc75455eeeb160d5fe23c2fcc0c64f724d8" + integrity sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g== -"@types/validator@^13.7.10": - version "13.11.2" - resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.11.2.tgz#a2502325a3c0bd29f36dbac3b763223edd801e17" - integrity sha512-nIKVVQKT6kGKysnNt+xLobr+pFJNssJRi2s034wgWeFBUx01fI8BeHTW2TcRp7VcFu9QCYG8IlChTuovcm0oKQ== +"@types/validator@^13.11.8": + version "13.11.8" + resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.11.8.tgz#bb1162ec0fe6f87c95ca812f15b996fcc5e1e2dc" + integrity sha512-c/hzNDBh7eRF+KbCf+OoZxKbnkpaK/cKp9iLQWqB7muXtM+MtL9SUUH8vCFcLn6dH1Qm05jiexK0ofWY7TfOhQ== "@types/yargs-parser@*": - version "21.0.1" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.1.tgz#07773d7160494d56aa882d7531aac7319ea67c3b" - integrity sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ== + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^15.0.0": - version "15.0.16" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.16.tgz#258009dc52907e8f03041eb64ffdac297ba4b208" - integrity sha512-2FeD5qezW3FvLpZ0JpfuaEWepgNLl9b2gQYiz/ce0NhoB1W/D+VZu98phITXkADYerfr/jb7JcDcVhITsc9bwg== + version "15.0.19" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.19.tgz#328fb89e46109ecbdb70c295d96ff2f46dfd01b9" + integrity sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA== dependencies: "@types/yargs-parser" "*" "@types/yargs@^16.0.0": - version "16.0.6" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.6.tgz#cc0c63684d68d23498cf0b5f32aa4c3fb437c638" - integrity sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A== + version "16.0.9" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.9.tgz#ba506215e45f7707e6cbcaf386981155b7ab956e" + integrity sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA== dependencies: "@types/yargs-parser" "*" "@types/yargs@^17.0.8": - version "17.0.26" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.26.tgz#388e5002a8b284ad7b4599ba89920a6d74d8d79a" - integrity sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw== + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== dependencies: "@types/yargs-parser" "*" @@ -4602,6 +5106,11 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + "@urql/core@2.3.6": version "2.3.6" resolved "https://registry.yarnpkg.com/@urql/core/-/core-2.3.6.tgz#ee0a6f8fde02251e9560c5f17dce5cd90f948552" @@ -4611,9 +5120,9 @@ wonka "^4.0.14" "@urql/core@>=2.3.1": - version "4.1.3" - resolved "https://registry.yarnpkg.com/@urql/core/-/core-4.1.3.tgz#8b61f015425f9c96e8e9368d071d3f663a2bd926" - integrity sha512-Wapa58olpEJtZzSEuZNDxzBxmOmHuivG6Hb/QPc6HjHfCJ6f36gnlWc9a9TsC8Vddle+6PsS6+quMMTuj+bj7A== + version "4.2.3" + resolved "https://registry.yarnpkg.com/@urql/core/-/core-4.2.3.tgz#f956e8a33c4bd055c0c5151491843dd46d737f0f" + integrity sha512-DJ9q9+lcs5JL8DcU2J3NqsgeXYJva+1+Qt8HU94kzTPqVOIRRA7ouvy4ksUfPY+B5G2PQ+vLh+JJGyZCNXv0cg== dependencies: "@0no-co/graphql.web" "^1.0.1" wonka "^6.3.2" @@ -5160,25 +5669,15 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-walk@^8.0.2: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn-walk@^8.1.1: - version "8.3.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.0.tgz#2097665af50fd0cf7a2dfccd2b9368964e66540f" - integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA== - -acorn@^8.1.0, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" - integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== +acorn-walk@^8.0.2, acorn-walk@^8.1.1: + version "8.3.2" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== -acorn@^8.4.1: - version "8.11.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" - integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== +acorn@^8.1.0, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== aes-js@3.0.0: version "3.0.0" @@ -5219,7 +5718,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.12.4, ajv@^6.12.5, ajv@^8.0.0, ajv@^8.10.0, ajv@^8.12.0, ajv@^8.6.1: +ajv@^6.12.4, ajv@^6.12.5, ajv@^8.0.0, ajv@^8.12.0, ajv@^8.6.1: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -5291,6 +5790,11 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + any-promise@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" @@ -5324,14 +5828,6 @@ application-config-path@^0.1.0: resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== -are-we-there-yet@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" - integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - are-we-there-yet@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" @@ -5395,7 +5891,7 @@ array-flatten@1.1.1: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== -array-includes@^3.1.6: +array-includes@^3.1.6, array-includes@^3.1.7: version "3.1.7" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== @@ -5411,7 +5907,7 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.findlastindex@^1.2.2: +array.prototype.findlastindex@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== @@ -5422,7 +5918,7 @@ array.prototype.findlastindex@^1.2.2: es-shim-unscopables "^1.0.0" get-intrinsic "^1.2.1" -array.prototype.flat@^1.3.1: +array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== @@ -5432,7 +5928,7 @@ array.prototype.flat@^1.3.1: es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -array.prototype.flatmap@^1.3.1: +array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== @@ -5537,9 +6033,9 @@ async-limiter@~1.0.0: integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== async@^3.2.2: - version "3.2.4" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== asynciterator.prototype@^1.0.0: version "1.0.0" @@ -5643,29 +6139,29 @@ babel-plugin-module-resolver@^4.1.0: reselect "^4.0.0" resolve "^1.13.1" -babel-plugin-polyfill-corejs2@^0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz#8097b4cb4af5b64a1d11332b6fb72ef5e64a054c" - integrity sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg== +babel-plugin-polyfill-corejs2@^0.4.7: + version "0.4.8" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz#dbcc3c8ca758a290d47c3c6a490d59429b0d2269" + integrity sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.4.2" + "@babel/helper-define-polyfill-provider" "^0.5.0" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.8.3: - version "0.8.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.4.tgz#1fac2b1dcef6274e72b3c72977ed8325cb330591" - integrity sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg== +babel-plugin-polyfill-corejs3@^0.8.7: + version "0.8.7" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz#941855aa7fdaac06ed24c730a93450d2b2b76d04" + integrity sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA== dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.2" - core-js-compat "^3.32.2" + "@babel/helper-define-polyfill-provider" "^0.4.4" + core-js-compat "^3.33.1" -babel-plugin-polyfill-regenerator@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz#80d0f3e1098c080c8b5a65f41e9427af692dc326" - integrity sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA== +babel-plugin-polyfill-regenerator@^0.5.4: + version "0.5.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz#8b0c8fc6434239e5d7b8a9d1f832bb2b0310f06a" + integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.2" + "@babel/helper-define-polyfill-provider" "^0.5.0" babel-plugin-react-native-web@~0.18.10: version "0.18.12" @@ -5688,6 +6184,13 @@ babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf" integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ== +babel-plugin-transform-flow-enums@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz#d1d0cc9bdc799c850ca110d0ddc9f21b9ec3ef25" + integrity sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ== + dependencies: + "@babel/plugin-syntax-flow" "^7.12.1" + babel-preset-current-node-syntax@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" @@ -5841,9 +6344,14 @@ better-opn@~3.0.2: open "^8.0.4" big-integer@1.6.x, big-integer@^1.6.48: - version "1.6.51" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== + version "1.6.52" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85" + integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg== + +bigint-mod-arith@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/bigint-mod-arith/-/bigint-mod-arith-3.3.1.tgz#8ed33dc9f7886e552a7d47c239e051836e74cfa8" + integrity sha512-pX/cYW3dCa87Jrzv6DAr8ivbbJRzEX5yGhdt8IutnX/PCIXfpx+mabWNK/M8qqh+zQ0J3thftUBHW0ByuUlG0w== bignumber.js@^9.0.0, bignumber.js@^9.0.1: version "9.1.2" @@ -5869,7 +6377,7 @@ bitcoin-ts@^1.14.2: resolved "https://registry.yarnpkg.com/bitcoin-ts/-/bitcoin-ts-1.15.2.tgz#51ff4c8134f43f3f9e38515a18348795c991ed8d" integrity sha512-N5cjC+PjAuTvU3mMcO9aZI5w6lseHickKh6tX6n5p89i2rrUbhgq0KHeOOCYNIbnFcemjGea8uuSXMFBRDl7NQ== -bl@^4.1.0: +bl@^4.0.3, bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== @@ -6024,14 +6532,14 @@ browserify-aes@^1.0.6: inherits "^2.0.1" safe-buffer "^5.0.1" -browserslist@^4.14.5, browserslist@^4.21.10, browserslist@^4.21.9: - version "4.22.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" - integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== +browserslist@^4.14.5, browserslist@^4.22.2: + version "4.22.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== dependencies: - caniuse-lite "^1.0.30001541" - electron-to-chromium "^1.4.535" - node-releases "^2.0.13" + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" update-browserslist-db "^1.0.13" bs-logger@0.x: @@ -6147,13 +6655,14 @@ cacache@^15.2.0, cacache@^15.3.0: tar "^6.0.2" unique-filename "^1.1.1" -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" caller-callsite@^2.0.0: version "2.0.0" @@ -6208,10 +6717,10 @@ camelize@^1.0.0: resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== -caniuse-lite@^1.0.30001541: - version "1.0.30001541" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001541.tgz#b1aef0fadd87fb72db4dcb55d220eae17b81cdb1" - integrity sha512-bLOsqxDgTqUBkzxbNlSBt8annkDpQB9NdzdTbO2ooJ+eC/IQcvDspDc058g84ejCelF7vHUx57KIOjEecOHXaw== +caniuse-lite@^1.0.30001565: + version "1.0.30001579" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz#45c065216110f46d6274311a4b3fcf6278e0852a" + integrity sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA== canonicalize@1.0.1: version "1.0.1" @@ -6229,9 +6738,9 @@ canonicalize@^2.0.0: integrity sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w== casbin@^5.26.1: - version "5.27.1" - resolved "https://registry.yarnpkg.com/casbin/-/casbin-5.27.1.tgz#ebebae1e0c555301c7e1ee83204863e9db0d3b1c" - integrity sha512-nAbUyMfeVasZDZ39/OX+Y8AzpiAGvhYI58l/3BKuDZSnqC+Rpja/DmcHPt0wcUgJxfMkG/yo0dCmMhnSXZq49A== + version "5.28.0" + resolved "https://registry.yarnpkg.com/casbin/-/casbin-5.28.0.tgz#36a961999afcbb50d36973a0f238ef595d804c7a" + integrity sha512-7R1zGDOWUKVowPTT/qTZjm5L5G0ZASQ6dmKIGHYM8KqmkTc28P/KUO9WeaGjLKELnpOCkPIz0EJHw1CaTtgucw== dependencies: await-lock "^2.0.1" buffer "^6.0.3" @@ -6287,25 +6796,52 @@ charenc@0.0.2, charenc@~0.0.1: resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + chownr@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== +chrome-launcher@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/chrome-launcher/-/chrome-launcher-0.15.2.tgz#4e6404e32200095fdce7f6a1e1004f9bd36fa5da" + integrity sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ== + dependencies: + "@types/node" "*" + escape-string-regexp "^4.0.0" + is-wsl "^2.2.0" + lighthouse-logger "^1.0.0" + chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== +chromium-edge-launcher@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz#0443083074715a13c669530b35df7bfea33b1509" + integrity sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA== + dependencies: + "@types/node" "*" + escape-string-regexp "^4.0.0" + is-wsl "^2.2.0" + lighthouse-logger "^1.0.0" + mkdirp "^1.0.4" + rimraf "^3.0.2" + ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== ci-info@^3.2.0, ci-info@^3.3.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" - integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3, cipher-base@^1.0.4: version "1.0.4" @@ -6321,13 +6857,13 @@ cjs-module-lexer@^1.0.0: integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== class-validator@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/class-validator/-/class-validator-0.14.0.tgz#40ed0ecf3c83b2a8a6a320f4edb607be0f0df159" - integrity sha512-ct3ltplN8I9fOwUd8GrP8UQixwff129BkEtuWDKL5W45cQuLd19xqmTLu5ge78YDm/fdje6FMt0hGOhl0lii3A== + version "0.14.1" + resolved "https://registry.yarnpkg.com/class-validator/-/class-validator-0.14.1.tgz#ff2411ed8134e9d76acfeb14872884448be98110" + integrity sha512-2VEG9JICxIqTpoK1eMzZqaV+u/EiwEJkMGzTrZf6sU/fwsnOITVgYJ8yojSy6CaXtO9V0Cc6ZQZ8h8m4UBuLwQ== dependencies: - "@types/validator" "^13.7.10" - libphonenumber-js "^1.10.14" - validator "^13.7.0" + "@types/validator" "^13.11.8" + libphonenumber-js "^1.10.53" + validator "^13.9.0" clean-stack@^2.0.0: version "2.2.0" @@ -6361,9 +6897,9 @@ cli-highlight@^2.1.11: yargs "^16.0.0" cli-spinners@^2.0.0, cli-spinners@^2.5.0: - version "2.9.1" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.1.tgz#9c0b9dad69a6d47cbb4333c14319b060ed395a35" - integrity sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ== + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== cliui@^6.0.0: version "6.0.0" @@ -6478,7 +7014,7 @@ color-string@^1.5.3, color-string@^1.6.0, color-string@^1.9.0: color-name "^1.0.0" simple-swizzle "^0.2.2" -color-support@^1.1.2, color-support@^1.1.3: +color-support@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== @@ -6562,9 +7098,9 @@ compare-versions@^3.4.0: integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== component-type@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-type/-/component-type-1.2.1.tgz#8a47901700238e4fc32269771230226f24b415a9" - integrity sha512-Kgy+2+Uwr75vAi6ChWXgHuLvd+QLD7ssgpaRq2zCvt80ptvAfMc/hijcJxXkBa2wMlEZcJvC2H8Ubo+A9ATHIg== + version "1.2.2" + resolved "https://registry.yarnpkg.com/component-type/-/component-type-1.2.2.tgz#4458ecc0c1871efc6288bfaff0cbdab08141d079" + integrity sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA== compressible@~2.0.16: version "2.0.18" @@ -6611,7 +7147,7 @@ connect@^3.6.5, connect@^3.7.0: parseurl "~1.3.3" utils-merge "1.0.1" -console-control-strings@^1.0.0, console-control-strings@^1.1.0: +console-control-strings@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== @@ -6628,11 +7164,6 @@ content-type@~1.0.4, content-type@~1.0.5: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== -convert-source-map@^1.6.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" @@ -6671,12 +7202,12 @@ cookies@0.8.0: depd "~2.0.0" keygrip "~1.1.0" -core-js-compat@^3.31.0, core-js-compat@^3.32.2: - version "3.32.2" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.32.2.tgz#8047d1a8b3ac4e639f0d4f66d4431aa3b16e004c" - integrity sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ== +core-js-compat@^3.31.0, core-js-compat@^3.33.1: + version "3.35.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.35.1.tgz#215247d7edb9e830efa4218ff719beb2803555e2" + integrity sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw== dependencies: - browserslist "^4.21.10" + browserslist "^4.22.2" core-util-is@~1.0.0: version "1.0.3" @@ -6780,7 +7311,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -6921,14 +7452,14 @@ cssstyle@^2.3.0: cssom "~0.3.6" csstype@^3.0.10, csstype@^3.0.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== csv-parse@^5.3.5: - version "5.5.0" - resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.0.tgz#2313421e69b650dae32a79ac884b20b21ca1d9da" - integrity sha512-RxruSK3M4XgzcD7Trm2wEN+SJ26ChIb903+IWxNOcB5q4jT2Cs+hFr6QP39J05EohshRFEvyzEBoZ/466S2sbw== + version "5.5.3" + resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.3.tgz#0261050761ee46cd0e46421854bf9bf4de1317bf" + integrity sha512-v0KW6C0qlZzoGjk6u5tLmVfyZxNgPGXZsWTXshpAgKVGmGXzaVWGdlCFxNx5iuzcXT/oJN1HHM9DZKwtAtYa+A== currently-unhandled@^0.4.1: version "0.4.1" @@ -6973,7 +7504,7 @@ dayjs@^1.8.15: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== -debug@2.6.9, debug@^2.2.0: +debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -7017,22 +7548,29 @@ decode-uri-component@^0.2.2: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + dedent@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== deep-equal@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + version "1.1.2" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761" + integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" + is-arguments "^1.1.1" + is-date-object "^1.0.5" + is-regex "^1.1.4" + object-is "^1.1.5" object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" + regexp.prototype.flags "^1.5.1" deep-extend@^0.6.0: version "0.6.0" @@ -7049,7 +7587,7 @@ deepmerge@^3.2.0: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.3.0.tgz#d3c47fd6f3a93d517b14426b0628a17b0125f5f7" integrity sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA== -deepmerge@^4.2.2: +deepmerge@^4.2.2, deepmerge@^4.3.0: version "4.3.1" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== @@ -7076,10 +7614,10 @@ deferred-leveldown@~0.2.0: dependencies: abstract-leveldown "~0.12.1" -define-data-property@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.0.tgz#0db13540704e1d8d479a0656cf781267531b9451" - integrity sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g== +define-data-property@^1.0.1, define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== dependencies: get-intrinsic "^1.2.1" gopd "^1.0.1" @@ -7090,7 +7628,7 @@ define-lazy-prop@^2.0.0: resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0, define-properties@^1.2.1: +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== @@ -7153,13 +7691,22 @@ deprecated-react-native-prop-types@^2.3.0: prop-types "*" deprecated-react-native-prop-types@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-3.0.1.tgz#a275f84cd8519cd1665e8df3c99e9067d57a23ec" - integrity sha512-J0jCJcsk4hMlIb7xwOZKLfMpuJn6l8UtrPEzzQV5ewz5gvKNYakhBuq9h2rWX7YwHHJZFhU5W8ye7dB9oN8VcQ== + version "3.0.2" + resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-3.0.2.tgz#e724a9837e6a7ccb778753c06ae4f79065873493" + integrity sha512-JoZY5iNM+oJlN2Ldpq0KSi0h3Nig4hlNJj5nWzWp8eL3uikMCvHwjSGPitwkEw0arL5JFra5nuGJQpXRbEjApg== dependencies: - "@react-native/normalize-color" "*" - invariant "*" - prop-types "*" + "@react-native/normalize-color" "^2.1.0" + invariant "^2.2.4" + prop-types "^15.8.1" + +deprecated-react-native-prop-types@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz#02a12f090da7bd9e8c3ac53c31cf786a1315d302" + integrity sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ== + dependencies: + "@react-native/normalize-colors" "^0.73.0" + invariant "^2.2.4" + prop-types "^15.8.1" destroy@1.2.0: version "1.2.0" @@ -7308,10 +7855,10 @@ dotenv-flow@^3.2.0: dependencies: dotenv "^8.6.0" -dotenv@^16.0.3: - version "16.3.1" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" - integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== +dotenv@^16.0.3, dotenv@^16.3.1: + version "16.3.2" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.2.tgz#3cb611ce5a63002dbabf7c281bc331f69d28f03f" + integrity sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ== dotenv@^8.6.0: version "8.6.0" @@ -7327,6 +7874,11 @@ drbg.js@^1.0.1: create-hash "^1.1.2" create-hmac "^1.1.4" +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + ed25519-signature-2018-context@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ed25519-signature-2018-context/-/ed25519-signature-2018-context-1.1.0.tgz#68002ea7497c32e8170667cfd67468dedf7d220e" @@ -7349,10 +7901,10 @@ eip-712-types-generation@^0.1.6: dependencies: json-canonicalize "^1.0.4" -electron-to-chromium@^1.4.535: - version "1.4.537" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.537.tgz#aac4101db53066be1e49baedd000a26bc754adc9" - integrity sha512-W1+g9qs9hviII0HAwOdehGYkr+zt7KKdmCcJcjH0mYg6oL8+ioT3Skjmt7BLoAQqXhjf40AXd+HlR4oAWMlXjA== +electron-to-chromium@^1.4.601: + version "1.4.640" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.640.tgz#76290a36fa4b5f1f4cadaf1fc582478ebb3ac246" + integrity sha512-z/6oZ/Muqk4BaE7P69bXhUhpJbUM9ZJeka43ZwxsDshKtePns4mhBlh8bU5+yrnOnz3fhG82XLzGUXazOmsWnA== elliptic@6.5.4, elliptic@^6.4.1, elliptic@^6.5.2, elliptic@^6.5.4: version "6.5.4" @@ -7377,6 +7929,11 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -7389,7 +7946,7 @@ encoding@^0.1.12: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.1.0: +end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -7424,10 +7981,10 @@ env-paths@^2.2.0: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== -envinfo@^7.7.2: - version "7.10.0" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.10.0.tgz#55146e3909cc5fe63c22da63fb15b05aeac35b13" - integrity sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw== +envinfo@^7.10.0, envinfo@^7.7.2: + version "7.11.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.0.tgz#c3793f44284a55ff8c82faf1ffd91bc6478ea01f" + integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg== eol@^0.9.1: version "0.9.1" @@ -7460,7 +8017,7 @@ error-stack-parser@^2.0.6: dependencies: stackframe "^1.3.4" -errorhandler@^1.5.0: +errorhandler@^1.5.0, errorhandler@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.5.1.tgz#b9ba5d17cf90744cd1e851357a6e75bf806a9a91" integrity sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A== @@ -7469,25 +8026,25 @@ errorhandler@^1.5.0: escape-html "~1.0.3" es-abstract@^1.17.2, es-abstract@^1.22.1: - version "1.22.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.2.tgz#90f7282d91d0ad577f505e423e52d4c1d93c1b8a" - integrity sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA== + version "1.22.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" + integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== dependencies: array-buffer-byte-length "^1.0.0" arraybuffer.prototype.slice "^1.0.2" available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + call-bind "^1.0.5" es-set-tostringtag "^2.0.1" es-to-primitive "^1.2.1" function.prototype.name "^1.1.6" - get-intrinsic "^1.2.1" + get-intrinsic "^1.2.2" get-symbol-description "^1.0.0" globalthis "^1.0.3" gopd "^1.0.1" - has "^1.0.3" has-property-descriptors "^1.0.0" has-proto "^1.0.1" has-symbols "^1.0.3" + hasown "^2.0.0" internal-slot "^1.0.5" is-array-buffer "^3.0.2" is-callable "^1.2.7" @@ -7497,7 +8054,7 @@ es-abstract@^1.17.2, es-abstract@^1.22.1: is-string "^1.0.7" is-typed-array "^1.1.12" is-weakref "^1.0.2" - object-inspect "^1.12.3" + object-inspect "^1.13.1" object-keys "^1.1.1" object.assign "^4.1.4" regexp.prototype.flags "^1.5.1" @@ -7511,7 +8068,7 @@ es-abstract@^1.17.2, es-abstract@^1.22.1: typed-array-byte-offset "^1.0.0" typed-array-length "^1.0.4" unbox-primitive "^1.0.2" - which-typed-array "^1.1.11" + which-typed-array "^1.1.13" es-array-method-boxes-properly@^1.0.0: version "1.0.0" @@ -7539,25 +8096,25 @@ es-iterator-helpers@^1.0.12: safe-array-concat "^1.0.1" es-module-lexer@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.3.1.tgz#c1b0dd5ada807a3b3155315911f364dc4e909db1" - integrity sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== + version "1.4.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" + integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" + get-intrinsic "^1.2.2" has-tostringtag "^1.0.0" + hasown "^2.0.0" es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== dependencies: - has "^1.0.3" + hasown "^2.0.0" es-to-primitive@^1.2.1: version "1.2.1" @@ -7621,7 +8178,7 @@ eslint-config-prettier@^8.3.0, eslint-config-prettier@^8.5.0: resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== -eslint-import-resolver-node@^0.3.7: +eslint-import-resolver-node@^0.3.9: version "0.3.9" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== @@ -7654,27 +8211,27 @@ eslint-plugin-ft-flow@^2.0.1: string-natural-compare "^3.0.1" eslint-plugin-import@^2.25.4: - version "2.28.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz#63b8b5b3c409bfc75ebaf8fb206b07ab435482c4" - integrity sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A== - dependencies: - array-includes "^3.1.6" - array.prototype.findlastindex "^1.2.2" - array.prototype.flat "^1.3.1" - array.prototype.flatmap "^1.3.1" + version "2.29.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" + integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== + dependencies: + array-includes "^3.1.7" + array.prototype.findlastindex "^1.2.3" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" debug "^3.2.7" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.7" + eslint-import-resolver-node "^0.3.9" eslint-module-utils "^2.8.0" - has "^1.0.3" - is-core-module "^2.13.0" + hasown "^2.0.0" + is-core-module "^2.13.1" is-glob "^4.0.3" minimatch "^3.1.2" - object.fromentries "^2.0.6" - object.groupby "^1.0.0" - object.values "^1.1.6" + object.fromentries "^2.0.7" + object.groupby "^1.0.1" + object.values "^1.1.7" semver "^6.3.1" - tsconfig-paths "^3.14.2" + tsconfig-paths "^3.15.0" eslint-plugin-jest@^26.5.3: version "26.9.0" @@ -7756,17 +8313,18 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint@^8.36.0: - version "8.50.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.50.0.tgz#2ae6015fee0240fcd3f83e1e25df0287f487d6b2" - integrity sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg== + version "8.56.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" + integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.2" - "@eslint/js" "8.50.0" - "@humanwhocodes/config-array" "^0.11.11" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.56.0" + "@humanwhocodes/config-array" "^0.11.13" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -7977,7 +8535,7 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^5.0.0: +execa@^5.0.0, execa@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -7997,6 +8555,11 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== +expand-template@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + expect@^29.0.0, expect@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" @@ -8134,9 +8697,9 @@ expo-status-bar@~1.4.4: integrity sha512-5DV0hIEWgatSC3UgQuAZBoQeaS9CqeWRZ3vzBR9R/+IUD87Adbi4FGhU10nymRqFXOizGsureButGZIXPs7zEA== expo@^48.0.0: - version "48.0.20" - resolved "https://registry.yarnpkg.com/expo/-/expo-48.0.20.tgz#098a19b1eba81a15062fa853ae6941fdf9aef1f4" - integrity sha512-SDRlLRINWWqf/OIPaUr/BsFZLhR5oEj1u9Cn06h1mPeo8pqv6ei/QTSZql4e0ixHIu3PWMPrUx9k/47nnTyTpg== + version "48.0.21" + resolved "https://registry.yarnpkg.com/expo/-/expo-48.0.21.tgz#40c5795c738ef05f8a7ddf466a53d73d86a3c456" + integrity sha512-Z211SC4wZP4Xd5/RBJhEw4uwSgpfzAvMh6IVdzwEVAJAcV1s48CACcSmIUe+7QJjEPzmb3T5Yo4EJ/JJXJ2o9A== dependencies: "@babel/runtime" "^7.20.0" "@expo/cli" "0.7.3" @@ -8251,9 +8814,9 @@ fast-diff@^1.1.2: integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== fast-glob@^3.2.5, fast-glob@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" - integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -8266,18 +8829,6 @@ fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.1.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-json-stringify@^5.8.0: - version "5.8.0" - resolved "https://registry.yarnpkg.com/fast-json-stringify/-/fast-json-stringify-5.8.0.tgz#b229ed01ac5f92f3b82001a916c31324652f46d7" - integrity sha512-VVwK8CFMSALIvt14U8AvrSzQAwN/0vaVRiFFUVlpnXSnDGrSkOAO5MtzyN8oQNjLd5AqTW5OZRgyjoNuAuR3jQ== - dependencies: - "@fastify/deepmerge" "^1.0.0" - ajv "^8.10.0" - ajv-formats "^2.1.1" - fast-deep-equal "^3.1.3" - fast-uri "^2.1.0" - rfdc "^1.2.0" - fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" @@ -8295,22 +8846,17 @@ fast-text-encoding@^1.0.3, fast-text-encoding@^1.0.6: resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz#0aa25f7f638222e3396d72bf936afcf1d42d6867" integrity sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w== -fast-uri@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-2.2.0.tgz#519a0f849bef714aad10e9753d69d8f758f7445a" - integrity sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg== - -fast-xml-parser@^4.0.12: - version "4.3.1" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.1.tgz#4f89c31e4c392d6e3d68b299733cad0c2d50d495" - integrity sha512-viVv3xb8D+SiS1W4cv4tva3bni08kAkx0gQnWrykMM8nXPc1FxqZPU00dCEVjkiCg4HoXd2jC4x29Nzg/l2DAA== +fast-xml-parser@^4.0.12, fast-xml-parser@^4.2.4: + version "4.3.3" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.3.tgz#aeaf5778392329f17168c40c51bcbfec8ff965be" + integrity sha512-coV/D1MhrShMvU6D0I+VAK3umz6hUaxxhL0yp/9RjfiYUfAv14rDhGQL+PLForhMdr0wq3PiV07WtkkNjJjNHg== dependencies: strnum "^1.0.5" fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + version "1.16.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320" + integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== dependencies: reusify "^1.0.4" @@ -8475,29 +9021,39 @@ fix-esm@^1.0.1: "@babel/plugin-transform-modules-commonjs" "^7.14.5" flat-cache@^3.0.4: - version "3.1.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.0.tgz#0e54ab4a1a60fe87e2946b6b00657f1c99e1af3f" - integrity sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew== + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: - flatted "^3.2.7" + flatted "^3.2.9" keyv "^4.5.3" rimraf "^3.0.2" -flatted@^3.2.7: +flatted@^3.2.9: version "3.2.9" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== +flow-enums-runtime@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz#5bb0cd1b0a3e471330f4d109039b7eba5cb3e787" + integrity sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw== + flow-parser@0.*: - version "0.217.2" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.217.2.tgz#3a4aade40ea55a863295120a0b0da8a960967ad6" - integrity sha512-O+nt/FLXa1hTwtW0O9h36iZjbL84G8e1uByx5dDXMC97AJEbZXwJ4ohfaE8BNWrYFyYX0NGfz1o8AtLQvaaD/Q== + version "0.227.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.227.0.tgz#e50b65be9dc6810438c975e816a68005fbcd5107" + integrity sha512-nOygtGKcX/siZK/lFzpfdHEfOkfGcTW7rNroR1Zsz6T/JxSahPALXVt5qVHq/fgvMJuv096BTKbgxN3PzVBaDA== flow-parser@^0.185.0: version "0.185.2" resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.185.2.tgz#cb7ee57f77377d6c5d69a469e980f6332a15e492" integrity sha512-2hJ5ACYeJCzNtiVULov6pljKOLygy0zddoqSI1fFetM+XRPpRshFdGEijtqlamA1XwyZ+7rhryI6FQFzvtLWUQ== +flow-parser@^0.206.0: + version "0.206.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.206.0.tgz#f4f794f8026535278393308e01ea72f31000bfef" + integrity sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w== + fontfaceobserver@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz#5fb392116e75d5024b7ec8e4f2ce92106d1488c8" @@ -8532,6 +9088,14 @@ foreach@^2.0.4, foreach@~2.0.1: resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.6.tgz#87bcc8a1a0e74000ff2bf9802110708cfb02eb6e" integrity sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + form-data@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" @@ -8565,6 +9129,11 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + fs-extra@9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.0.tgz#b6afc31036e247b2466dc99c29ae797d5d4580a3" @@ -8629,10 +9198,10 @@ fsevents@^2.3.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.1, function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: version "1.1.6" @@ -8656,21 +9225,6 @@ fwd-stream@^1.0.4: dependencies: readable-stream "~1.0.26-4" -gauge@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" - integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.2" - console-control-strings "^1.0.0" - has-unicode "^2.0.1" - object-assign "^4.1.1" - signal-exit "^3.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.2" - gauge@^4.0.3: version "4.0.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" @@ -8700,15 +9254,15 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" - integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== dependencies: - function-bind "^1.1.1" - has "^1.0.3" + function-bind "^1.1.2" has-proto "^1.0.1" has-symbols "^1.0.3" + hasown "^2.0.0" get-package-type@^0.1.0: version "0.1.0" @@ -8745,6 +9299,11 @@ getenv@^1.0.0: resolved "https://registry.yarnpkg.com/getenv/-/getenv-1.0.0.tgz#874f2e7544fbca53c7a4738f37de8605c3fcfc31" integrity sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg== +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== + glob-parent@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -8776,6 +9335,17 @@ glob@7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^10.3.10: + version "10.3.10" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + glob@^6.0.1: version "6.0.4" resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" @@ -8787,7 +9357,7 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -8816,13 +9386,13 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0: - version "13.22.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.22.0.tgz#0c9fcb9c48a2494fbb5edbfee644285543eba9d8" - integrity sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw== + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" -globalthis@^1.0.2, globalthis@^1.0.3: +globalthis@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== @@ -8885,12 +9455,12 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== dependencies: - get-intrinsic "^1.1.1" + get-intrinsic "^1.2.2" has-proto@^1.0.1: version "1.0.1" @@ -8914,13 +9484,6 @@ has-unicode@^2.0.1: resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - hash-base@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" @@ -8938,11 +9501,42 @@ hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + +hermes-estree@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.15.0.tgz#e32f6210ab18c7b705bdcb375f7700f2db15d6ba" + integrity sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ== + +hermes-estree@0.18.2: + version "0.18.2" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.18.2.tgz#fd450fa1659cf074ceaa2ddeeb21674f3b2342f3" + integrity sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ== + hermes-estree@0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.8.0.tgz#530be27243ca49f008381c1f3e8b18fb26bf9ec0" integrity sha512-W6JDAOLZ5pMPMjEiQGLCXSSV7pIBEgRR5zGkxgmzGSXHOxqV5dC/M1Zevqpbm9TZDE5tu358qZf8Vkzmsc+u7Q== +hermes-parser@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.15.0.tgz#f611a297c2a2dbbfbce8af8543242254f604c382" + integrity sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q== + dependencies: + hermes-estree "0.15.0" + +hermes-parser@0.18.2: + version "0.18.2" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.18.2.tgz#50f15e2fcd559a48c68cd7af259d4292298bd14d" + integrity sha512-1eQfvib+VPpgBZ2zYKQhpuOjw1tH+Emuib6QmjkJWJMhyjM8xnXMvA+76o9LhF0zOAJDZgPfQhg43cyXEyl5Ew== + dependencies: + hermes-estree "0.18.2" + hermes-parser@0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.8.0.tgz#116dceaba32e45b16d6aefb5c4c830eaeba2d257" @@ -9096,9 +9690,16 @@ ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore@^5.0.5, ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + version "5.3.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" + integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== + +image-size@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.2.tgz#d778b6d0ab75b2737c1556dd631652eb963bc486" + integrity sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg== + dependencies: + queue "6.0.2" image-size@^0.6.0: version "0.6.3" @@ -9106,9 +9707,9 @@ image-size@^0.6.0: integrity sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA== image-size@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.2.tgz#d778b6d0ab75b2737c1556dd631652eb963bc486" - integrity sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg== + version "1.1.1" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.1.1.tgz#ddd67d4dc340e52ac29ce5f546a09f4e29e840ac" + integrity sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ== dependencies: queue "6.0.2" @@ -9203,12 +9804,12 @@ internal-ip@4.3.0: ipaddr.js "^1.9.0" internal-slot@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + version "1.0.6" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" + integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" + get-intrinsic "^1.2.2" + hasown "^2.0.0" side-channel "^1.0.4" invariant@*, invariant@2.2.4, invariant@^2.2.4: @@ -9238,7 +9839,7 @@ ipaddr.js@1.9.1, ipaddr.js@^1.9.0: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -is-arguments@^1.0.4: +is-arguments@^1.0.4, is-arguments@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== @@ -9304,12 +9905,12 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.13.0, is-core-module@^2.9.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" - integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== +is-core-module@^2.13.0, is-core-module@^2.13.1: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: - has "^1.0.3" + hasown "^2.0.0" is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" @@ -9467,7 +10068,7 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-regex@^1.0.4, is-regex@^1.1.4: +is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== @@ -9611,9 +10212,9 @@ isomorphic-webcrypto@^2.3.8: uid "" istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== istanbul-lib-instrument@^5.0.4: version "5.2.1" @@ -9627,9 +10228,9 @@ istanbul-lib-instrument@^5.0.4: semver "^6.3.0" istanbul-lib-instrument@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz#7a8af094cbfff1d5bb280f62ce043695ae8dd5b8" - integrity sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw== + version "6.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" + integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== dependencies: "@babel/core" "^7.12.3" "@babel/parser" "^7.14.7" @@ -9674,6 +10275,15 @@ iterator.prototype@^1.1.2: reflect.getprototypeof "^1.0.4" set-function-name "^2.0.1" +jackspeak@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + jest-changed-files@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" @@ -9796,7 +10406,7 @@ jest-environment-jsdom@^29.2.1: jest-util "^29.7.0" jsdom "^20.0.0" -jest-environment-node@^29.2.1, jest-environment-node@^29.7.0: +jest-environment-node@^29.2.1, jest-environment-node@^29.6.3, jest-environment-node@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== @@ -10058,7 +10668,7 @@ jest-validate@^26.5.2: leven "^3.1.0" pretty-format "^26.6.2" -jest-validate@^29.7.0: +jest-validate@^29.6.3, jest-validate@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== @@ -10115,7 +10725,7 @@ jest-worker@^27.2.0, jest-worker@^27.4.5: merge-stream "^2.0.0" supports-color "^8.0.0" -jest-worker@^29.7.0: +jest-worker@^29.6.3, jest-worker@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== @@ -10141,13 +10751,13 @@ jimp-compact@0.16.1: integrity sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww== joi@^17.2.1: - version "17.10.2" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.10.2.tgz#4ecc348aa89ede0b48335aad172e0f5591e55b29" - integrity sha512-hcVhjBxRNW/is3nNLdGLIjkgXetkeGc2wyhydhz8KumG23Aerk4HPjU5zaPAMRqXQFc0xNqXTC7+zQjxr0GlKA== + version "17.12.0" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.12.0.tgz#a3fb5715f198beb0471cd551dd26792089c308d5" + integrity sha512-HSLsmSmXz+PV9PYoi3p7cgIbj06WnEBNT28n+bbBNcPZXZFqCzzvGqpTBPujx/Z0nh1+KNQPDrNgdmQ8dq0qYw== dependencies: - "@hapi/hoek" "^9.0.0" - "@hapi/topo" "^5.0.0" - "@sideway/address" "^4.1.3" + "@hapi/hoek" "^9.3.0" + "@hapi/topo" "^5.1.0" + "@sideway/address" "^4.1.4" "@sideway/formula" "^3.0.1" "@sideway/pinpoint" "^2.0.0" @@ -10156,10 +10766,10 @@ join-component@^1.1.0: resolved "https://registry.yarnpkg.com/join-component/-/join-component-1.1.0.tgz#b8417b750661a392bee2c2537c68b2a9d4977cd5" integrity sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ== -jose@^4.10.0, jose@^4.14.4, jose@^4.3.8: - version "4.14.6" - resolved "https://registry.yarnpkg.com/jose/-/jose-4.14.6.tgz#94dca1d04a0ad8c6bff0998cdb51220d473cc3af" - integrity sha512-EqJPEUlZD0/CSUMubKtMaYUOtWe91tZXTWMJZoKSbLk+KtdhNdcvppH8lA9XwVu2V4Ailvsj0GBZJ2ZwDjfesQ== +jose@^4.10.0, jose@^4.15.4, jose@^4.3.8: + version "4.15.4" + resolved "https://registry.yarnpkg.com/jose/-/jose-4.15.4.tgz#02a9a763803e3872cf55f29ecef0dfdcc218cc03" + integrity sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ== js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" @@ -10320,9 +10930,9 @@ json-stable-stringify-without-jsonify@^1.0.1: integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json-stringify-deterministic@^1.0.1, json-stringify-deterministic@^1.0.7: - version "1.0.11" - resolved "https://registry.yarnpkg.com/json-stringify-deterministic/-/json-stringify-deterministic-1.0.11.tgz#9e53b7431fa5b41d3badedb7bbbe2647ea74f036" - integrity sha512-lsn3NoTZ6dGgJJ7W4i7BUKV4WJ+hqAJ0imqHl314MNUw2U+As++qLDudcHqBqlkCXTTH7kH3v5LUQ3CHoVM0BA== + version "1.0.12" + resolved "https://registry.yarnpkg.com/json-stringify-deterministic/-/json-stringify-deterministic-1.0.12.tgz#aaa3f907466ed01e3afd77b898d0a2b3b132820a" + integrity sha512-q3PN0lbUdv0pmurkBNdJH3pfFvOTL/Zp0lquqpvcjfKzt6Y0j49EPHAmVHCAS4Ceq/Y+PejWTzyiVpoY71+D6g== json-text-sequence@~0.1.0: version "0.1.1" @@ -10507,9 +11117,9 @@ keygrip@~1.1.0: tsscmp "1.0.6" keyv@^4.5.3: - version "4.5.3" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.3.tgz#00873d2b046df737963157bd04f294ca818c9c25" - integrity sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" @@ -10562,7 +11172,7 @@ language-subtag-registry@^0.3.20: resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== -language-tags@^1.0.8: +language-tags@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== @@ -10673,10 +11283,18 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -libphonenumber-js@^1.10.14: - version "1.10.45" - resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.10.45.tgz#cbaebe6bfae746dbfb42730cd043fcb8c472ca00" - integrity sha512-eeHcvGafEYCaKB4fo2uBINfG7j7PcGwBHUaTVfbwl/6KcjCgIKNlIOsSXVRp9BH10NQwmvvk+nQ1e/Yp4BGB7w== +libphonenumber-js@^1.10.53: + version "1.10.54" + resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.10.54.tgz#8dfba112f49d1b9c2a160e55f9697f22e50f0841" + integrity sha512-P+38dUgJsmh0gzoRDoM4F5jLbyfztkU6PY6eSK6S5HwTi/LPvnwXqVCQZlAy1FxZ5c48q25QhxGQ0pq+WQcSlQ== + +lighthouse-logger@^1.0.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz#aef90f9e97cd81db367c7634292ee22079280aaa" + integrity sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g== + dependencies: + debug "^2.6.9" + marky "^1.2.2" lines-and-columns@^1.1.6: version "1.2.4" @@ -10826,6 +11444,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +"lru-cache@^9.1.1 || ^10.0.0": + version "10.1.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484" + integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== + ltgt@^2.1.3: version "2.2.1" resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" @@ -10839,13 +11462,6 @@ make-dir@^2.0.0, make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" -make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - make-dir@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" @@ -10897,6 +11513,11 @@ map-obj@^2.0.0: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" integrity sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ== +marky@^1.2.2: + version "1.2.5" + resolved "https://registry.yarnpkg.com/marky/-/marky-1.2.5.tgz#55796b688cbd72390d2d399eaaf1832c9413e3c0" + integrity sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q== + md5-file@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/md5-file/-/md5-file-3.2.3.tgz#f9bceb941eca2214a4c0727f5e700314e770f06f" @@ -11032,11 +11653,25 @@ metro-babel-transformer@0.73.9: metro-source-map "0.73.9" nullthrows "^1.1.1" +metro-babel-transformer@0.80.4: + version "0.80.4" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.80.4.tgz#67dd300dd794d35ce24e22c17f317750669dd2b2" + integrity sha512-QP1kjYLap4O3w9tA4bYO8iyuNpR65If5Z97Ku37O4CwQPAwQaTmg67g4OdABS4BVK10fsxdExKp+fC37XirPow== + dependencies: + "@babel/core" "^7.20.0" + hermes-parser "0.18.2" + nullthrows "^1.1.1" + metro-cache-key@0.73.10: version "0.73.10" resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.73.10.tgz#8d63591187d295b62a80aed64a87864b1e9d67a2" integrity sha512-JMVDl/EREDiUW//cIcUzRjKSwE2AFxVWk47cFBer+KA4ohXIG2CQPEquT56hOw1Y1s6gKNxxs1OlAOEsubrFjw== +metro-cache-key@0.80.4: + version "0.80.4" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.80.4.tgz#dc92ca7aa251b9f6ed232fef98a4649fcc5d614e" + integrity sha512-okOOSRFou7Mxaaigoi+KxdFIU/ZJtvDCC6l8BYKsdMx86JDlVdvtIgFU4tFrY1yEkv0wnn7WH0X3xSz4mHKwoQ== + metro-cache@0.73.10: version "0.73.10" resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.73.10.tgz#02e9cb7c1e42aab5268d2ecce35ad8f2c08891de" @@ -11045,6 +11680,14 @@ metro-cache@0.73.10: metro-core "0.73.10" rimraf "^3.0.2" +metro-cache@0.80.4: + version "0.80.4" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.80.4.tgz#3bfe8176353dd1e44fef4361339bd8ee992d5900" + integrity sha512-Dj+GoYt4PvsnnE4GdXhqV9PxEF7GPilY5NPeoTgptWZLlaDuTT2+cJQoDOOit1SfRjnF0zqABtVvB6GGBWdtaQ== + dependencies: + metro-core "0.80.4" + rimraf "^3.0.2" + metro-config@0.73.10: version "0.73.10" resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.73.10.tgz#a9ec3d0a1290369e3f46c467a4c4f6dd43acc223" @@ -11057,6 +11700,19 @@ metro-config@0.73.10: metro-core "0.73.10" metro-runtime "0.73.10" +metro-config@0.80.4, metro-config@^0.80.3: + version "0.80.4" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.80.4.tgz#f14fe1465bf8812cd9a930f9a1667350161050cf" + integrity sha512-X3/3tleFYB4SdoxXg8uJ+qc8eITKiLnXs3Ev6pihM4jIM5JD89riwUsSLKVsovfZs8ETqKtjevzfe6jQ2O5NtQ== + dependencies: + connect "^3.6.5" + cosmiconfig "^5.0.5" + jest-validate "^29.6.3" + metro "0.80.4" + metro-cache "0.80.4" + metro-core "0.80.4" + metro-runtime "0.80.4" + metro-core@0.73.10: version "0.73.10" resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.73.10.tgz#feb3c228aa8c0dde71d8e4cef614cc3a1dc3bbd7" @@ -11065,6 +11721,14 @@ metro-core@0.73.10: lodash.throttle "^4.1.1" metro-resolver "0.73.10" +metro-core@0.80.4, metro-core@^0.80.3: + version "0.80.4" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.80.4.tgz#1421e432f2f9ec69d82ea1f19832a0544a3ce294" + integrity sha512-HRb+zydAhI7QyLpK4D6ARZsKjaBwEn+kCrJEjnVFij8wjJxIIHVilgNCETgg9NWvKJFUoZZCG7ewHkxQ9Qpd8Q== + dependencies: + lodash.throttle "^4.1.1" + metro-resolver "0.80.4" + metro-file-map@0.73.10: version "0.73.10" resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.73.10.tgz#55bd906fb7c1bef8e1a31df4b29a3ef4b49f0b5a" @@ -11086,6 +11750,24 @@ metro-file-map@0.73.10: optionalDependencies: fsevents "^2.3.2" +metro-file-map@0.80.4: + version "0.80.4" + resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.80.4.tgz#22d2e1fc1110490ab1a6c3ab4de4c21fef1951af" + integrity sha512-EvBC31JI5vsyebeQ8PWpGENuAWy2Ka7sLqEW7OInW+aLVWmBq02h0BNl33xRgAMz0gwvMf2nKie82hmefYF6ew== + dependencies: + anymatch "^3.0.3" + debug "^2.2.0" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + invariant "^2.2.4" + jest-worker "^29.6.3" + micromatch "^4.0.4" + node-abort-controller "^3.1.1" + nullthrows "^1.1.1" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + metro-hermes-compiler@0.73.10: version "0.73.10" resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.73.10.tgz#4525a7835c803a5d0b3b05c6619202e2273d630f" @@ -11108,6 +11790,13 @@ metro-minify-terser@0.73.10: dependencies: terser "^5.15.0" +metro-minify-terser@0.80.4: + version "0.80.4" + resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.80.4.tgz#008a4874f6167a4da5d24c90d4281b56f09ba684" + integrity sha512-cuxfRZWDWGKjh+Z6t4KJkrvmV4JUKXfvQuAX7Pa7U0Mf1YJdLtoGQ5iVOu/6MkfYGXbppqGk2qmFECrRGRh0cA== + dependencies: + terser "^5.15.0" + metro-minify-uglify@0.73.10: version "0.73.10" resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.73.10.tgz#4de79056d502479733854c90f2075374353ea154" @@ -11236,6 +11925,11 @@ metro-resolver@0.73.10: dependencies: absolute-path "^0.0.0" +metro-resolver@0.80.4: + version "0.80.4" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.80.4.tgz#c04f2bf3995e11ee0484a067b7a51904ccee9964" + integrity sha512-PCiVWN+d3gtWlobf8jPypwKx9T1QrZmhLJAyqIWLoOsZbpSfj1dn5h0ajCr8rYi9LNzIHm58GGYJK8VFHNn8Cw== + metro-runtime@0.73.10: version "0.73.10" resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.73.10.tgz#c3de19d17e75ffe1a145778d99422e7ffc208768" @@ -11252,6 +11946,13 @@ metro-runtime@0.73.9: "@babel/runtime" "^7.0.0" react-refresh "^0.4.0" +metro-runtime@0.80.4, metro-runtime@^0.80.3: + version "0.80.4" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.80.4.tgz#24fe3e332cfbe303f944fc6d5f0c28bef6704ee1" + integrity sha512-CWIvf0zmL4jKHSj81zjUAbEwjTqFQmETI0NIQvN4JNwTSHiz50WPOuHnUUcmwM6Dye/ta6KNTELnERp0tKEYYg== + dependencies: + "@babel/runtime" "^7.0.0" + metro-source-map@0.73.10: version "0.73.10" resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.73.10.tgz#28e09a28f1a2f7a4f8d0845b845cbed74e2f48f9" @@ -11280,6 +11981,20 @@ metro-source-map@0.73.9: source-map "^0.5.6" vlq "^1.0.0" +metro-source-map@0.80.4, metro-source-map@^0.80.3: + version "0.80.4" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.80.4.tgz#809d7d0eb36ccf912eecb4dc80ab50177f9fb5e1" + integrity sha512-x+0By55ml6IcGqY9x9HE0hyU0S+uDssrTQ0bPvuydG+iKCX85DzGnlT8k0Vs+EYgZl3KMWcvQ9TpGHW4LRL4GQ== + dependencies: + "@babel/traverse" "^7.20.0" + "@babel/types" "^7.20.0" + invariant "^2.2.4" + metro-symbolicate "0.80.4" + nullthrows "^1.1.1" + ob1 "0.80.4" + source-map "^0.5.6" + vlq "^1.0.0" + metro-symbolicate@0.73.10: version "0.73.10" resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz#7853a9a8fbfd615a5c9db698fffc685441ac880f" @@ -11304,6 +12019,18 @@ metro-symbolicate@0.73.9: through2 "^2.0.1" vlq "^1.0.0" +metro-symbolicate@0.80.4: + version "0.80.4" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.80.4.tgz#1c72c5c7b29941ecd95e53f2a25570e61dfd4eec" + integrity sha512-UmtH96G5TrcAgbIqdE4xA8MBS9fbZW9Pln+n7eJ0tQ0Fw0M/jzdpiZzhx3bIB2zzqbdm6Nv/kB1+aEo0WvXdyg== + dependencies: + invariant "^2.2.4" + metro-source-map "0.80.4" + nullthrows "^1.1.1" + source-map "^0.5.6" + through2 "^2.0.1" + vlq "^1.0.0" + metro-transform-plugins@0.73.10: version "0.73.10" resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.73.10.tgz#1b762330cbbedb6c18438edc3d76b063c88882af" @@ -11315,6 +12042,17 @@ metro-transform-plugins@0.73.10: "@babel/traverse" "^7.20.0" nullthrows "^1.1.1" +metro-transform-plugins@0.80.4: + version "0.80.4" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.80.4.tgz#fd76d62f080d556a8626ec6a92f55d033aa64283" + integrity sha512-cvmTLBA9ET64h+tgHt6prHlvOq98zBA1Glc9+wLZihPJo+Qmu9i3nQ1g4O+4aUnHivDlp+4C00BMNC+aC/buRQ== + dependencies: + "@babel/core" "^7.20.0" + "@babel/generator" "^7.20.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.20.0" + nullthrows "^1.1.1" + metro-transform-worker@0.73.10: version "0.73.10" resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.73.10.tgz#bb401dbd7b10a6fe443a5f7970cba38425efece0" @@ -11334,6 +12072,23 @@ metro-transform-worker@0.73.10: metro-transform-plugins "0.73.10" nullthrows "^1.1.1" +metro-transform-worker@0.80.4: + version "0.80.4" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.80.4.tgz#33cab53b0cc527b627f7f7ef9c07a41dd15682d3" + integrity sha512-hLCrlxXyyaV64XQNSiyY/0jMVvGXrgXMkpJ4KwH2t4clxbxyt6TBW+4TqmgAeU9WGclY0OuQ0HzfvIZiONcUOw== + dependencies: + "@babel/core" "^7.20.0" + "@babel/generator" "^7.20.0" + "@babel/parser" "^7.20.0" + "@babel/types" "^7.20.0" + metro "0.80.4" + metro-babel-transformer "0.80.4" + metro-cache "0.80.4" + metro-cache-key "0.80.4" + metro-source-map "0.80.4" + metro-transform-plugins "0.80.4" + nullthrows "^1.1.1" + metro@0.73.10: version "0.73.10" resolved "https://registry.yarnpkg.com/metro/-/metro-0.73.10.tgz#d9a0efb1e403e3aee5cf5140e0a96a7220c23901" @@ -11391,6 +12146,56 @@ metro@0.73.10: ws "^7.5.1" yargs "^17.5.1" +metro@0.80.4, metro@^0.80.3: + version "0.80.4" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.80.4.tgz#5f8cd8f7b730418ec6e7b377611caf620be33158" + integrity sha512-fBhZKU1z44KdhS6sH6Sk97595A66EOniH+jI9OjKDu6piH1SIEqQgdWAuWfJJMzgBHcJceRRvJY1zzsOT/Zx0g== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/core" "^7.20.0" + "@babel/generator" "^7.20.0" + "@babel/parser" "^7.20.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.20.0" + "@babel/types" "^7.20.0" + accepts "^1.3.7" + chalk "^4.0.0" + ci-info "^2.0.0" + connect "^3.6.5" + debug "^2.2.0" + denodeify "^1.2.1" + error-stack-parser "^2.0.6" + graceful-fs "^4.2.4" + hermes-parser "0.18.2" + image-size "^1.0.2" + invariant "^2.2.4" + jest-worker "^29.6.3" + jsc-safe-url "^0.2.2" + lodash.throttle "^4.1.1" + metro-babel-transformer "0.80.4" + metro-cache "0.80.4" + metro-cache-key "0.80.4" + metro-config "0.80.4" + metro-core "0.80.4" + metro-file-map "0.80.4" + metro-minify-terser "0.80.4" + metro-resolver "0.80.4" + metro-runtime "0.80.4" + metro-source-map "0.80.4" + metro-symbolicate "0.80.4" + metro-transform-plugins "0.80.4" + metro-transform-worker "0.80.4" + mime-types "^2.1.27" + node-fetch "^2.2.0" + nullthrows "^1.1.1" + rimraf "^3.0.2" + serialize-error "^2.1.0" + source-map "^0.5.6" + strip-ansi "^6.0.0" + throat "^5.0.0" + ws "^7.5.1" + yargs "^17.6.2" + micro-ftch@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" @@ -11436,6 +12241,11 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + min-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" @@ -11472,6 +12282,13 @@ minimatch@^7.4.2: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.1: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + minimist-options@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" @@ -11480,7 +12297,7 @@ minimist-options@^3.0.1: arrify "^1.0.1" is-plain-obj "^1.1.0" -minimist@^1.1.2, minimist@^1.2.0, minimist@^1.2.6: +minimist@^1.1.2, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -11543,6 +12360,11 @@ minipass@^5.0.0: resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.0.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" + integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== + minizlib@^2.0.0, minizlib@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" @@ -11559,6 +12381,11 @@ mixin-object@^2.0.1: for-in "^0.1.3" is-extendable "^0.1.1" +mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" @@ -11577,9 +12404,9 @@ mkdirp@^2.1.3: integrity sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A== moment@^2.29.1: - version "2.29.4" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" - integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== + version "2.30.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" + integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== morgan@^1.10.0: version "1.10.0" @@ -11637,10 +12464,10 @@ multiformats@9.9.0, multiformats@^9.4.2, multiformats@^9.6.5, multiformats@^9.9. resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== -multiformats@^11.0.2: - version "11.0.2" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-11.0.2.tgz#b14735efc42cd8581e73895e66bebb9752151b60" - integrity sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg== +multiformats@^12.1.3: + version "12.1.3" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-12.1.3.tgz#cbf7a9861e11e74f8228b21376088cb43ba8754e" + integrity sha512-eajQ/ZH7qXZQR2AgtfpmSMizQzmyYVmCql7pdhldPuYQi4atACekbJaQplk6dWyIi10jCaFnd6pqvcEFXjbaJw== multihashes@4.0.3: version "4.0.3" @@ -11674,10 +12501,15 @@ nan@^2.14.0: resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554" integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== -nanoid@^3.1.23, nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== +nanoid@^3.1.23, nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +napi-build-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" + integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== natural-compare-lite@^1.4.0: version "1.4.0" @@ -11714,20 +12546,40 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +nist-weierstrauss@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/nist-weierstrauss/-/nist-weierstrauss-1.6.1.tgz#ce1acd81d09f83289bc5113f14c9790920935176" + integrity sha512-FpjCOnPV/s3ZVIkeldCVSml2K4lruabPbBgoEitpCK1JL0KTVoWb56CFTU6rZn5i6VqAjdwcOp0FDwJACPmeFA== + dependencies: + multiformats "^9.6.5" + uint8arrays "^2.1.4" + nocache@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/nocache/-/nocache-3.0.4.tgz#5b37a56ec6e09fc7d401dceaed2eab40c8bfdf79" integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw== +node-abi@^3.3.0: + version "3.54.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.54.0.tgz#f6386f7548817acac6434c6cba02999c9aebcc69" + integrity sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA== + dependencies: + semver "^7.3.5" + +node-abort-controller@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== + node-addon-api@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== -node-addon-api@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" - integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== +node-addon-api@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.0.tgz#71f609369379c08e251c558527a107107b5e0fdb" + integrity sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g== node-dir@^0.1.17: version "0.1.17" @@ -11762,9 +12614,9 @@ node-forge@^1.2.1, node-forge@^1.3.1: integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.1.tgz#24b6d075e5e391b8d5539d98c7fc5c210cac8a3e" - integrity sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ== + version "4.8.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd" + integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== node-gyp@8.x: version "8.4.1" @@ -11787,10 +12639,10 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.13: - version "2.0.13" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" - integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== node-stream-zip@^1.9.1: version "1.15.0" @@ -11853,16 +12705,6 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npmlog@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" - integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== - dependencies: - are-we-there-yet "^2.0.0" - console-control-strings "^1.1.0" - gauge "^3.0.0" - set-blocking "^2.0.0" - npmlog@^6.0.0: version "6.0.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" @@ -11907,6 +12749,11 @@ ob1@0.73.9: resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.73.9.tgz#d5677a0dd3e2f16ad84231278d79424436c38c59" integrity sha512-kHOzCOFXmAM26fy7V/YuXNKne2TyRiXbFAvPBIbuedJCZZWQZHLdPzMeXJI4Egt6IcfDttRzN3jQ90wOwq1iNw== +ob1@0.80.4: + version "0.80.4" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.80.4.tgz#a2e77e2dbe144c76356c834b994e147e19bb472f" + integrity sha512-Lku8OBpq+fhF1ZdKUjbPnTNeqG+3OL0psGAEVJ8zcUiCB5/DPGR/rm3kLcjKDylzC9Rfv540/7I08+oImzfrhw== + object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -11917,12 +12764,12 @@ object-hash@^2.2.0: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== -object-inspect@^1.12.3, object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== +object-inspect@^1.13.1, object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== -object-is@^1.0.1: +object-is@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== @@ -11945,12 +12792,12 @@ object-keys@~0.2.0: is "~0.2.6" object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" + call-bind "^1.0.5" + define-properties "^1.2.1" has-symbols "^1.0.3" object-keys "^1.1.1" @@ -11963,7 +12810,7 @@ object.entries@^1.1.6: define-properties "^1.2.0" es-abstract "^1.22.1" -object.fromentries@^2.0.6: +object.fromentries@^2.0.6, object.fromentries@^2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== @@ -11983,7 +12830,7 @@ object.getownpropertydescriptors@^2.1.0: es-abstract "^1.22.1" safe-array-concat "^1.0.0" -object.groupby@^1.0.0: +object.groupby@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== @@ -12008,7 +12855,7 @@ object.pick@^1.1.1: dependencies: isobject "^3.0.1" -object.values@^1.1.0, object.values@^1.1.6: +object.values@^1.1.0, object.values@^1.1.6, object.values@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== @@ -12074,7 +12921,7 @@ open@^6.2.0: dependencies: is-wsl "^1.1.0" -open@^7.4.2: +open@^7.0.3, open@^7.4.2: version "7.4.2" resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== @@ -12097,11 +12944,11 @@ openapi-types@12.0.2: integrity sha512-GuTo7FyZjOIWVhIhQSWJVaws6A82sWIGyQogxxYBYKZ0NBdyP2CYSIgOwFfSB+UVoPExk/YzFpyYitHS8KVZtA== openid-client@^5.4.3: - version "5.5.0" - resolved "https://registry.yarnpkg.com/openid-client/-/openid-client-5.5.0.tgz#0c631b33c6a2c3e01197506978d6bff70e75c858" - integrity sha512-Y7Xl8BgsrkzWLHkVDYuroM67hi96xITyEDSkmWaGUiNX6CkcXC3XyQGdv5aWZ6dukVKBFVQCADi9gCavOmU14w== + version "5.6.4" + resolved "https://registry.yarnpkg.com/openid-client/-/openid-client-5.6.4.tgz#b2c25e6d5338ba3ce00e04341bb286798a196177" + integrity sha512-T1h3B10BRPKfcObdBklX639tVz+xh34O7GjofqrqiAQdm7eHsQ00ih18x6wuJ/E6FxdtS2u3FmUGPDeEcMwzNA== dependencies: - jose "^4.14.4" + jose "^4.15.4" lru-cache "^6.0.0" object-hash "^2.2.0" oidc-token-hash "^5.0.3" @@ -12415,6 +13262,14 @@ path-parse@^1.0.5, path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-scurry@^1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" + integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== + dependencies: + lru-cache "^9.1.1 || ^10.0.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -12457,7 +13312,7 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -pirates@^4.0.1, pirates@^4.0.4, pirates@^4.0.5: +pirates@^4.0.1, pirates@^4.0.4, pirates@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== @@ -12476,13 +13331,6 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pkg-dir@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" - integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== - dependencies: - find-up "^5.0.0" - pkg-up@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" @@ -12519,6 +13367,24 @@ pouchdb-collections@^1.0.1: resolved "https://registry.yarnpkg.com/pouchdb-collections/-/pouchdb-collections-1.0.1.tgz#fe63a17da977611abef7cb8026cb1a9553fd8359" integrity sha512-31db6JRg4+4D5Yzc2nqsRqsA2oOkZS8DpFav3jf/qVNBxusKa2ClkEIZ2bJNpaDbMfWtnuSq59p6Bn+CipPMdg== +prebuild-install@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45" + integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== + dependencies: + detect-libc "^2.0.0" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^1.0.1" + node-abi "^3.3.0" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^4.0.0" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -12607,7 +13473,7 @@ promise@^8.3.0: dependencies: asap "~2.0.6" -prompts@^2.0.1, prompts@^2.2.1, prompts@^2.3.2, prompts@^2.4.0: +prompts@^2.0.1, prompts@^2.2.1, prompts@^2.3.2, prompts@^2.4.0, prompts@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== @@ -12656,16 +13522,16 @@ pump@^3.0.0: once "^1.3.1" punycode@^2.1.0, punycode@^2.1.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== pure-rand@^6.0.0: version "6.0.4" resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== -pvtsutils@^1.3.2: +pvtsutils@^1.3.2, pvtsutils@^1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.5.tgz#b8705b437b7b134cd7fd858f025a23456f1ce910" integrity sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA== @@ -12778,7 +13644,7 @@ raw-body@2.5.2: iconv-lite "0.4.24" unpipe "1.0.0" -rc@~1.2.7: +rc@^1.2.7, rc@~1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -12800,10 +13666,10 @@ react-base16-styling@^0.8.0: csstype "^3.0.10" lodash.curry "^4.1.1" -react-devtools-core@^4.26.1: - version "4.28.0" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.28.0.tgz#3fa18709b24414adddadac33b6b9cea96db60f2f" - integrity sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg== +react-devtools-core@^4.26.1, react-devtools-core@^4.27.7: + version "4.28.5" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.28.5.tgz#c8442b91f068cdf0c899c543907f7f27d79c2508" + integrity sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA== dependencies: shell-quote "^1.6.1" ws "^7" @@ -12945,9 +13811,9 @@ react-native-pager-view@6.1.2: integrity sha512-qs2KSFc+7N7B+UZ6SG2sTvCkppagm5fVyRclv1KFKc7lDtrhXLzN59tXJw575LDP/dRJoXsNwqUAhZJdws6ABQ== react-native-permissions@^2.0.2, react-native-permissions@^3.7.3, react-native-permissions@^3.8.0: - version "3.9.2" - resolved "https://registry.yarnpkg.com/react-native-permissions/-/react-native-permissions-3.9.2.tgz#729ee7fe9ca437ee8e87f1ecec59acfe89bbb840" - integrity sha512-mBGoRDKi4twYH+UsPomPdi0dLpV6dGLmKzLpIgB5cLK/dzfM8Sr02Kch1xghVwT13ZkyCyd8DpcL4HgBJ4GQQg== + version "3.10.1" + resolved "https://registry.yarnpkg.com/react-native-permissions/-/react-native-permissions-3.10.1.tgz#cb0171c8d12113869deaabbdfb979aad1a44752b" + integrity sha512-Gc5BxxpjZn4QNUDiVeHOO0vXh3AH7ToolmwTJozqC6DsxV7NAf3ttap+8BSmzDR8WxuAM3Cror+YNiBhHJx7/w== react-native-pure-jwt@^3.0.1: version "3.0.2" @@ -13007,9 +13873,9 @@ react-native-share@^8.0.0: integrity sha512-kVCI/cT0GnuYUTXe6mAimrjrnt4VWoRfrWqJZjFeoYFqAyOEfos84RC4eZlZnOT5eVtmTXRIkor5vgSkKOlZhw== react-native-size-matters@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/react-native-size-matters/-/react-native-size-matters-0.4.1.tgz#c219bfe8fb99c11e71787141735a8bba7de6b461" - integrity sha512-XQOsLwxx4az1bbf3DP4a+ZdOnhT1dV0pqCGi6YJCHwvdrUPKkQMWo4dl7F93UvRR4pPUC9oEMjMdVJgPwnd1tg== + version "0.4.2" + resolved "https://registry.yarnpkg.com/react-native-size-matters/-/react-native-size-matters-0.4.2.tgz#4348bdd6fc47383f60326d58ad69870c998a5f9a" + integrity sha512-DKE3f/sdcozd24oASgkP1iGg+YU3HoajRa5k3a4wkRzpiqREq8SGX12Y5zBgAt/8IivLQoTMYkyQu1/Giuy+zQ== react-native-sqlite-storage@^6.0.1: version "6.0.1" @@ -13052,9 +13918,9 @@ react-native-text-gradient@^0.1.7: integrity sha512-QuEwW8TMKBNI5ejmDFu3/SDJh5CIzOi5eL1xNzq8yBEwU5wHaloBxhQ9K0zc16GPkr3KgSUDyU4olQtiYje4mw== react-native-toast-message@^2.1.1: - version "2.1.6" - resolved "https://registry.yarnpkg.com/react-native-toast-message/-/react-native-toast-message-2.1.6.tgz#322827c66901fa22cb3db614c7383cc717f5bbe2" - integrity sha512-VctXuq20vmRa9AE13acaNZhrLcS3FaBS2zEevS3+vhBsnVZYG0FIlWIis9tVnpnNxUb3ART+BWtwQjzSttXTng== + version "2.2.0" + resolved "https://registry.yarnpkg.com/react-native-toast-message/-/react-native-toast-message-2.2.0.tgz#c53a4746b15616858a7d61c4386b92cbe9fbf911" + integrity sha512-AFti8VzUk6JvyGAlLm9/BknTNDXrrhqnUk7ak/pM7uCTxDPveAu2ekszU0on6vnUPFnG04H/QfYE2IlETqeaWw== react-native-url-polyfill@^1.3.0: version "1.3.0" @@ -13063,6 +13929,49 @@ react-native-url-polyfill@^1.3.0: dependencies: whatwg-url-without-unicode "8.0.0-3" +react-native@*: + version "0.73.2" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.73.2.tgz#74ee163c8189660d41d1da6560411da7ce41a608" + integrity sha512-7zj9tcUYpJUBdOdXY6cM8RcXYWkyql4kMyGZflW99E5EuFPoC7Ti+ZQSl7LP9ZPzGD0vMfslwyDW0I4tPWUCFw== + dependencies: + "@jest/create-cache-key-function" "^29.6.3" + "@react-native-community/cli" "12.3.0" + "@react-native-community/cli-platform-android" "12.3.0" + "@react-native-community/cli-platform-ios" "12.3.0" + "@react-native/assets-registry" "0.73.1" + "@react-native/codegen" "0.73.2" + "@react-native/community-cli-plugin" "0.73.12" + "@react-native/gradle-plugin" "0.73.4" + "@react-native/js-polyfills" "0.73.1" + "@react-native/normalize-colors" "0.73.2" + "@react-native/virtualized-lists" "0.73.4" + abort-controller "^3.0.0" + anser "^1.4.9" + ansi-regex "^5.0.0" + base64-js "^1.5.1" + deprecated-react-native-prop-types "^5.0.0" + event-target-shim "^5.0.1" + flow-enums-runtime "^0.0.6" + invariant "^2.2.4" + jest-environment-node "^29.6.3" + jsc-android "^250231.0.0" + memoize-one "^5.0.0" + metro-runtime "^0.80.3" + metro-source-map "^0.80.3" + mkdirp "^0.5.1" + nullthrows "^1.1.1" + pretty-format "^26.5.2" + promise "^8.3.0" + react-devtools-core "^4.27.7" + react-refresh "^0.14.0" + react-shallow-renderer "^16.15.0" + regenerator-runtime "^0.13.2" + scheduler "0.24.0-canary-efb381bbf-20230505" + stacktrace-parser "^0.1.10" + whatwg-fetch "^3.0.0" + ws "^6.2.2" + yargs "^17.6.2" + react-native@0.71.8: version "0.71.8" resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.71.8.tgz#4314145341c49448cf7465b93ced52a433a5e191" @@ -13115,6 +14024,11 @@ react-redux@^7.2.4: prop-types "^15.7.2" react-is "^17.0.2" +react-refresh@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== + react-refresh@^0.4.0: version "0.4.3" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.3.tgz#966f1750c191672e76e16c2efa569150cc73ab53" @@ -13184,7 +14098,7 @@ readable-stream@^2.2.2, readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0, readable-stream@^3.6.2: +readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0, readable-stream@^3.6.2: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -13247,9 +14161,9 @@ redux@^4.0.0, redux@^4.1.1, redux@^4.2.1: "@babel/runtime" "^7.9.2" reflect-metadata@^0.1.13: - version "0.1.13" - resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" - integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== + version "0.1.14" + resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.14.tgz#24cf721fe60677146bb77eeb0e1f9dece3d65859" + integrity sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A== reflect.getprototypeof@^1.0.4: version "1.0.4" @@ -13281,9 +14195,9 @@ regenerator-runtime@^0.13.2: integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== regenerator-runtime@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" - integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== regenerator-transform@^0.15.2: version "0.15.2" @@ -13292,7 +14206,7 @@ regenerator-transform@^0.15.2: dependencies: "@babel/runtime" "^7.8.4" -regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: +regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== @@ -13387,20 +14301,20 @@ resolve.exports@^2.0.0: integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== resolve@^1.10.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4: - version "1.22.6" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362" - integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" resolve@^2.0.0-next.4: - version "2.0.0-next.4" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" - integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== dependencies: - is-core-module "^2.9.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -13442,11 +14356,6 @@ rfc4648@1.5.2: resolved "https://registry.yarnpkg.com/rfc4648/-/rfc4648-1.5.2.tgz#cf5dac417dd83e7f4debf52e3797a723c1373383" integrity sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg== -rfdc@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== - rimraf@^2.2.8, rimraf@^2.6.2, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -13504,21 +14413,18 @@ rn-nodeify@^10.3.0: xtend "^4.0.0" roarr@^7.0.4: - version "7.15.1" - resolved "https://registry.yarnpkg.com/roarr/-/roarr-7.15.1.tgz#e4d93105c37b5ea7dd1200d96a3500f757ddc39f" - integrity sha512-0ExL9rjOXeQPvQvQo8IcV8SR2GTXmDr1FQFlY2HiAV+gdVQjaVZNOx9d4FI2RqFFsd0sNsiw2TRS/8RU9g0ZfA== + version "7.21.0" + resolved "https://registry.yarnpkg.com/roarr/-/roarr-7.21.0.tgz#5c3c7b88802f85219b77c2e6f166532aa31c675d" + integrity sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg== dependencies: - boolean "^3.1.4" - fast-json-stringify "^5.8.0" fast-printf "^1.6.9" - globalthis "^1.0.2" safe-stable-stringify "^2.4.3" semver-compare "^1.0.0" rtl-detect@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/rtl-detect/-/rtl-detect-1.0.4.tgz#40ae0ea7302a150b96bc75af7d749607392ecac6" - integrity sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ== + version "1.1.2" + resolved "https://registry.yarnpkg.com/rtl-detect/-/rtl-detect-1.1.2.tgz#ca7f0330af5c6bb626c15675c642ba85ad6273c6" + integrity sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ== run-parallel@^1.1.2, run-parallel@^1.1.9: version "1.2.0" @@ -13528,12 +14434,12 @@ run-parallel@^1.1.2, run-parallel@^1.1.9: queue-microtask "^1.2.2" safe-array-concat@^1.0.0, safe-array-concat@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" - integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.0.tgz#8d0cae9cb806d6d1c06e08ab13d847293ebe0692" + integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" + call-bind "^1.0.5" + get-intrinsic "^1.2.2" has-symbols "^1.0.3" isarray "^2.0.5" @@ -13553,12 +14459,12 @@ safe-json-stringify@~1: integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + version "1.0.2" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.2.tgz#3ba32bdb3ea35f940ee87e5087c60ee786c3f6c5" + integrity sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" + call-bind "^1.0.5" + get-intrinsic "^1.2.2" is-regex "^1.1.4" safe-stable-stringify@^2.4.3: @@ -13588,6 +14494,13 @@ saxes@^6.0.0: dependencies: xmlchars "^2.2.0" +scheduler@0.24.0-canary-efb381bbf-20230505: + version "0.24.0-canary-efb381bbf-20230505" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz#5dddc60e29f91cd7f8b983d7ce4a99c2202d178f" + integrity sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA== + dependencies: + loose-envify "^1.1.0" + scheduler@^0.23.0: version "0.23.0" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" @@ -13652,12 +14565,12 @@ semver@7.3.2: resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: +semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: +semver@^7.3.5, semver@^7.3.7, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -13722,9 +14635,9 @@ serialize-error@^8.0.1, serialize-error@^8.1.0: type-fest "^0.20.2" serialize-javascript@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" - integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== dependencies: randombytes "^2.1.0" @@ -13743,6 +14656,17 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== +set-function-length@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1" + integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== + dependencies: + define-data-property "^1.1.1" + function-bind "^1.1.2" + get-intrinsic "^1.2.2" + gopd "^1.0.1" + has-property-descriptors "^1.0.1" + set-function-name@^2.0.0, set-function-name@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" @@ -13835,6 +14759,25 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" + integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== + dependencies: + decompress-response "^6.0.0" + once "^1.3.1" + simple-concat "^1.0.0" + simple-plist@^1.1.0: version "1.3.1" resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.1.tgz#16e1d8f62c6c9b691b8383127663d834112fb017" @@ -13972,9 +14915,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.15" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz#142460aabaca062bc7cd4cc87b7d50725ed6a4ba" - integrity sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ== + version "3.0.16" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" + integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== split-on-first@^1.0.0: version "1.1.0" @@ -13994,12 +14937,13 @@ sprintf-js@~1.0.2: integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== sqlite3@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-5.1.6.tgz#1d4fbc90fe4fbd51e952e0a90fd8f6c2b9098e97" - integrity sha512-olYkWoKFVNSSSQNvxVUfjiVbz3YtBwTJj+mfV5zpHmqW3sELx2Cf4QCdirMelhM5Zh+KDVaKgQHqCxrqiWHybw== + version "5.1.7" + resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-5.1.7.tgz#59ca1053c1ab38647396586edad019b1551041b7" + integrity sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog== dependencies: - "@mapbox/node-pre-gyp" "^1.0.0" - node-addon-api "^4.2.0" + bindings "^1.5.0" + node-addon-api "^7.0.0" + prebuild-install "^7.1.1" tar "^6.1.11" optionalDependencies: node-gyp "8.x" @@ -14028,7 +14972,7 @@ stackframe@^1.3.4: resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== -stacktrace-parser@^0.1.3: +stacktrace-parser@^0.1.10, stacktrace-parser@^0.1.3: version "0.1.10" resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== @@ -14101,7 +15045,7 @@ string-range@~1.2, string-range@~1.2.1: resolved "https://registry.yarnpkg.com/string-range/-/string-range-1.2.2.tgz#a893ed347e72299bc83befbbf2a692a8d239d5dd" integrity sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w== -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -14110,7 +15054,16 @@ string-range@~1.2, string-range@~1.2.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string.prototype.matchall@^4.0.8: +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.matchall@^4.0.10, string.prototype.matchall@^4.0.8: version "4.0.10" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== @@ -14171,6 +15124,13 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^5.0.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" @@ -14178,13 +15138,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -14268,13 +15221,13 @@ styled-components@^5.3.3: supports-color "^5.5.0" sucrase@^3.20.0: - version "3.34.0" - resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.34.0.tgz#1e0e2d8fcf07f8b9c3569067d92fbd8690fb576f" - integrity sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw== + version "3.35.0" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" + integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== dependencies: "@jridgewell/gen-mapping" "^0.3.2" commander "^4.0.0" - glob "7.1.6" + glob "^10.3.10" lines-and-columns "^1.1.6" mz "^2.7.0" pirates "^4.0.1" @@ -14363,6 +15316,27 @@ tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== +tar-fs@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + tar@^6.0.2, tar@^6.0.5, tar@^6.1.11, tar@^6.1.2: version "6.2.0" resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" @@ -14429,20 +15403,20 @@ terminal-link@^2.1.1: supports-hyperlinks "^2.0.0" terser-webpack-plugin@^5.3.7: - version "5.3.9" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" - integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== dependencies: - "@jridgewell/trace-mapping" "^0.3.17" + "@jridgewell/trace-mapping" "^0.3.20" jest-worker "^27.4.5" schema-utils "^3.1.1" serialize-javascript "^6.0.1" - terser "^5.16.8" + terser "^5.26.0" -terser@^5.15.0, terser@^5.16.8: - version "5.20.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.20.0.tgz#ea42aea62578703e33def47d5c5b93c49772423e" - integrity sha512-e56ETryaQDyebBwJIWYB2TT6f2EZ0fL0sW/JRXNMN26zZdKi2u/E/5my5lG6jNxym6qsrVXfFRmOdV42zlAgLQ== +terser@^5.15.0, terser@^5.26.0: + version "5.27.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.0.tgz#70108689d9ab25fef61c4e93e808e9fd092bf20c" + integrity sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -14562,9 +15536,9 @@ tr46@~0.0.3: integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== traverse@~0.6.6: - version "0.6.7" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.7.tgz#46961cd2d57dd8706c36664acde06a248f1173fe" - integrity sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg== + version "0.6.8" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.8.tgz#5e5e0c41878b57e4b73ad2f3d1e36a715ea4ab15" + integrity sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA== trim-newlines@^2.0.0: version "2.0.0" @@ -14577,9 +15551,9 @@ ts-interface-checker@^0.1.9: integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== ts-jest@^29.0.5: - version "29.1.1" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.1.tgz#f58fe62c63caf7bfcc5cc6472082f79180f0815b" - integrity sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA== + version "29.1.2" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.2.tgz#7613d8c81c43c8cb312c6904027257e814c40e09" + integrity sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g== dependencies: bs-logger "0.x" fast-json-stable-stringify "2.x" @@ -14591,9 +15565,9 @@ ts-jest@^29.0.5: yargs-parser "^21.0.1" ts-node@^10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== dependencies: "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" @@ -14609,10 +15583,10 @@ ts-node@^10.9.1: v8-compile-cache-lib "^3.0.1" yn "3.1.1" -tsconfig-paths@^3.14.2: - version "3.14.2" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" - integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.2" @@ -14624,7 +15598,7 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.1: +tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.1, tslib@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== @@ -14641,6 +15615,13 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + tweetnacl-util@^0.15.1: version "0.15.1" resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" @@ -14799,9 +15780,9 @@ typescript@^4.9.4: integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== ua-parser-js@^1.0.35: - version "1.0.36" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.36.tgz#a9ab6b9bd3a8efb90bb0816674b412717b7c428c" - integrity sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw== + version "1.0.37" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f" + integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ== uglify-es@^3.1.9: version "3.3.9" @@ -14825,6 +15806,13 @@ uint8arrays@3.1.1, uint8arrays@^3.0.0, uint8arrays@^3.1.0, uint8arrays@^3.1.1: dependencies: multiformats "^9.4.2" +uint8arrays@^2.1.4: + version "2.1.10" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-2.1.10.tgz#34d023c843a327c676e48576295ca373c56e286a" + integrity sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A== + dependencies: + multiformats "^9.4.2" + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -14840,6 +15828,11 @@ underscore@1.12.1: resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -14907,9 +15900,9 @@ universalify@^1.0.0: integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" @@ -14956,15 +15949,10 @@ url-parse@^1.5.10, url-parse@^1.5.3, url-parse@^1.5.4, url-parse@^1.5.9: querystringify "^2.1.1" requires-port "^1.0.0" -use-latest-callback@^0.1.5: - version "0.1.6" - resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.1.6.tgz#3fa6e7babbb5f9bfa24b5094b22939e1e92ebcf6" - integrity sha512-VO/P91A/PmKH9bcN9a7O3duSuxe6M14ZoYXgA6a8dab8doWNdhiIHzEkX/jFeTTRBsX0Ubk6nG4q2NIjNsj+bg== - -use-latest-callback@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.1.7.tgz#f189fa4e58ee18c7a2d9de53f92210e118d1b14f" - integrity sha512-Hlrl0lskgZZpo2vIpZ4rA7qA/rAGn2PcDvDH1M47AogqMPB0qlGEdsa66AVkIUiEEDpfxA9/N6hY6MqtaNoqWA== +use-latest-callback@^0.1.5, use-latest-callback@^0.1.7: + version "0.1.9" + resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.1.9.tgz#10191dc54257e65a8e52322127643a8940271e2a" + integrity sha512-CL/29uS74AwreI/f2oz2hLTW7ZqVeV5+gxFeGudzQrgkCytrHw33G4KbnQOrRlAEzzAFXi7dDLMC9zhWcVpzmw== use-sync-external-store@^1.0.0: version "1.2.0" @@ -15040,13 +16028,13 @@ v8-compile-cache-lib@^3.0.1: integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== v8-to-istanbul@^9.0.1: - version "9.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" - integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA== + version "9.2.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== dependencies: "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" + convert-source-map "^2.0.0" valid-url@~1.0.9: version "1.0.9" @@ -15068,7 +16056,7 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" -validator@^13.7.0: +validator@^13.7.0, validator@^13.9.0: version "13.11.0" resolved "https://registry.yarnpkg.com/validator/-/validator-13.11.0.tgz#23ab3fd59290c61248364eabf4067f04955fbb1b" integrity sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ== @@ -15150,9 +16138,9 @@ web-encoding@^1.1.5: "@zxing/text-encoding" "0.9.0" web-streams-polyfill@^3.0.0, web-streams-polyfill@^3.0.3: - version "3.2.1" - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" - integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== + version "3.3.2" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.2.tgz#32e26522e05128203a7de59519be3c648004343b" + integrity sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ== webcrypto-core@^1.7.7: version "1.7.7" @@ -15191,9 +16179,9 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.76.1: - version "5.88.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.88.2.tgz#f62b4b842f1c6ff580f3fcb2ed4f0b579f4c210e" - integrity sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ== + version "5.89.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" + integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.0" @@ -15228,9 +16216,9 @@ whatwg-encoding@^2.0.0: iconv-lite "0.6.3" whatwg-fetch@^3.0.0: - version "3.6.19" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz#caefd92ae630b91c07345537e67f8354db470973" - integrity sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw== + version "3.6.20" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz#580ce6d791facec91d37c72890995a0b48d31c70" + integrity sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg== whatwg-mimetype@^3.0.0: version "3.0.0" @@ -15306,13 +16294,13 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== -which-typed-array@^1.1.11, which-typed-array@^1.1.2, which-typed-array@^1.1.9: - version "1.1.11" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a" - integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== +which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2, which-typed-array@^1.1.9: + version "1.1.13" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" + integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== dependencies: available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + call-bind "^1.0.4" for-each "^0.3.3" gopd "^1.0.1" has-tostringtag "^1.0.0" @@ -15331,7 +16319,7 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" -wide-align@^1.1.2, wide-align@^1.1.5: +wide-align@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== @@ -15353,6 +16341,15 @@ word-wrap@~1.2.3: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" @@ -15362,14 +16359,14 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" wrappy@1: version "1.0.2" @@ -15411,9 +16408,9 @@ ws@^7, ws@^7.5.1: integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== ws@^8.11.0, ws@^8.12.1: - version "8.14.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" - integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== + version "8.16.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== xcode@^3.0.0, xcode@^3.0.1: version "3.0.1" @@ -15469,9 +16466,9 @@ xmlhttprequest@^1.8.0: integrity sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA== xstate@^4.38.2: - version "4.38.2" - resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.38.2.tgz#1b74544fc9c8c6c713ba77f81c6017e65aa89804" - integrity sha512-Fba/DwEPDLneHT3tbJ9F3zafbQXszOlyCJyQqqdzmtlY/cwE2th462KK48yaANf98jHlP6lJvxfNtN0LFKXPQg== + version "4.38.3" + resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.38.3.tgz#4e15e7ad3aa0ca1eea2010548a5379966d8f1075" + integrity sha512-SH7nAaaPQx57dx6qvfcIgqKRXIh4L0A1iYEqim4s1u7c9VoCgzZc+63FY90AKU4ZzOC2cfJzTnpO4zK7fCUzzw== xtend@^2.2.0: version "2.2.0" @@ -15521,10 +16518,10 @@ yaml@^1.10.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^2.2.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.2.tgz#f522db4313c671a0ca963a75670f1c12ea909144" - integrity sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg== +yaml@^2.2.1, yaml@^2.2.2: + version "2.3.4" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== yargs-parser@^10.0.0: version "10.1.0" From 7a50cee1b3f394ecc6b83e2f0246b10522abe5c9 Mon Sep 17 00:00:00 2001 From: Niels Klomp Date: Fri, 9 Feb 2024 01:24:42 +0100 Subject: [PATCH 02/10] feat: Enable .env/Environment var support and ensure the debug package actually reacts to it for logging. The wallets logs sphereon debug statements by default in development mode and nothing in production mode. This can be changed using the .env file --- .env | 1 + App.tsx | 1 + babel.config.js | 2 +- package.json | 62 ++-- shim.js | 20 +- src/machines/onboardingMachine.tsx | 20 +- .../authentication/SIOPv2Provider.ts | 13 +- .../credential/OpenId4VcIssuanceProvider.ts | 49 ++- src/services/identityService.ts | 17 +- .../machines/oid4vciMachineService.ts | 31 +- src/services/machines/siopV2MachineService.ts | 12 +- src/services/qrService.ts | 9 +- .../openIdVcIssuanceProvider/index.ts | 5 +- yarn.lock | 305 +++++++++--------- 14 files changed, 303 insertions(+), 244 deletions(-) create mode 100644 .env diff --git a/.env b/.env new file mode 100644 index 00000000..05de6f19 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +DEBUG=* diff --git a/App.tsx b/App.tsx index 7eb79ed0..17f76b67 100644 --- a/App.tsx +++ b/App.tsx @@ -1,6 +1,7 @@ import {NavigationContainer} from '@react-navigation/native'; import crypto from '@sphereon/isomorphic-webcrypto'; import {backgroundColors} from '@sphereon/ui-components.core'; +import debug from 'debug'; import * as SplashScreen from 'expo-splash-screen'; import * as React from 'react'; import {useCallback, useEffect, useState} from 'react'; diff --git a/babel.config.js b/babel.config.js index 82f40cd4..6b51631a 100644 --- a/babel.config.js +++ b/babel.config.js @@ -2,6 +2,6 @@ module.exports = function (api) { api.cache(true); return { presets: ['babel-preset-expo'], - plugins: ['@babel/plugin-syntax-import-assertions'], + plugins: ['@babel/plugin-syntax-import-assertions', 'module:react-native-dotenv'], }; }; diff --git a/package.json b/package.json index 2d25d27d..fb6fa2e3 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "dependencies": { "@astronautlabs/jsonpath": "^1.1.2", "@ethersproject/shims": "^5.7.0", + "react-native-dotenv": "^3.4.9", "@react-native-async-storage/async-storage": "1.17.11", "@react-native-community/blur": "^4.3.0", "@react-native-community/hooks": "^3.0.0", @@ -39,30 +40,31 @@ "@react-navigation/stack": "^6.3.20", "@reduxjs/toolkit": "^1.9.3", "@scure/base": "^1.1.3", - "@sphereon/did-auth-siop": "0.6.0-unstable.7", + "@sphereon/did-auth-siop": "0.6.0-unstable.9", "@sphereon/isomorphic-webcrypto": "2.4.0-unstable.4", - "@sphereon/oid4vci-client": "0.8.2-unstable.65", - "@sphereon/oid4vci-common": "0.8.2-unstable.65", + "@sphereon/oid4vci-client": "0.8.2-unstable.72", + "@sphereon/oid4vci-common": "0.8.2-unstable.72", "@sphereon/pex": "3.2.1-unstable.7", "@sphereon/pex-models": "^2.2.0", "@sphereon/react-native-argon2": "2.0.9", - "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.16.0", - "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.16.0", - "@sphereon/ssi-sdk-ext.did-provider-key": "0.16.0", - "@sphereon/ssi-sdk-ext.did-resolver-key": "0.16.0", - "@sphereon/ssi-sdk-ext.did-resolver-ebsi": "^0.15.1-next.13", - "@sphereon/ssi-sdk-ext.did-utils": "0.16.0", - "@sphereon/ssi-sdk-ext.key-manager": "0.16.0", - "@sphereon/ssi-sdk-ext.kms-local": "0.16.0", - "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.35", - "@sphereon/ssi-sdk.core": "0.18.2-unstable.35", - "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.35", - "@sphereon/ssi-sdk.issuance-branding": "0.18.2-unstable.35", - "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.18.2-unstable.35", - "@sphereon/ssi-sdk.vc-handler-ld-local": "0.18.2-unstable.35", - "@sphereon/ssi-types": "0.18.2-unstable.35", - "@sphereon/ui-components.core": "0.1.3-unstable.88", - "@sphereon/ui-components.ssi-react-native": "0.1.3-unstable.88", + "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.16.1-next.2", + "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.16.1-next.2", + "@sphereon/ssi-sdk-ext.did-provider-key": "0.16.1-next.2", + "@sphereon/ssi-sdk-ext.did-resolver-key": "0.16.1-next.2", + "@sphereon/ssi-sdk-ext.did-resolver-ebsi": "0.16.1-next.2", + "@sphereon/ssi-sdk-ext.did-utils": "0.16.1-next.2", + "@sphereon/ssi-sdk-ext.key-manager": "0.16.1-next.2", + "@sphereon/ssi-sdk-ext.kms-local": "0.16.1-next.2", + "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.46", + "@sphereon/ssi-sdk.core": "0.18.2-unstable.46", + "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.46", + "@sphereon/ssi-sdk.issuance-branding": "0.18.2-unstable.46", + "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.18.2-unstable.46", + "@sphereon/ssi-sdk.vc-handler-ld-local": "0.18.2-unstable.46", + "@sphereon/ssi-sdk.event-logger": "0.18.2-unstable.46", + "@sphereon/ssi-types": "0.18.2-unstable.46", + "@sphereon/ui-components.core": "0.1.3-unstable.104", + "@sphereon/ui-components.ssi-react-native": "0.1.3-unstable.104", "@transmute/lds-ecdsa-secp256k1-recovery2020": "^0.0.7", "@veramo/core": "4.2.0", "@veramo/credential-w3c": "4.2.0", @@ -243,16 +245,16 @@ "**/expo-random": "~13.1.1", "ajv": "^8.12.0", "@sphereon/isomorphic-argon2": "1.0.1", - "@sphereon/did-auth-siop": "0.6.0-unstable.7", - "@sphereon/ssi-types": "0.18.2-unstable.35", - "@sphereon/ssi-sdk.core": "0.18.2-unstable.35", - "@sphereon/ssi-sdk-ext.did-utils": "0.16.0", - "@sphereon/ssi-sdk-ext.kms-local": "0.16.0", - "@sphereon/ssi-sdk-ext.key-manager": "0.16.0", - "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.35", - "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.35", - "@sphereon/oid4vci-client": "0.8.2-unstable.65", - "@sphereon/oid4vci-common": "0.8.2-unstable.65", + "@sphereon/did-auth-siop": "0.6.0-unstable.9", + "@sphereon/ssi-types": "0.18.2-unstable.46", + "@sphereon/ssi-sdk.core": "0.18.2-unstable.46", + "@sphereon/ssi-sdk-ext.did-utils": "0.16.1-next.2", + "@sphereon/ssi-sdk-ext.kms-local": "0.16.1-next.2", + "@sphereon/ssi-sdk-ext.key-manager": "0.16.1-next.2", + "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.46", + "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.46", + "@sphereon/oid4vci-client": "0.8.2-unstable.72", + "@sphereon/oid4vci-common": "0.8.2-unstable.72", "@sphereon/pex": "3.2.1-unstable.7", "@sphereon/pex-models": "2.2.0", "@mattrglobal/bbs-signatures": "npm:@animo-id/react-native-bbs-signatures@^0.1.0", diff --git a/shim.js b/shim.js index fae59447..84485446 100644 --- a/shim.js +++ b/shim.js @@ -1,3 +1,4 @@ +import {DEBUG} from '@env'; if (typeof __dirname === 'undefined') global.__dirname = '/'; if (typeof __filename === 'undefined') global.__filename = ''; if (typeof process === 'undefined') { @@ -10,6 +11,7 @@ if (typeof process === 'undefined') { } } } +const debug = require('debug'); process.browser = false; if (typeof Buffer === 'undefined') global.Buffer = require('buffer').Buffer; @@ -17,8 +19,22 @@ if (typeof Buffer === 'undefined') global.Buffer = require('buffer').Buffer; // global.location = global.location || { port: 80 } const isDev = typeof __DEV__ === 'boolean' && __DEV__; process.env['NODE_ENV'] = isDev ? 'development' : 'production'; -if (typeof localStorage !== 'undefined') { - localStorage.debug = isDev ? '*' : ''; +const level = isDev ? DEBUG ?? '*' : ''; +if (typeof window !== 'undefined') { + // @ts-ignore + process.type = 'renderer'; + // @ts-ignore + window.localStorage = { + debug: level, + getItem: () => { + return level; + }, + }; +} + +if (isDev) { + debug.log = console.info.bind(console); + debug.enable(level); } // If using the crypto shim, uncomment the following line to ensure diff --git a/src/machines/onboardingMachine.tsx b/src/machines/onboardingMachine.tsx index a95fbd83..9d9ed25e 100644 --- a/src/machines/onboardingMachine.tsx +++ b/src/machines/onboardingMachine.tsx @@ -1,17 +1,17 @@ -import {Context, createContext} from 'react'; -import {assign, createMachine, interpret} from 'xstate'; -import {v4 as uuidv4} from 'uuid'; import {CredentialPayload} from '@veramo/core'; -import {setupWallet} from '../services/machines/onboardingMachineService'; -import {onboardingStateNavigationListener} from '../navigation/machines/onboardingStateNavigation'; + +import Debug, {Debugger} from 'debug'; +import {v4 as uuidv4} from 'uuid'; +import {assign, createMachine, interpret} from 'xstate'; import {APP_ID, EMAIL_ADDRESS_VALIDATION_REGEX} from '../@config/constants'; +import {onboardingStateNavigationListener} from '../navigation/machines/onboardingStateNavigation'; +import {setupWallet} from '../services/machines/onboardingMachineService'; import {SupportedDidMethodEnum} from '../types'; import { CreateOnboardingMachineOpts, InstanceOnboardingMachineOpts, - OnboardingMachineContext, NextEvent, - OnboardingContext, + OnboardingMachineContext, OnboardingMachineEvents, OnboardingMachineEventTypes, OnboardingMachineGuards, @@ -25,8 +25,6 @@ import { WalletSetupServiceResult, } from '../types/machines/onboarding'; -import Debug, {Debugger} from 'debug'; - const debug: Debugger = Debug(`${APP_ID}:onboarding`); const onboardingToSAgreementGuard = (ctx: OnboardingMachineContext, _event: OnboardingMachineEventTypes) => @@ -48,8 +46,8 @@ const onboardingPinCodeVerifyGuard = (ctx: OnboardingMachineContext, event: Next const createOnboardingMachine = (opts?: CreateOnboardingMachineOpts) => { const credentialData = { - didMethod: opts?.credentialData?.didMethod ?? SupportedDidMethodEnum.DID_KEY, - didOptions: opts?.credentialData?.didOptions ?? {codecName: 'EBSI', type: 'Secp256r1'}, // todo: We need a preference/options provider supporting ecosystems + didMethod: opts?.credentialData?.didMethod ?? SupportedDidMethodEnum.DID_JWK, + didOptions: opts?.credentialData?.didOptions ?? {/*codecName: 'EBSI',*/ type: 'Secp256r1'}, // todo: We need a preference/options provider supporting ecosystems proofFormat: opts?.credentialData?.proofFormat ?? 'jwt', credential: opts?.credentialData?.credential ?? diff --git a/src/providers/authentication/SIOPv2Provider.ts b/src/providers/authentication/SIOPv2Provider.ts index 17941ced..11711fb0 100644 --- a/src/providers/authentication/SIOPv2Provider.ts +++ b/src/providers/authentication/SIOPv2Provider.ts @@ -2,7 +2,7 @@ import {CheckLinkedDomain, SupportedVersion, VerifiedAuthorizationRequest} from import {getIdentifier, getKey} from '@sphereon/ssi-sdk-ext.did-utils'; import {ConnectionTypeEnum, DidAuthConfig} from '@sphereon/ssi-sdk.data-store'; import {OpSession, VerifiableCredentialsWithDefinition, VerifiablePresentationWithDefinition, OID4VP} from '@sphereon/ssi-sdk.siopv2-oid4vp-op-auth'; -import {PresentationSubmission} from '@sphereon/ssi-types'; // FIXME we should fix the export of these objects +import {CredentialMapper, PresentationSubmission} from '@sphereon/ssi-types'; // FIXME we should fix the export of these objects import {IIdentifier} from '@veramo/core'; import Debug, {Debugger} from 'debug'; @@ -82,6 +82,17 @@ export const siopSendAuthorizationResponse = async ( ? 'https://self-issued.me/v2/openid-vc' : 'https://self-issued.me/v2'); debug(`NONCE: ${session.nonce}, domain: ${domain}`); + + const firstVC = CredentialMapper.toUniformCredential(credentialsAndDefinitions[0].credentials[0]); + const holder = Array.isArray(firstVC.credentialSubject) ? firstVC.credentialSubject[0].id : firstVC.credentialSubject.id; + if (holder) { + try { + identifier = await session.context.agent.didManagerGet({did: holder}); + } catch (e) { + debug(`Holder DID not found: ${holder}`); + } + } + console.log(`PRE CREATE VP ${new Date().toString()}`); presentationsAndDefs = await oid4vp.createVerifiablePresentations(credentialsAndDefinitions, { identifierOpts: {identifier}, diff --git a/src/providers/credential/OpenId4VcIssuanceProvider.ts b/src/providers/credential/OpenId4VcIssuanceProvider.ts index 4243fd56..39bf0727 100644 --- a/src/providers/credential/OpenId4VcIssuanceProvider.ts +++ b/src/providers/credential/OpenId4VcIssuanceProvider.ts @@ -20,6 +20,7 @@ import { import {KeyUse} from '@sphereon/ssi-sdk-ext.did-resolver-jwk'; import {getFirstKeyWithRelation} from '@sphereon/ssi-sdk-ext.did-utils'; import {IBasicCredentialLocaleBranding} from '@sphereon/ssi-sdk.data-store'; +import {IIdentifier} from '@veramo/core'; import {_ExtendedIKey} from '@veramo/utils'; import Debug, {Debugger} from 'debug'; import {JWTHeader} from 'did-jwt'; @@ -59,7 +60,7 @@ export enum LDPProofTypeEnum { JcsEd25519Signature2020 = 'JcsEd25519Signature2020', } -export const didMethodPreferences = [SupportedDidMethodEnum.DID_KEY, SupportedDidMethodEnum.DID_JWK, SupportedDidMethodEnum.DID_ION]; +export const didMethodPreferences = [SupportedDidMethodEnum.DID_JWK, SupportedDidMethodEnum.DID_KEY, SupportedDidMethodEnum.DID_ION]; export const jsonldCryptographicSuitePreferences = [ 'Ed25519Signature2018', @@ -244,7 +245,6 @@ class OpenId4VcIssuanceProvider { const provider: OpenId4VcIssuanceProvider = new OpenId4VcIssuanceProvider(client); await provider.getServerMetadataAndPerformCryptoMatching(); - return provider; }; @@ -274,18 +274,29 @@ class OpenId4VcIssuanceProvider { return credentialResponses; }; - public getCredential = async ({issuanceOpt, pin}: {pin?: string; issuanceOpt: IIssuanceOpts}): Promise => { - if (!issuanceOpt) { - return Promise.reject(Error(`Cannot get credential issuance options`)); - } + private getIdentifier = async ({issuanceOpt}: {issuanceOpt: IIssuanceOpts}) => { const identifier = await getOrCreatePrimaryIdentifier({ method: issuanceOpt.didMethod, createOpts: {options: {type: issuanceOpt.keyType, use: KeyUse.Signature}}, }); - const key: _ExtendedIKey = - (await getFirstKeyWithRelation(identifier, agentContext, 'authentication', false)) || - ((await getFirstKeyWithRelation(identifier, agentContext, 'verificationMethod', true)) as _ExtendedIKey); + const key: _ExtendedIKey = await this.getAuthenticationKey(identifier); const kid: string = key.meta.verificationMethod.id; + return {identifier, key, kid}; + }; + + private async getAuthenticationKey(identifier: IIdentifier) { + return ( + (await getFirstKeyWithRelation(identifier, agentContext, 'authentication', false)) || + ((await getFirstKeyWithRelation(identifier, agentContext, 'verificationMethod', true)) as _ExtendedIKey) + ); + } + + public getCredential = async ({issuanceOpt, pin}: {pin?: string; issuanceOpt: IIssuanceOpts}): Promise => { + if (!issuanceOpt) { + return Promise.reject(Error(`Cannot get credential issuance options`)); + } + const {identifier, kid} = issuanceOpt; + const key = await this.getAuthenticationKey(identifier); const alg: SignatureAlgorithmEnum = SignatureAlgorithmFromKey(key); const callbacks: ProofOfPossessionCallbacks = { @@ -319,8 +330,10 @@ class OpenId4VcIssuanceProvider { console.log(`cred type: ${JSON.stringify(issuanceOpt.types)}, format: ${issuanceOpt.format}, kid: ${kid}, alg: ${alg}`); + // @ts-ignore return await this._client.acquireCredentials({ credentialTypes: issuanceOpt.types /*.filter((type: string): boolean => type !== 'VerifiableCredential')*/, + ...('@context' in issuanceOpt && issuanceOpt['@context'] && {context: issuanceOpt['@context']}), proofCallbacks: callbacks, format: issuanceOpt.format, // TODO: We need to update the machine and add notifications support for actuall deferred credentials instead of just waiting/retrying @@ -467,16 +480,21 @@ class OpenId4VcIssuanceProvider { const cryptographicSuite: string = await this.getIssuanceCryptoSuite({credentialSupported}); const didMethod: SupportedDidMethodEnum = await this.getIssuanceDidMethod(credentialSupported); - - issuanceOpts.push({ + const issuanceOpt = { ...credentialSupported, didMethod, format: credentialSupported.format, keyType: KeyTypeFromCryptographicSuite(cryptographicSuite), - } as IIssuanceOpts); + } as IIssuanceOpts; + const identifierOpts = await this.getIdentifier({issuanceOpt}); + + issuanceOpts.push({...issuanceOpt, ...identifierOpts}); } this._issuanceOpts = issuanceOpts; + if (!this.client.clientId) { + this.client.clientId = issuanceOpts[0].identifier.did; + } return this._issuanceOpts; }; @@ -486,11 +504,14 @@ class OpenId4VcIssuanceProvider { credentialSupported.types, )}', as no Server Metadata or no metadata match was present!`, ); - return { + const issuanceOpt = { ...credentialSupported, didMethod: SupportedDidMethodEnum.DID_JWK, keyType: 'Secp256k1', - }; + } as IIssuanceOpts; + const identifierOpts = this.getIdentifier(issuanceOpt); + + return {...issuanceOpt, ...identifierOpts}; } private getIssuanceCryptoSuite = async ({credentialSupported}: {credentialSupported: CredentialSupported}): Promise => { diff --git a/src/services/identityService.ts b/src/services/identityService.ts index 6b363dd5..469b1127 100644 --- a/src/services/identityService.ts +++ b/src/services/identityService.ts @@ -1,11 +1,14 @@ import {IIdentifier, IKey} from '@veramo/core'; +import Debug, {Debugger} from 'debug'; -import {DID_PREFIX} from '../@config/constants'; +import {APP_ID, DID_PREFIX} from '../@config/constants'; import {didManagerCreate, didManagerFind, didManagerGet} from '../agent'; import store from '../store'; import {getContacts} from '../store/actions/contact.actions'; import {addIdentifier} from '../store/actions/user.actions'; -import {ICreateIdentifierArgs, ICreateOrGetIdentifierArgs, IdentifierAliasEnum, KeyManagementSystemEnum} from '../types'; +import {ICreateIdentifierArgs, ICreateOrGetIdentifierArgs, IdentifierAliasEnum, KeyManagementSystemEnum, SupportedDidMethodEnum} from '../types'; + +const debug: Debugger = Debug(`${APP_ID}:identity`); export const getIdentifiers = async (): Promise => { // TODO fully implement @@ -37,11 +40,17 @@ export const getOrCreatePrimaryIdentifier = async (args?: ICreateOrGetIdentifier args?.createOpts?.options?.type === undefined || identifier.keys.some((key: IKey) => key.type === args?.createOpts?.options?.type), ); - console.log(`Currently available identifiers for ${args?.method} / ${args?.createOpts?.options?.type}: ${identifiers.length}`); + debug(`Currently available identifiers for ${args?.method} / ${args?.createOpts?.options?.type}: ${identifiers.length}`); // Currently we only support one identifier + + if (args?.method === SupportedDidMethodEnum.DID_KEY) { + const createOpts = args?.createOpts ?? {}; + createOpts.options = {codecName: 'EBSI', type: 'Secp256r1', ...createOpts}; + args.createOpts = createOpts; + } const identifier: IIdentifier = !identifiers || identifiers.length == 0 ? await createIdentifier(args) : identifiers[0]; - console.log(`created identifier: ${JSON.stringify(identifier, null, 2)}`); + debug(`identifier: ${JSON.stringify(identifier, null, 2)}`); return didManagerGet({did: identifier.did}); }; diff --git a/src/services/machines/oid4vciMachineService.ts b/src/services/machines/oid4vciMachineService.ts index d8dcb278..8aff02f6 100644 --- a/src/services/machines/oid4vciMachineService.ts +++ b/src/services/machines/oid4vciMachineService.ts @@ -39,33 +39,6 @@ export const initiateOpenId4VcIssuanceProvider = async (context: Pick, -): Promise => { - const {openId4VcIssuanceProvider} = context; - if (!openId4VcIssuanceProvider || !context.authorizationCodeResponse) { - throw Error('No authorization response received') - } - const authorizationResponse = toAuthorizationResponsePayload(context.authorizationCodeResponse) - openId4VcIssuanceProvider.authorizationCodeResponse = authorizationResponse; - - return authorizationResponse -}*/ -/*export const invokeAuthorizationRequest = async ( - context: Pick, -): Promise => { - const {openId4VcIssuanceProvider, authorizationCodeURL} = context; - - console.log(`invoke auth request: ${authorizationCodeURL}`) - if (authorizationCodeURL) { - await Linking.openURL(authorizationCodeURL); - } else if (openId4VcIssuanceProvider?.client.authorizationURL) { - await Linking.openURL(openId4VcIssuanceProvider?.client.authorizationURL); - } else { - throw Error('NOT_AUTHORIZED'); - } -};*/ - export const createCredentialSelection = async ( context: Pick, ): Promise> => { @@ -101,6 +74,10 @@ export const createCredentialSelection = async ( selectedCredentials.push(credentialSelection[0].credentialType); } + /* if (!openId4VcIssuanceProvider.client.clientId) { + openId4VcIssuanceProvider.client.clientId = openId4VcIssuanceProvider.credentialsSupported[0] + }*/ + return credentialSelection; }; diff --git a/src/services/machines/siopV2MachineService.ts b/src/services/machines/siopV2MachineService.ts index 17db2af1..21693698 100644 --- a/src/services/machines/siopV2MachineService.ts +++ b/src/services/machines/siopV2MachineService.ts @@ -1,6 +1,6 @@ import {Linking} from 'react-native'; import {v4 as uuidv4} from 'uuid'; -import {VerifiedAuthorizationRequest} from '@sphereon/did-auth-siop'; +import {PresentationDefinitionLocation, SupportedVersion, VerifiedAuthorizationRequest} from '@sphereon/did-auth-siop'; import { ConnectionTypeEnum, CorrelationIdentifierEnum, @@ -75,9 +75,13 @@ export const getSiopRequest = async ( uri, name, clientId, - presentationDefinitions: (await verifiedAuthorizationRequest.authorizationRequest.containsResponseType('vp_token')) - ? verifiedAuthorizationRequest.presentationDefinitions - : undefined, + presentationDefinitions: + (await verifiedAuthorizationRequest.authorizationRequest.containsResponseType('vp_token')) || + (verifiedAuthorizationRequest.versions.every(version => version <= SupportedVersion.JWT_VC_PRESENTATION_PROFILE_v1) && + verifiedAuthorizationRequest.presentationDefinitions && + verifiedAuthorizationRequest.presentationDefinitions.length > 0) + ? verifiedAuthorizationRequest.presentationDefinitions + : undefined, }; }; diff --git a/src/services/qrService.ts b/src/services/qrService.ts index 1857762c..0397427e 100644 --- a/src/services/qrService.ts +++ b/src/services/qrService.ts @@ -1,5 +1,5 @@ import {VerifiedAuthorizationRequest} from '@sphereon/did-auth-siop'; -import {CredentialOfferClient} from '@sphereon/oid4vci-client'; +import {convertURIToJsonObject, CredentialOfferClient} from '@sphereon/oid4vci-client'; import {ConnectionTypeEnum, DidAuthConfig, NonPersistedConnection} from '@sphereon/ssi-sdk.data-store'; import {IIdentifier} from '@veramo/core'; import Debug, {Debugger} from 'debug'; @@ -105,9 +105,10 @@ const parseSIOPv2 = (qrData: string): Promise => { const parseOID4VCI = async (qrData: string): Promise => { if (qrData.includes(QrTypesEnum.OPENID_INITIATE_ISSUANCE) || qrData.includes(QrTypesEnum.OPENID_CREDENTIAL_OFFER)) { - const hasCode = qrData.includes('code='); - const code = hasCode ? decodeURIComponent(qrData.split('code=')[1].split('&')[0]) : undefined; - console.log('code', code); + const offerData = convertURIToJsonObject(qrData) as Record; + const hasCode = 'code' in offerData && !!offerData.code && !('issuer' in offerData); + const code = hasCode ? offerData.code : undefined; + console.log('offer contained code: ', code); return Promise.resolve({ type: qrData.includes(QrTypesEnum.OPENID_INITIATE_ISSUANCE) ? QrTypesEnum.OPENID_INITIATE_ISSUANCE : QrTypesEnum.OPENID_CREDENTIAL_OFFER, diff --git a/src/types/provider/openIdVcIssuanceProvider/index.ts b/src/types/provider/openIdVcIssuanceProvider/index.ts index 8c9cbb54..34582d98 100644 --- a/src/types/provider/openIdVcIssuanceProvider/index.ts +++ b/src/types/provider/openIdVcIssuanceProvider/index.ts @@ -1,5 +1,6 @@ import {CredentialSupported, EndpointMetadata, EndpointMetadataResult, MetadataDisplay} from '@sphereon/oid4vci-common'; -import {TKeyType} from '@veramo/core'; +import {IIdentifier, TKeyType} from '@veramo/core'; +import {Identifier} from '@veramo/data-store'; import {SupportedDidMethodEnum} from '../../did'; import {IBasicCredentialLocaleBranding} from '@sphereon/ssi-sdk.data-store'; @@ -21,6 +22,8 @@ export interface IGetCredentialsArgs { export type IIssuanceOpts = CredentialSupported & { didMethod: SupportedDidMethodEnum; keyType: TKeyType; + kid?: string; + identifier: IIdentifier; }; export interface IGetVcIssuanceFormatArgs { diff --git a/yarn.lock b/yarn.lock index 08ae012f..a72a38d1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3435,14 +3435,14 @@ dependencies: "@sinonjs/commons" "^3.0.0" -"@sphereon/did-auth-siop@0.6.0-unstable.7", "@sphereon/did-auth-siop@0.6.0-unstable.8": - version "0.6.0-unstable.7" - resolved "https://registry.yarnpkg.com/@sphereon/did-auth-siop/-/did-auth-siop-0.6.0-unstable.7.tgz#88a201f7f2fb862dadfff3f54b9e425868b5987a" - integrity sha512-u1T8PCs90vZHTfxx50b0Gc43GXJgRXJwaffEaXpTYT2mXvlrOEL08Hf5HvcLTuT6ZbLGuSxwFB7XmlcSt7F3fQ== +"@sphereon/did-auth-siop@0.6.0-unstable.8", "@sphereon/did-auth-siop@0.6.0-unstable.9": + version "0.6.0-unstable.9" + resolved "https://registry.yarnpkg.com/@sphereon/did-auth-siop/-/did-auth-siop-0.6.0-unstable.9.tgz#9f2ff111900f401911b692bc0b3cc74dcc313ef3" + integrity sha512-1i64Z+guXLrkpHKuYUhwYSTPQtQ4/JpQEAEsgv7j47mZgnlappuO18juWHlKLNwmzYyhKzTdt7zaTTeP+wjeWA== dependencies: "@astronautlabs/jsonpath" "^1.1.2" "@sphereon/did-uni-client" "^0.6.1" - "@sphereon/pex" "^3.1.0" + "@sphereon/pex" "^3.2.0" "@sphereon/pex-models" "^2.2.0" "@sphereon/ssi-types" "0.18.1" "@sphereon/wellknown-dids-client" "^0.1.3" @@ -3502,20 +3502,20 @@ str2buf "^1.3.0" webcrypto-shim "^0.1.7" -"@sphereon/oid4vci-client@0.8.2-unstable.65": - version "0.8.2-unstable.65" - resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-client/-/oid4vci-client-0.8.2-unstable.65.tgz#f87864b9a05ae55862fccadafe24c2439b34d9c6" - integrity sha512-xwV0eVVMWDGzKj7SERVKOqSjgxXD1fHnKD4TC6UG+gV+eA+OrvUs+LS7gMYV9HSEDGtOImLBCfwa1I4FW7IbPg== +"@sphereon/oid4vci-client@0.8.2-unstable.72": + version "0.8.2-unstable.72" + resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-client/-/oid4vci-client-0.8.2-unstable.72.tgz#c3618597d2bc7f779eed3ccc896bb19e2a314ed4" + integrity sha512-iW56ZGYrR2jd3lqmqjLmnTD4l+1ajrzQ9qzOexKkIHx+elRZDxv9r2UCNZXC7mhvr+Z50pjYP+5putE23KS2Og== dependencies: - "@sphereon/oid4vci-common" "0.8.2-unstable.65+2bc039c" + "@sphereon/oid4vci-common" "0.8.2-unstable.72+dfb2280" "@sphereon/ssi-types" "^0.18.1" cross-fetch "^3.1.8" debug "^4.3.4" -"@sphereon/oid4vci-common@0.8.2-unstable.65", "@sphereon/oid4vci-common@0.8.2-unstable.65+2bc039c": - version "0.8.2-unstable.65" - resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-common/-/oid4vci-common-0.8.2-unstable.65.tgz#40c96106b21407a23141e0462e2b2fc3ed0f3082" - integrity sha512-95QOoprtVsnrfZ9svDodRz8fXBxiWOLON59mBcS9D8F4VuDpMYRfeNhdJVbSB7A+mNdUIEL3gdnaHozDkWHYUQ== +"@sphereon/oid4vci-common@0.8.2-unstable.72", "@sphereon/oid4vci-common@0.8.2-unstable.72+dfb2280": + version "0.8.2-unstable.72" + resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-common/-/oid4vci-common-0.8.2-unstable.72.tgz#3a68e26154fa1b704a1900dde979d87ca37e7def" + integrity sha512-S69+pDZ40waTg25FDVaoOk4ITewvXW0HEVH20bWg0hvztrUeQtAd0I+Ci48UNk1cB8G75XA/F0BB+NusFkMUPw== dependencies: "@sphereon/ssi-types" "^0.18.1" cross-fetch "^3.1.8" @@ -3528,7 +3528,7 @@ resolved "https://registry.yarnpkg.com/@sphereon/pex-models/-/pex-models-2.2.0.tgz#32013fff43d4f47df03e213792a9bcc6866a1f06" integrity sha512-dGDRdoxJj+P0TRqu0R8R0/IdIzrCya1MsnxIFbcmSW3rjPsbwXbV0EojEfxXGD5LhqsUJiuAffMtyE2dtVI/XQ== -"@sphereon/pex@3.2.1-unstable.7", "@sphereon/pex@^3.1.0", "@sphereon/pex@^3.2.0": +"@sphereon/pex@3.2.1-unstable.7", "@sphereon/pex@^3.2.0": version "3.2.1-unstable.7" resolved "https://registry.yarnpkg.com/@sphereon/pex/-/pex-3.2.1-unstable.7.tgz#218d39c2311e5d542258607883185cacc3e6e862" integrity sha512-X55PUfZL5gZ/mJinNS+eQ/iUKuFmNA6PP8NU14p4SemZbt/8kn67XYM6Nl/hYSFDysx64daPMRfPTkopKAfT+Q== @@ -3550,10 +3550,10 @@ resolved "https://registry.yarnpkg.com/@sphereon/react-native-argon2/-/react-native-argon2-2.0.9.tgz#88d68d079a65ecc01501718c35a30f0a58558d21" integrity sha512-mXcp3meaKbv5TpEPxItZ1ZuRqkdNf8vjx3EM+GqNVQ8QQF9pbD3jw6wQfuFRPc+8kN+m9GEiVVbd9I0m50OPBg== -"@sphereon/ssi-express-support@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-express-support/-/ssi-express-support-0.18.2-unstable.35.tgz#e6feab8bd5c79e71d8cbd70b798f370f27912434" - integrity sha512-czrrY8nnbrbWbauHInrUlOOK68nvBsbUkn/WepKmtAo1eCpX48JGWfZAmhWtmEitPME0kw5/v3HRt52uVQTzSw== +"@sphereon/ssi-express-support@0.18.2-unstable.46+d15b8ce2": + version "0.18.2-unstable.46" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-express-support/-/ssi-express-support-0.18.2-unstable.46.tgz#1f10019ad6836f44e49986d74c689e5399c01f57" + integrity sha512-3SzJ2hCu+5zNjW/axc2lsry2nrgP/qdnUCvaJamvlG45bmdU8BYeZisRRNjThGkLvU7KoZHOddLLv407UXfHRw== dependencies: body-parser "^1.20.2" casbin "^5.26.1" @@ -3569,14 +3569,14 @@ qs "^6.11.2" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk-ext.did-provider-jwk@0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-provider-jwk/-/ssi-sdk-ext.did-provider-jwk-0.16.0.tgz#7fc7ae04ff9fbd3796a65e2aa43cfc9d770e2580" - integrity sha512-cTwtCl5Cw/ziXdabM28obJu2ifsDw2cwz3eDiBl6xaSn9hCtZ7361QIxws4y84UjeSHQhyGsSLNOFzwFWon+Nw== +"@sphereon/ssi-sdk-ext.did-provider-jwk@0.16.1-next.2": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-provider-jwk/-/ssi-sdk-ext.did-provider-jwk-0.16.1-next.2.tgz#0329e4b08b83591b4be81af7f0ccc3886191d6d4" + integrity sha512-y0N5vooGqOblPAN2chc2fOieTgbL5+Ffl4RPB3fIE8xJKbffJQqpXrDyEZB1UuMSJrTcZ9XxhN2YWs5Ks51rXA== dependencies: "@ethersproject/random" "^5.7.0" - "@sphereon/ssi-sdk-ext.did-utils" "^0.16.0" - "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" + "@sphereon/ssi-sdk-ext.did-utils" "^0.16.1-next.2+2f5bf1f" + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.1-next.2+2f5bf1f" "@sphereon/ssi-types" "0.17.1" "@stablelib/ed25519" "^1.0.3" "@veramo/core" "4.2.0" @@ -3586,13 +3586,13 @@ did-resolver "^4.1.0" elliptic "^6.5.4" -"@sphereon/ssi-sdk-ext.did-provider-key@0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-provider-key/-/ssi-sdk-ext.did-provider-key-0.16.0.tgz#272231d9de62fca1e1153043c22570d55972dcd0" - integrity sha512-txJM50j56VXd7ZOcbwUaEv8RZ6nMAXPJjAFcDX9+T9FwRNr2UgOodsGeic4WNXdClj9hDVCz9f8XFY8Bg5iz2w== +"@sphereon/ssi-sdk-ext.did-provider-key@0.16.1-next.2": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-provider-key/-/ssi-sdk-ext.did-provider-key-0.16.1-next.2.tgz#afb18067b0873e6f83e62f9a0ed58632c13008bb" + integrity sha512-X791mlXymKp+zbsIkGF6VMTh2XoYjaL9ws8hyVa6W5Uo0qhBSCNUuGiSQEFjR3KRQpMXVOZNSPFHMm9B2S/HRQ== dependencies: - "@sphereon/ssi-sdk-ext.did-resolver-key" "^0.16.0" - "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" + "@sphereon/ssi-sdk-ext.did-resolver-key" "^0.16.1-next.2+2f5bf1f" + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.1-next.2+2f5bf1f" "@transmute/did-key-bls12381" "0.3.0-unstable.10" "@veramo/core" "4.2.0" "@veramo/did-manager" "4.2.0" @@ -3602,19 +3602,19 @@ multicodec "^3.2.1" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk-ext.did-resolver-ebsi@^0.15.1-next.13": - version "0.15.1-unstable.11" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-ebsi/-/ssi-sdk-ext.did-resolver-ebsi-0.15.1-unstable.11.tgz#3ca7b8fd74d89ffd8604f8e26dcbc5e76e4ed776" - integrity sha512-AMK0xxUEE3+Zyy6HNd26qifHFmcYE5itsNlu8xh6kwtPKhp3Z2haP1NkweKJyJ2qb3zb8gIfRiVzLqTPdfo4Sg== +"@sphereon/ssi-sdk-ext.did-resolver-ebsi@0.16.1-next.2": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-ebsi/-/ssi-sdk-ext.did-resolver-ebsi-0.16.1-next.2.tgz#6ae07d7c6e8bbc372a4693496a3beae22f1a6fd4" + integrity sha512-bFgX3J3BG8G138xzf28QEceanpt+jMDoKAQEdkmoxoNGkVZVUC0eBdM0nph75Oj9Drd+4DSDWAIHGczu3DWisg== dependencies: cross-fetch "^3.1.8" did-resolver "^4.1.0" dotenv "^16.3.1" -"@sphereon/ssi-sdk-ext.did-resolver-jwk@0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-jwk/-/ssi-sdk-ext.did-resolver-jwk-0.16.0.tgz#09a0e03df83eb435bd375aba7905d3c7417df5cb" - integrity sha512-lRqyd9vbmPCSojvCByHTmHhIRfilmMLu6ypE8YLMPIXCwiJ3NmlaEsmpMCsx1zC/s6jESgQS2RGWv5Ec41actg== +"@sphereon/ssi-sdk-ext.did-resolver-jwk@0.16.1-next.2": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-jwk/-/ssi-sdk-ext.did-resolver-jwk-0.16.1-next.2.tgz#9ee473643bbb7b89921090c9db2342ecb9422e67" + integrity sha512-b1PtzEvKbI5cM/i8taTKxS/agIjZfn3aZdlfFybYUUQvws/in+1OlgopF0f9HWcHmIgUpFQNhJc93bZhSE68Bg== dependencies: "@sphereon/ssi-types" "0.17.1" base64url "^3.0.1" @@ -3622,12 +3622,12 @@ did-resolver "^4.1.0" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk-ext.did-resolver-key@0.16.0", "@sphereon/ssi-sdk-ext.did-resolver-key@^0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-key/-/ssi-sdk-ext.did-resolver-key-0.16.0.tgz#9f7e736bd0384eb965b3f46535b2aa91a4f4299d" - integrity sha512-42GJreQCcDhyXn4XjcLOZVPYem60+GbKfHSYawby68fxMM6pOyiplj+fBHNOsUzgCUhK0ksCECxWxnjkrehGzA== +"@sphereon/ssi-sdk-ext.did-resolver-key@0.16.1-next.2", "@sphereon/ssi-sdk-ext.did-resolver-key@^0.16.1-next.2+2f5bf1f": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-key/-/ssi-sdk-ext.did-resolver-key-0.16.1-next.2.tgz#04f5afdc217d76e887c03db898f788be4d137782" + integrity sha512-WLfyIaIldscBKU4IVfHu2Wy+mTsK/1l6oC8CPlYM1+3aCJJctH7l8V5QI6MbeOK/tOLBc4UfSU2slZMMTZM66Q== dependencies: - "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.1-next.2+2f5bf1f" "@stablelib/ed25519" "^1.0.3" bigint-mod-arith "^3.3.1" did-resolver "^4.1.0" @@ -3639,14 +3639,14 @@ varint "^6.0.0" web-encoding "^1.1.5" -"@sphereon/ssi-sdk-ext.did-utils@0.15.0", "@sphereon/ssi-sdk-ext.did-utils@0.16.0", "@sphereon/ssi-sdk-ext.did-utils@^0.15.0", "@sphereon/ssi-sdk-ext.did-utils@^0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-utils/-/ssi-sdk-ext.did-utils-0.16.0.tgz#6b8d24b74a322f3231f48ec21efc3df9709b0146" - integrity sha512-v7Uy0OqrxglxA3kG8rBUbE6mI7NXK5Fl3moO+7+waXu1R120kJKEyHGDKJaU5BN8Mlr2AURfguBdw2ls0yxYIw== +"@sphereon/ssi-sdk-ext.did-utils@0.15.0", "@sphereon/ssi-sdk-ext.did-utils@0.16.1-next.2", "@sphereon/ssi-sdk-ext.did-utils@^0.15.0", "@sphereon/ssi-sdk-ext.did-utils@^0.16.1-next.2+2f5bf1f": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-utils/-/ssi-sdk-ext.did-utils-0.16.1-next.2.tgz#5397a27a4bb4c7d5184b981f007b7e9ef5ddfe14" + integrity sha512-nZJSPfFNvUaIbfHMx69vhrlEP8w6PVhUTBDpmUjZFqyl13ASLUsU34r1k2z+4JMv6gGiBPZPLU7Yf+3CQrdSng== dependencies: "@ethersproject/transactions" "^5.7.0" "@sphereon/did-uni-client" "^0.6.0" - "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.1-next.2+2f5bf1f" "@sphereon/ssi-sdk.core" "0.17.1" "@stablelib/ed25519" "^1.0.3" "@veramo/core" "4.2.0" @@ -3656,13 +3656,13 @@ elliptic "^6.5.4" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk-ext.key-manager@0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.key-manager/-/ssi-sdk-ext.key-manager-0.16.0.tgz#6ff3f48c93dc0bdcd8cf61a3ab66c225d84fa8f9" - integrity sha512-ElCO0NxTjcXjRKSx5UEiaQAW6LWkMYKI4zzcWNLMDyNnxN96ERFGaI5UsMc6EmG3SXC1NyctSvOc5lTNWjagrw== +"@sphereon/ssi-sdk-ext.key-manager@0.16.1-next.2": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.key-manager/-/ssi-sdk-ext.key-manager-0.16.1-next.2.tgz#21b4f01b70f021e294144fb22088ebf191fefe18" + integrity sha512-1EIdYwwgYJMpXSnAzfiQzzDGIGPKCNmaAcbdFi+5XmHkKXlR3eFVGFSuLhGMoKxTUMBAWuFxWK63IExdqP2qmg== dependencies: "@mattrglobal/bbs-signatures" "^1.3.0" - "@sphereon/ssi-sdk-ext.kms-local" "^0.16.0" + "@sphereon/ssi-sdk-ext.kms-local" "^0.16.1-next.2+2f5bf1f" "@veramo/core" "4.2.0" "@veramo/key-manager" "4.2.0" @@ -3687,10 +3687,10 @@ varint "^6.0.0" web-encoding "^1.1.5" -"@sphereon/ssi-sdk-ext.key-utils@^0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.key-utils/-/ssi-sdk-ext.key-utils-0.16.0.tgz#ab9919cca3250706a219915bdac9a07ab13a40bb" - integrity sha512-gaPgoAG2R5pBdMwktPKP39QrcMUc5ny3U9fmzSdlBky0n0BCXv+ifeCSuVSFKQP5tBPeOKPyMH/JcaQWxoFzkA== +"@sphereon/ssi-sdk-ext.key-utils@^0.16.1-next.2+2f5bf1f": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.key-utils/-/ssi-sdk-ext.key-utils-0.16.1-next.2.tgz#38314952cf9a0221677744b6351c4a4a4ae6d202" + integrity sha512-sf24b5oExU4p5RoZ93Z4jFabLmg7b7KVQnHZcAL+GLkDKttPVyk9ERSoBsIyoFFcbNn0+baSpBQjjy4hPfzYQw== dependencies: "@ethersproject/random" "^5.7.0" "@sphereon/isomorphic-webcrypto" "2.4.0-unstable.4" @@ -3708,15 +3708,15 @@ varint "^6.0.0" web-encoding "^1.1.5" -"@sphereon/ssi-sdk-ext.kms-local@0.16.0", "@sphereon/ssi-sdk-ext.kms-local@^0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.kms-local/-/ssi-sdk-ext.kms-local-0.16.0.tgz#08c7913e60f69a81821b3ee34365646bc059581b" - integrity sha512-KmcMQUpoSCQeL2z7MvP0ZDplhPolt2zSkySKeV/Ypud+A/eUg1iU2bUtfv/ra8E9xxqPHe7HGhLf9IxOKdg/aw== +"@sphereon/ssi-sdk-ext.kms-local@0.16.1-next.2", "@sphereon/ssi-sdk-ext.kms-local@^0.16.1-next.2+2f5bf1f": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.kms-local/-/ssi-sdk-ext.kms-local-0.16.1-next.2.tgz#a74bcee54ef08c73b13100e446e7a03db220a5d2" + integrity sha512-hNHKJjCGcZGUa16KJ4IeB8BVXeNaLtmj7Cac3PgFAyUKHWtclizY1WldKsGp5xPw4Mk2yKYOVAOiB/lZasvZ4Q== dependencies: "@mattrglobal/bbs-signatures" "^1.3.0" "@sphereon/isomorphic-webcrypto" "2.4.0-unstable.4" - "@sphereon/ssi-sdk-ext.did-utils" "^0.16.0" - "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" + "@sphereon/ssi-sdk-ext.did-utils" "^0.16.1-next.2+2f5bf1f" + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.1-next.2+2f5bf1f" "@trust/keyto" "2.0.0-alpha1" "@veramo/core" "4.2.0" "@veramo/key-manager" "4.2.0" @@ -3724,10 +3724,10 @@ elliptic "^6.5.4" uint8arrays "3.1.1" -"@sphereon/ssi-sdk.agent-config@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.agent-config/-/ssi-sdk.agent-config-0.18.2-unstable.35.tgz#b034feb4f9457667dab04f43afae7fcb77161ef9" - integrity sha512-k0YT4ZaZdQ9omUFYzE3yruz3GYyynTD2yuRqx1KFrC5/CMCnPfjvUTdtIN8zu3U61T2HkDOFtciaquDG8IQwvQ== +"@sphereon/ssi-sdk.agent-config@0.18.2-unstable.46+d15b8ce2": + version "0.18.2-unstable.46" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.agent-config/-/ssi-sdk.agent-config-0.18.2-unstable.46.tgz#adc183a76fb90ff31f6dfb16aef276375945de44" + integrity sha512-0eZmJpS6R1fnjuPvl6qSiOs91ZglTTCsB9aSzZN/WyJ1fQA5ejzgZS7YWiMyE/DV/RovZvf5X4sx/nK05Pw3RA== dependencies: "@veramo/core" "4.2.0" debug "^4.3.4" @@ -3736,53 +3736,61 @@ url-parse "^1.5.10" yaml "^2.2.2" -"@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.35": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.contact-manager/-/ssi-sdk.contact-manager-0.18.2-unstable.35.tgz#865c8a7720ce621fffa9e96a3b273963d818b7ab" - integrity sha512-18G+P6HzNx8OxD/TJw0Zy55p5unHPuMPobtMZQC3q7WI7KD0Cog1EFSKYK4ruFqYiuBY5u9Gd0lxubD47XKhtA== +"@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.46": + version "0.18.2-unstable.46" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.contact-manager/-/ssi-sdk.contact-manager-0.18.2-unstable.46.tgz#84f1e5c81e896f031e21bfb660beb56a3e31c2d4" + integrity sha512-KJ/fwR2zDdakoB+r6sXPC6NNZmFd/WqFycVtMy0GHagNIibrvcaemx62/PbKPKtxT35i+J88KXddknQKEoj8Xw== dependencies: - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.46+d15b8ce2" cross-fetch "^3.1.8" typeorm "^0.3.12" -"@sphereon/ssi-sdk.core@0.17.1", "@sphereon/ssi-sdk.core@0.18.2-unstable.35", "@sphereon/ssi-sdk.core@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.core/-/ssi-sdk.core-0.18.2-unstable.35.tgz#acbacf3253f612a440b0ed254cc7fc4bf98b2f3c" - integrity sha512-J1k0ev7SdPiFrxdjtIg48a154MJCxq2B4hWHb9igrHNK7jqbmwR5O/2R1ayXl4XRI7HKigmdlyhX2WU9hQ6oKA== +"@sphereon/ssi-sdk.core@0.17.1", "@sphereon/ssi-sdk.core@0.18.2-unstable.46", "@sphereon/ssi-sdk.core@0.18.2-unstable.46+d15b8ce2": + version "0.18.2-unstable.46" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.core/-/ssi-sdk.core-0.18.2-unstable.46.tgz#4288df93b14b4638490bb17c6cf0dcf7aee9bc9e" + integrity sha512-9FuoRdvoHkZj53dynGQ2qk/lc7h9N1gNOhgwPyv372xkl6Rv+Qit226dN3HL9/38Nkko4tauGMpdy8nXusoLOw== dependencies: - "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-types" "0.18.2-unstable.46+d15b8ce2" "@veramo/core" "4.2.0" cross-fetch "^3.1.8" debug "^4.3.4" image-size "1.0.2" uint8arrays "3.1.1" -"@sphereon/ssi-sdk.data-store@0.18.2-unstable.35", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.data-store/-/ssi-sdk.data-store-0.18.2-unstable.35.tgz#fbe51ca062a452a5d94360306a76b9b6bab9fafc" - integrity sha512-P4iCKCLoyAIbAvslOzSajgzfhzmMQHsRF2OBCsHLCGSbxGQPaKRIDuPJdSHmmlisx92OKASVXTAL6evrBLf2gA== +"@sphereon/ssi-sdk.data-store@0.18.2-unstable.46", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.46+d15b8ce2": + version "0.18.2-unstable.46" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.data-store/-/ssi-sdk.data-store-0.18.2-unstable.46.tgz#bb8b6f0a1f809295452c084b00154c596e2ebc01" + integrity sha512-cjhTnTsQTix0UZxYFsJkm95cyeZX14riXBnIlfG3TOTNqrQ4BPvn2P7Cnu/eWxutzaBQbkA0dTVAAyH7qpLJRQ== dependencies: - "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.46+d15b8ce2" + "@sphereon/ssi-types" "0.18.2-unstable.46+d15b8ce2" "@veramo/core" "4.2.0" class-validator "^0.14.0" debug "^4.3.4" typeorm "^0.3.12" -"@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.35": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.issuance-branding/-/ssi-sdk.issuance-branding-0.18.2-unstable.35.tgz#c5c25636b8a33ed02754ff81c0a45625ca300ff6" - integrity sha512-aKbMVDiCndzx4dOZMIdvASMRKq5+ke9eqtCk+0E4jqKE+6LLIC3GIjJ0qvnh2b00yI7M2wc++Yvo7vEMWd+9Uw== +"@sphereon/ssi-sdk.event-logger@0.18.2-unstable.46": + version "0.18.2-unstable.46" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.event-logger/-/ssi-sdk.event-logger-0.18.2-unstable.46.tgz#003a0b758cc87f61fb24904e8b0b68cc7ba0a943" + integrity sha512-ZC/qd7Y9gXSMGr3nHPElK7IqtBcrRrPHkmNUezAqqPmnzt3GK0QboFmIVLhqGHak8PLtRaTQ80ZTESh67JGTBQ== + dependencies: + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.46+d15b8ce2" + uuid "^8.3.2" + +"@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.46": + version "0.18.2-unstable.46" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.issuance-branding/-/ssi-sdk.issuance-branding-0.18.2-unstable.46.tgz#9f47b863b766ffa42e0a5312282c331bf6d51e47" + integrity sha512-r8IEyiVNUsnnZ/7hkWppRvRx/QxnKazEzQWxb20+9eXutdGZmmd94v6hh+PtueKr2sOf2BFuLXgO7MwJp95j5w== dependencies: - "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.46+d15b8ce2" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.46+d15b8ce2" debug "^4.3.4" typeorm "^0.3.12" -"@sphereon/ssi-sdk.kv-store-temp@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.kv-store-temp/-/ssi-sdk.kv-store-temp-0.18.2-unstable.35.tgz#bfc333b0c11fcc8d5c61e75e9c8132699078a7d5" - integrity sha512-2x2GmE7FMzOqPRkOuPypS1hJ4Ru15UnEmrXrbYZsLi8VXOwTfRemRB3uFihdzwrNC6uijrYds1YXPKFgMaOgYg== +"@sphereon/ssi-sdk.kv-store-temp@0.18.2-unstable.46+d15b8ce2": + version "0.18.2-unstable.46" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.kv-store-temp/-/ssi-sdk.kv-store-temp-0.18.2-unstable.46.tgz#a3e83d14932be912337330845576e2dfd26e12f7" + integrity sha512-M9lPz+73y4NlhCPm8GjpBXhw1niV+0m6/7sKvs7PEQGMkjymtO3rGGEc6a+kckSrsK96oohKKU4FBRaF0OAg3w== dependencies: "@veramo/utils" "4.2.0" debug "^4.3.4" @@ -3791,30 +3799,30 @@ typeorm "^0.3.12" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk.presentation-exchange@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.presentation-exchange/-/ssi-sdk.presentation-exchange-0.18.2-unstable.35.tgz#183418c490e914369baa1357dbae8dac8cd5e02d" - integrity sha512-JWXDTqPB7KUJNJ+3ib/E88AO+aFq32e5lSlvc3NkA3Z+x4jXBfzdxvoo02v6E31+5z7IyN4aNxIV0ATNpUnn+w== +"@sphereon/ssi-sdk.presentation-exchange@0.18.2-unstable.46+d15b8ce2": + version "0.18.2-unstable.46" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.presentation-exchange/-/ssi-sdk.presentation-exchange-0.18.2-unstable.46.tgz#230767dd640790dbb0993165530edfb1020e6540" + integrity sha512-gBSuxyMNHlQzi0rCyaJeoK8HbFKuwUejKejZnkeEIjlmqwir7HXw5NFQTA5PjjjnyWSgTO5EQYeQwSgJtFSR+w== dependencies: "@sphereon/pex" "^3.2.0" "@sphereon/pex-models" "^2.2.0" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-sdk.kv-store-temp" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.kv-store-temp" "0.18.2-unstable.46+d15b8ce2" + "@sphereon/ssi-types" "0.18.2-unstable.46+d15b8ce2" "@veramo/core" "4.2.0" -"@sphereon/ssi-sdk.siopv2-oid4vp-op-auth@0.18.2-unstable.35": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.siopv2-oid4vp-op-auth/-/ssi-sdk.siopv2-oid4vp-op-auth-0.18.2-unstable.35.tgz#807bc218269fe2adac55da5da38668533c960d30" - integrity sha512-irlSznQwl87oHjJDawIs2uL+zJps+oZnAF5R0n9H2GpuHiVL+7k2WTMf9tAXuT4fjC2Bwfd7rGQHvufkIsY7jg== +"@sphereon/ssi-sdk.siopv2-oid4vp-op-auth@0.18.2-unstable.46": + version "0.18.2-unstable.46" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.siopv2-oid4vp-op-auth/-/ssi-sdk.siopv2-oid4vp-op-auth-0.18.2-unstable.46.tgz#a03c693da175f2e18f6241710ccdcadada59f48a" + integrity sha512-SJEXrx42zNlRx8rMBo/PkX21IHUYVbi1xOnlnhZEettpdEYh4bbGG0HVbxqLZuQ4TrHnoHYkcxogmRs7MJUsNg== dependencies: "@sphereon/did-auth-siop" "0.6.0-unstable.8" "@sphereon/pex" "^3.2.0" "@sphereon/pex-models" "2.2.0" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.presentation-exchange" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.46+d15b8ce2" + "@sphereon/ssi-sdk.presentation-exchange" "0.18.2-unstable.46+d15b8ce2" + "@sphereon/ssi-types" "0.18.2-unstable.46+d15b8ce2" "@sphereon/wellknown-dids-client" "^0.1.3" "@veramo/core" "4.2.0" "@veramo/credential-w3c" "4.2.0" @@ -3822,10 +3830,10 @@ did-jwt-vc "3.1.3" uuid "^9.0.1" -"@sphereon/ssi-sdk.vc-handler-ld-local@0.18.2-unstable.35": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-handler-ld-local/-/ssi-sdk.vc-handler-ld-local-0.18.2-unstable.35.tgz#d0203c98007f624c1fd6f86f0ecbd73c1085a78d" - integrity sha512-0Q0/Xl39rouTvZsaJDeC7bAssRsOCSPCKfQ/RZsk0kdazBVg5yb4YVZy9Npr/RSkTv4LsK5eCXrzoXsNYol1BA== +"@sphereon/ssi-sdk.vc-handler-ld-local@0.18.2-unstable.46": + version "0.18.2-unstable.46" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-handler-ld-local/-/ssi-sdk.vc-handler-ld-local-0.18.2-unstable.46.tgz#7aaee59df9c1b3d9fcca712038a8f47705b52d81" + integrity sha512-+sq78N0UsAwJhkN4VMIYkThZZV8/YstDqUEVtUK1AbxZH5otf7rK7rNTtGQNVwD5PyBlE3JmUsSjHtFYAIER9A== dependencies: "@digitalcredentials/ed25519-signature-2020" "~3.0.2" "@digitalcredentials/ed25519-verification-key-2020" "^4.0.0" @@ -3839,12 +3847,12 @@ "@sphereon/isomorphic-webcrypto" "^2.4.0-unstable.4" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" "@sphereon/ssi-sdk-ext.key-utils" "0.15.0" - "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.vc-status-list-issuer-drivers" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.46+d15b8ce2" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.46+d15b8ce2" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.46+d15b8ce2" + "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.46+d15b8ce2" + "@sphereon/ssi-sdk.vc-status-list-issuer-drivers" "0.18.2-unstable.46+d15b8ce2" + "@sphereon/ssi-types" "0.18.2-unstable.46+d15b8ce2" "@transmute/credentials-context" "^0.7.0-unstable.81" "@transmute/ed25519-key-pair" "0.7.0-unstable.81" "@transmute/ed25519-signature-2018" "^0.7.0-unstable.81" @@ -3868,31 +3876,31 @@ jsonld "^4.0.1" jsonld-signatures "^7.0.0" -"@sphereon/ssi-sdk.vc-status-list-issuer-drivers@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list-issuer-drivers/-/ssi-sdk.vc-status-list-issuer-drivers-0.18.2-unstable.35.tgz#924eb0b75269d138aab6d715c3550a285b1f9e47" - integrity sha512-ddXLthbg3Z9oP6vZnhkVF4pQ5xqMUcJETPVlqC9AObxmbis0rQzLTBaT3NkOrNb9j669nAQfd91StITWCSyX8Q== +"@sphereon/ssi-sdk.vc-status-list-issuer-drivers@0.18.2-unstable.46+d15b8ce2": + version "0.18.2-unstable.46" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list-issuer-drivers/-/ssi-sdk.vc-status-list-issuer-drivers-0.18.2-unstable.46.tgz#27ee655f02457a48d21cd7c430cf0e370128754b" + integrity sha512-MB34pW45hDpcYbMJO5K5KLMNwf1hifsTkd33SrwbrQXdW8Gf8JkCrI8c/wKtivJMxhLegfj8GhluSA5xbPlS/Q== dependencies: - "@sphereon/ssi-express-support" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-express-support" "0.18.2-unstable.46+d15b8ce2" "@sphereon/ssi-sdk-ext.did-utils" "^0.15.0" - "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.46+d15b8ce2" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.46+d15b8ce2" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.46+d15b8ce2" + "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.46+d15b8ce2" + "@sphereon/ssi-types" "0.18.2-unstable.46+d15b8ce2" "@sphereon/vc-status-list" "^7.0.0-next.0" "@veramo/core" "4.2.0" debug "^4.3.4" typeorm "^0.3.12" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk.vc-status-list@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list/-/ssi-sdk.vc-status-list-0.18.2-unstable.35.tgz#c62b56d043fe8de82ac6b9c9ed2fb2cc7196b943" - integrity sha512-8Io4Wy9Hm+tyD0kI5mdojvNyyb/1MjQGL/saTjAllhZJOECTFDwDaxBTOnBtJgCmrEQu9KELxtXoHQXH200Jfw== +"@sphereon/ssi-sdk.vc-status-list@0.18.2-unstable.46+d15b8ce2": + version "0.18.2-unstable.46" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list/-/ssi-sdk.vc-status-list-0.18.2-unstable.46.tgz#c338ad92b898d7181345ca60460bef37cdfe4188" + integrity sha512-+3yWlXvrkakbzh6jyNtYzUqoHRJ/611lzgkN8BL9mguD60GCdn6UYUh8Xsi4Vy++PTB66NxJjAkSIFmFjI5LiA== dependencies: "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-types" "0.18.2-unstable.46+d15b8ce2" "@sphereon/vc-status-list" "7.0.0-next.0" "@veramo/core" "4.2.0" "@veramo/credential-status" "4.2.0" @@ -3900,31 +3908,31 @@ debug "^4.3.4" uint8arrays "^3.1.1" -"@sphereon/ssi-types@0.17.1", "@sphereon/ssi-types@0.18.1", "@sphereon/ssi-types@0.18.2-unstable.35", "@sphereon/ssi-types@0.18.2-unstable.35+089ea379", "@sphereon/ssi-types@^0.18.1", "@sphereon/ssi-types@^0.9.0": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.18.2-unstable.35.tgz#1e0953f982c716adf6c2af77f1946769d72f2880" - integrity sha512-aUdITv1N0l7PO4m5xgK9UHJ0u0BK5F5+JQb47HXRTc8x8INR6ADjYqHSw06DR6YwfpDCCcq/zY6Ga/vJYwwk8w== +"@sphereon/ssi-types@0.17.1", "@sphereon/ssi-types@0.18.1", "@sphereon/ssi-types@0.18.2-unstable.46", "@sphereon/ssi-types@0.18.2-unstable.46+d15b8ce2", "@sphereon/ssi-types@^0.18.1", "@sphereon/ssi-types@^0.9.0": + version "0.18.2-unstable.46" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.18.2-unstable.46.tgz#21b9478b65ca73c30cd50e91b86c1b63358d580e" + integrity sha512-BmkOBHNuKZUUY9g8jiBoZNjggT07m8idtnoG1lCvnoHKm93Z0ttQq+dxnh9IY+hn9elJilK3co+gFRZc2Ct2Iw== dependencies: "@sd-jwt/decode" "^0.2.0" jwt-decode "^3.1.2" -"@sphereon/ui-components.core@0.1.3-unstable.88", "@sphereon/ui-components.core@0.1.3-unstable.88+92d8e95": - version "0.1.3-unstable.88" - resolved "https://registry.yarnpkg.com/@sphereon/ui-components.core/-/ui-components.core-0.1.3-unstable.88.tgz#20229591b830d3f0dd62c3e2a186adaa45a70904" - integrity sha512-6sMLA+bgTHauonM5tsJmnf99eQNuRILxgYsFEwlupicn/fZoVn5hzRlCMvY49LO7lgywH/NZ07s5c512x+Uo4w== +"@sphereon/ui-components.core@0.1.3-unstable.104", "@sphereon/ui-components.core@0.1.3-unstable.104+2de960b": + version "0.1.3-unstable.104" + resolved "https://registry.yarnpkg.com/@sphereon/ui-components.core/-/ui-components.core-0.1.3-unstable.104.tgz#75d7c67cc35d9452faa6293ef342d7ab32c89613" + integrity sha512-mmGBdzZFmPnaCxmjBOQWiUL3LBS7E4vxhek9lhVnnnM1guBz0U1/KFHdSpgJClkEAm4815YtNCHjfchZdubU/A== dependencies: i18n-js "^3.8.0" lodash.memoize "^4.1.2" styled-components "^5.3.3" -"@sphereon/ui-components.ssi-react-native@0.1.3-unstable.88": - version "0.1.3-unstable.88" - resolved "https://registry.yarnpkg.com/@sphereon/ui-components.ssi-react-native/-/ui-components.ssi-react-native-0.1.3-unstable.88.tgz#021d5e5e734597ef873ce5a35b08ef93fcd7b6aa" - integrity sha512-xZp5tiA2ADVVkdnx+VvZSrjZjyZhYhggDHeTYEH0G9QByOwjWX2FkD2LokVI0Js4izNPhQIuY8UyP4tR8VXp/Q== +"@sphereon/ui-components.ssi-react-native@0.1.3-unstable.104": + version "0.1.3-unstable.104" + resolved "https://registry.yarnpkg.com/@sphereon/ui-components.ssi-react-native/-/ui-components.ssi-react-native-0.1.3-unstable.104.tgz#8ac4e9ef0ea3469913cd22e98b12cbd46c23abaa" + integrity sha512-rJ8V/1/xxPI53XczDL6bgRC1/0/K4HFyitq5pQWXHXhzMae79hKMYSg0HBaiCwwTALTmCyt5gbGJcC/hFo2lYg== dependencies: "@react-native-community/blur" "^4.3.0" "@react-native-masked-view/masked-view" "^0.3.1" - "@sphereon/ui-components.core" "0.1.3-unstable.88+92d8e95" + "@sphereon/ui-components.core" "0.1.3-unstable.104+2de960b" expo-linear-gradient "~12.1.2" react-native-fast-image "^8.6.3" react-native-size-matters "^0.4.0" @@ -13732,6 +13740,13 @@ react-native-codegen@^0.71.5: jscodeshift "^0.14.0" nullthrows "^1.1.1" +react-native-dotenv@^3.4.9: + version "3.4.9" + resolved "https://registry.yarnpkg.com/react-native-dotenv/-/react-native-dotenv-3.4.9.tgz#621c5b0c1d0c5c7f569bfe5a1d804bec7885c010" + integrity sha512-dbyd+mcy7SUzxEgmt33TRf1FGcNe6swJhXmB0unKkI49F7+pidog9kPtjxMLTAfmKA8gcN2XHQSKltGfGbGCLQ== + dependencies: + dotenv "^16.3.1" + react-native-fast-image@^8.6.3: version "8.6.3" resolved "https://registry.yarnpkg.com/react-native-fast-image/-/react-native-fast-image-8.6.3.tgz#6edc3f9190092a909d636d93eecbcc54a8822255" From ac98bda185161990773e541086c98a7d85aebeed Mon Sep 17 00:00:00 2001 From: Niels Klomp Date: Wed, 14 Feb 2024 09:10:41 +0100 Subject: [PATCH 03/10] fix: Await did manager get --- package.json | 8 +- .../machines/oid4vciStateNavigation.tsx | 24 ++-- .../authentication/SIOPv2Provider.ts | 18 +-- .../credential/OpenId4VcIssuanceProvider.ts | 119 +++++++----------- src/services/identityService.ts | 2 +- .../machines/oid4vciMachineService.ts | 10 +- src/services/machines/siopV2MachineService.ts | 28 ++--- src/types/machines/siopV2/index.ts | 2 +- .../openIdVcIssuanceProvider/index.ts | 1 + yarn.lock | 18 +-- 10 files changed, 102 insertions(+), 128 deletions(-) diff --git a/package.json b/package.json index fb6fa2e3..1192157e 100644 --- a/package.json +++ b/package.json @@ -42,8 +42,8 @@ "@scure/base": "^1.1.3", "@sphereon/did-auth-siop": "0.6.0-unstable.9", "@sphereon/isomorphic-webcrypto": "2.4.0-unstable.4", - "@sphereon/oid4vci-client": "0.8.2-unstable.72", - "@sphereon/oid4vci-common": "0.8.2-unstable.72", + "@sphereon/oid4vci-client": "0.8.2-unstable.75", + "@sphereon/oid4vci-common": "0.8.2-unstable.75", "@sphereon/pex": "3.2.1-unstable.7", "@sphereon/pex-models": "^2.2.0", "@sphereon/react-native-argon2": "2.0.9", @@ -253,8 +253,8 @@ "@sphereon/ssi-sdk-ext.key-manager": "0.16.1-next.2", "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.46", "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.46", - "@sphereon/oid4vci-client": "0.8.2-unstable.72", - "@sphereon/oid4vci-common": "0.8.2-unstable.72", + "@sphereon/oid4vci-client": "0.8.2-unstable.75", + "@sphereon/oid4vci-common": "0.8.2-unstable.75", "@sphereon/pex": "3.2.1-unstable.7", "@sphereon/pex-models": "2.2.0", "@mattrglobal/bbs-signatures": "npm:@animo-id/react-native-bbs-signatures@^0.1.0", diff --git a/src/navigation/machines/oid4vciStateNavigation.tsx b/src/navigation/machines/oid4vciStateNavigation.tsx index 47f63c68..f66a2a1b 100644 --- a/src/navigation/machines/oid4vciStateNavigation.tsx +++ b/src/navigation/machines/oid4vciStateNavigation.tsx @@ -1,3 +1,4 @@ +import {getIssuerName, getSupportedCredential} from '@sphereon/oid4vci-common'; import React, {Context, createContext} from 'react'; import {Linking} from 'react-native'; import {URL} from 'react-native-url-polyfill'; @@ -58,10 +59,7 @@ const navigateAddContact = async (args: OID4VCIMachineNavigationArgs): Promise): Promise => { + const provider = state.context.openId4VcIssuanceProvider; + if (!provider) { + throw Error(`No provider present in context`); + } oid4vciMachine.send({ type: OID4VCIMachineEvents.SET_SELECTED_CREDENTIALS, data: selectedCredentials, @@ -202,22 +204,20 @@ const navigatePINVerification = async (args: OID4VCIMachineNavigationArgs): Prom const navigateAuthorizationCodeURL = async (args: OID4VCIMachineNavigationArgs): Promise => { const {navigation, state, oid4vciMachine, onBack} = args; const url = state.context.authorizationCodeURL; - console.log('navigateAuthorizationCodeURL: ' + url); + debug('navigateAuthorizationCodeURL: ', url); if (!url) { return Promise.reject(Error('Missing authorization URL in context')); } const onOpenAuthorizationUrl = async (url: string): Promise => { - console.log('onOpenAuthorizationUrl before invoked: ' + url); + debug('onOpenAuthorizationUrl being invoked: ', url); oid4vciMachine.send({ type: OID4VCIMachineEvents.INVOKED_AUTHORIZATION_CODE_REQUEST, data: url, }); - console.log('onOpenAuthorizationUrl after invoked, before openUrl: ' + url); await Linking.openURL(url); - console.log('onOpenAuthorizationUrl after openUrl: ' + url); + debug('onOpenAuthorizationUrl after openUrl: ', url); }; - console.log('pre navigate browser open: ' + url); navigation.navigate(MainRoutesEnum.OID4VCI, { screen: ScreenRoutesEnum.BROWSER_OPEN, params: { @@ -305,10 +305,9 @@ export const oid4vciStateNavigationListener = async ( state: OID4VCIMachineState, navigation?: NativeStackNavigationProp, ): Promise => { - console.log('oid4vciStateNavigationListener: ' + state.value, state.value); - console.log('oid4vciStateNavigationListener: ' + JSON.stringify(state._event)); + debug('oid4vciStateNavigationListener: ', state.value); if (state._event.type === 'internal') { - console.log('oid4vciStateNavigationListener: internal event'); + debug('oid4vciStateNavigationListener: internal event'); // Make sure we do not navigate when triggered by an internal event. We need to stay on current screen // Make sure we do not navigate when state has not changed return; @@ -316,7 +315,6 @@ export const oid4vciStateNavigationListener = async ( const onBack = () => oid4vciMachine.send(OID4VCIMachineEvents.PREVIOUS); const onNext = () => oid4vciMachine.send(OID4VCIMachineEvents.NEXT); - console.log('pre navigate'); const nav = navigation ?? RootNavigation; if (nav === undefined || !nav.isReady()) { console.log(`navigation not ready yet`); diff --git a/src/providers/authentication/SIOPv2Provider.ts b/src/providers/authentication/SIOPv2Provider.ts index 11711fb0..b4023c61 100644 --- a/src/providers/authentication/SIOPv2Provider.ts +++ b/src/providers/authentication/SIOPv2Provider.ts @@ -11,7 +11,7 @@ import agent, {agentContext, didMethodsSupported, didResolver} from '../../agent const debug: Debugger = Debug(`${APP_ID}:authentication`); -export const siopGetRequest = async (config: DidAuthConfig): Promise => { +export const siopGetRequest = async (config: Omit): Promise => { const session: OpSession = await siopGetSession(config.sessionId).catch( async () => await siopRegisterSession({requestJwtOrUri: config.redirectUrl, sessionId: config.sessionId}), ); @@ -57,6 +57,13 @@ export const siopSendAuthorizationResponse = async ( } const request = await session.getAuthorizationRequest(); const aud = await request.authorizationRequest.getMergedProperty('aud'); + console.log(`AUD: ${aud}`); + console.log(JSON.stringify(request.authorizationRequest)); + const clientId = await request.authorizationRequest.getMergedProperty('client_id'); + const redirectUri = await request.authorizationRequest.getMergedProperty('redirect_uri'); + if (clientId?.toLowerCase().includes('ebsi.eu') || redirectUri?.toLowerCase().includes('ebsi.eu')) { + identifiers = identifiers.filter(id => id.did.toLowerCase().startsWith('did:key:') || id.did.toLowerCase().startsWith('did:ebsi:')); + } if (aud && aud.startsWith('did:')) { // The RP knows our did, so we can use it if (!identifiers.some(id => id.did === aud)) { @@ -93,7 +100,6 @@ export const siopSendAuthorizationResponse = async ( } } - console.log(`PRE CREATE VP ${new Date().toString()}`); presentationsAndDefs = await oid4vp.createVerifiablePresentations(credentialsAndDefinitions, { identifierOpts: {identifier}, proofOpts: { @@ -101,7 +107,6 @@ export const siopSendAuthorizationResponse = async ( domain, }, }); - console.log(`POST CREATE VP ${new Date().toString()}`); if (!presentationsAndDefs || presentationsAndDefs.length === 0) { throw Error('No verifiable presentations could be created'); } else if (presentationsAndDefs.length > 1) { @@ -113,15 +118,14 @@ export const siopSendAuthorizationResponse = async ( } const kid: string = (await getKey(identifier, 'authentication', session.context)).kid; - debug(`Definitions and locations: ${JSON.stringify(presentationsAndDefs?.[0]?.verifiablePresentation, null, 2)}`); - console.log(`Presentation Submission: ${JSON.stringify(presentationSubmission, null, 2)}`); - console.log(`PRE SEND response ${new Date().toString()}`); + debug(`Definitions and locations:`, JSON.stringify(presentationsAndDefs?.[0]?.verifiablePresentation, null, 2)); + debug(`Presentation Submission:`, JSON.stringify(presentationSubmission, null, 2)); const response = session.sendAuthorizationResponse({ ...(presentationsAndDefs && {verifiablePresentations: presentationsAndDefs?.map(pd => pd.verifiablePresentation)}), ...(presentationSubmission && {presentationSubmission}), responseSignerOpts: {identifier, kid}, }); - console.log(`POST SEND response ${new Date().toString()}`); + debug(`Response: `, response); return await response; }; diff --git a/src/providers/credential/OpenId4VcIssuanceProvider.ts b/src/providers/credential/OpenId4VcIssuanceProvider.ts index 39bf0727..076e53fc 100644 --- a/src/providers/credential/OpenId4VcIssuanceProvider.ts +++ b/src/providers/credential/OpenId4VcIssuanceProvider.ts @@ -2,15 +2,12 @@ import {OpenID4VCIClient} from '@sphereon/oid4vci-client'; import { AccessTokenResponse, AuthorizationResponse, - AuthorizationServerMetadata, - CredentialIssuerMetadata, CredentialOfferFormat, CredentialResponse, CredentialsSupportedDisplay, CredentialSupported, DefaultURISchemes, EndpointMetadataResult, - IssuerMetadataV1_0_08, Jwt, MetadataDisplay, OpenId4VCIVersion, @@ -40,6 +37,7 @@ import { QrTypesEnum, SupportedDidMethodEnum, } from '../../types'; +// FIXME: This file needs a complete overhaul. Much needs to move the SDK and should be called by xstate import {KeyTypeFromCryptographicSuite, SignatureAlgorithmFromKey} from '../../utils/KeyUtils'; import {credentialLocaleBrandingFrom} from '../../utils/mappers/branding/OIDC4VCIBrandingMapper'; @@ -60,7 +58,7 @@ export enum LDPProofTypeEnum { JcsEd25519Signature2020 = 'JcsEd25519Signature2020', } -export const didMethodPreferences = [SupportedDidMethodEnum.DID_JWK, SupportedDidMethodEnum.DID_KEY, SupportedDidMethodEnum.DID_ION]; +export const didMethodPreferences = [SupportedDidMethodEnum.DID_KEY, SupportedDidMethodEnum.DID_JWK, SupportedDidMethodEnum.DID_ION]; export const jsonldCryptographicSuitePreferences = [ 'Ed25519Signature2018', @@ -77,6 +75,16 @@ export enum SignatureAlgorithmEnum { } export const jwtCryptographicSuitePreferences = [SignatureAlgorithmEnum.ES256, SignatureAlgorithmEnum.ES256K, SignatureAlgorithmEnum.EdDSA]; +const arrayEqualsIgnoreOrder = (a: string[], b: string[]) => { + if (a.length !== b.length) return false; + const uniqueValues = new Set([...a, ...b]); + for (const v of uniqueValues) { + const aCount = a.filter(e => e === v).length; + const bCount = b.filter(e => e === v).length; + if (aCount !== bCount) return false; + } + return true; +}; export interface IErrorDetailsOpts { title?: string; @@ -165,50 +173,14 @@ class OpenId4VcIssuanceProvider { return this._authorizationCodeResponse; } set authorizationCodeResponse(value: AuthorizationResponse | string | undefined) { - console.log('before setting authorizationCodeResponse', value); this._authorizationCodeResponse = typeof value === 'string' ? toAuthorizationResponsePayload(value) : value; - console.log('after setting authorizationCodeResponse', JSON.stringify(this._authorizationCodeResponse)); + debug('authorizationCodeResponse has been set', JSON.stringify(this._authorizationCodeResponse)); } get client(): OpenID4VCIClient { return this._client; } - public static getIssuerDisplays( - metadata: CredentialIssuerMetadata | IssuerMetadataV1_0_08, - opts?: { - prefLocales: string[]; - }, - ): MetadataDisplay[] { - const matchedDisplays: Array = - metadata.display?.filter( - (display: MetadataDisplay) => - !opts?.prefLocales || opts.prefLocales.length === 0 || (display.locale && opts.prefLocales.includes(display.locale)) || !display.locale, - ) ?? []; - return matchedDisplays.sort((display: MetadataDisplay): number => - display.locale ? opts?.prefLocales.indexOf(display.locale) ?? 1 : Number.MAX_VALUE, - ); - } - - /** - * TODO check again when WAL-617 is done to replace how we get the issuer name. - */ - public static getIssuerName( - url: string, - credentialIssuerMetadata?: Partial & (CredentialIssuerMetadata | IssuerMetadataV1_0_08), - ): string { - if (credentialIssuerMetadata) { - const displays: Array = credentialIssuerMetadata ? OpenId4VcIssuanceProvider.getIssuerDisplays(credentialIssuerMetadata) : []; - for (const display of displays) { - if (display.name) { - return display.name; - } - } - } - - return url; - } - get serverMetadata(): EndpointMetadataResult | undefined { return this._serverMetadata; } @@ -250,6 +222,7 @@ class OpenId4VcIssuanceProvider { public getCredentials = async ({pin, credentials}: IGetCredentialsArgs): Promise> => { const matches: IServerMetadataAndCryptoMatchingResponse = await this.getServerMetadataAndPerformCryptoMatching(); + const selectedCredentials = credentials; const credentialResponses: Array = []; // const initTypes = this.client.getCredentialTypes(); for (const issuanceOpt of matches.issuanceOpts) { @@ -277,7 +250,7 @@ class OpenId4VcIssuanceProvider { private getIdentifier = async ({issuanceOpt}: {issuanceOpt: IIssuanceOpts}) => { const identifier = await getOrCreatePrimaryIdentifier({ method: issuanceOpt.didMethod, - createOpts: {options: {type: issuanceOpt.keyType, use: KeyUse.Signature}}, + createOpts: {options: {type: issuanceOpt.keyType, use: KeyUse.Signature, codecName: issuanceOpt.codeName}}, }); const key: _ExtendedIKey = await this.getAuthenticationKey(identifier); const kid: string = key.meta.verificationMethod.id; @@ -302,7 +275,7 @@ class OpenId4VcIssuanceProvider { const callbacks: ProofOfPossessionCallbacks = { signCallback: (jwt: Jwt, kid?: string) => { let iss = jwt.payload.iss; - if (this.isEbsi()) { + if (this.client.isEBSI()) { iss = jwt.header.kid?.split('#')[0]; } if (!iss) { @@ -313,8 +286,8 @@ class OpenId4VcIssuanceProvider { } const header = {...jwt.header, kid} as Partial; const payload = {...jwt.payload, ...(iss && {iss})}; - console.log(`header: ${JSON.stringify(header)}`); - console.log(`payload: ${JSON.stringify(payload)}`); + debug('header:', JSON.stringify(header)); + debug('payload:', JSON.stringify(payload)); return signJWT({ identifier, header, @@ -328,7 +301,7 @@ class OpenId4VcIssuanceProvider { // We need to make sure we have acquired the access token await this.acquireAccessToken({pin, authorizationResponse: this.authorizationCodeResponse}); - console.log(`cred type: ${JSON.stringify(issuanceOpt.types)}, format: ${issuanceOpt.format}, kid: ${kid}, alg: ${alg}`); + debug(`credential type: ${JSON.stringify(issuanceOpt.types)}, format: ${issuanceOpt.format}, kid: ${kid}, alg: ${alg}`); // @ts-ignore return await this._client.acquireCredentials({ @@ -348,10 +321,7 @@ class OpenId4VcIssuanceProvider { } }; - public getServerMetadataAndPerformCryptoMatching = async (): Promise => { - if (!this._serverMetadata) { - this._serverMetadata = await this._client.retrieveServerMetadata(); - } + public async setCredentialsSupported() { if (!this._credentialsSupported || this._credentialsSupported.length === 0) { // todo: remove format here. This is just a temp hack for V11+ issuance of only one credential. Having a single array with formats for multiple credentials will not work. This should be handled in VCI itself let format: string[] | undefined = undefined; @@ -363,6 +333,7 @@ class OpenId4VcIssuanceProvider { format = undefined; // Otherwise we would match nothing } } + // This restricts to initiation types when there is an offer this._credentialsSupported = await this.getPreferredCredentialFormats( this._client.getCredentialsSupported(!!this._client.credentialOffer?.credential_offer, format), ); @@ -377,6 +348,15 @@ class OpenId4VcIssuanceProvider { }); } } + } + + public getServerMetadataAndPerformCryptoMatching = async (): Promise => { + if (!this._serverMetadata) { + this._serverMetadata = await this._client.retrieveServerMetadata(); + } + if (!this._credentialsSupported || this._credentialsSupported.length === 0) { + await this.setCredentialsSupported(); + } if (!this._issuerBranding) { this._issuerBranding = this._serverMetadata.credentialIssuerMetadata?.display; @@ -385,7 +365,7 @@ class OpenId4VcIssuanceProvider { if (!this._credentialBranding) { this._credentialBranding = new Map>(); await Promise.all( - this._credentialsSupported.map(async (metadata: CredentialSupported): Promise => { + this._credentialsSupported!.map(async (metadata: CredentialSupported): Promise => { const localeBranding: Array = await Promise.all( (metadata.display ?? []).map( async (display: CredentialsSupportedDisplay): Promise => @@ -429,7 +409,7 @@ class OpenId4VcIssuanceProvider { clientId, authorizationResponse: opts?.authorizationResponse ?? this.authorizationCodeResponse, }); - console.log(`OpenId4VcIssuanceProvider.accessTokenResponse accessTokenResponse: ${JSON.stringify(this._accessTokenResponse)}`); + debug(`OpenId4VcIssuanceProvider.accessTokenResponse accessTokenResponse:`, JSON.stringify(this._accessTokenResponse)); } return this._accessTokenResponse; }; @@ -484,17 +464,22 @@ class OpenId4VcIssuanceProvider { ...credentialSupported, didMethod, format: credentialSupported.format, - keyType: KeyTypeFromCryptographicSuite(cryptographicSuite), + keyType: this.client.isEBSI() ? 'Secp256r1' : KeyTypeFromCryptographicSuite(cryptographicSuite), + ...(this.client.isEBSI() && {codecName: 'EBSI'}), } as IIssuanceOpts; const identifierOpts = await this.getIdentifier({issuanceOpt}); + if (!this.client.clientId || this.client.clientId) { + // FIXME: We really should fetch server metadata. Have user select required credentials. Take the first cred to determine a kid when no clientId is present and set that. + // Needs a preference service for crypto, keys, dids, and clientId, with ecosystem support + console.log(`################################Setting client id to ${identifierOpts.identifier.did}`); + this.client.clientId = identifierOpts.identifier.did; + } issuanceOpts.push({...issuanceOpt, ...identifierOpts}); } this._issuanceOpts = issuanceOpts; - if (!this.client.clientId) { - this.client.clientId = issuanceOpts[0].identifier.did; - } + return this._issuanceOpts; }; @@ -506,10 +491,10 @@ class OpenId4VcIssuanceProvider { ); const issuanceOpt = { ...credentialSupported, - didMethod: SupportedDidMethodEnum.DID_JWK, - keyType: 'Secp256k1', + didMethod: this.client.isEBSI() ? SupportedDidMethodEnum.DID_KEY : SupportedDidMethodEnum.DID_JWK, + keyType: 'Secp256r1', } as IIssuanceOpts; - const identifierOpts = this.getIdentifier(issuanceOpt); + const identifierOpts = this.getIdentifier({issuanceOpt}); return {...issuanceOpt, ...identifierOpts}; } @@ -528,7 +513,7 @@ class OpenId4VcIssuanceProvider { if (supportedPreferences.length > 0) { return supportedPreferences[0]; - } else if (this.isEbsi()) { + } else if (this.client.isEBSI()) { return SignatureAlgorithmEnum.ES256; } @@ -555,18 +540,6 @@ class OpenId4VcIssuanceProvider { } }; - private isEbsi() { - if ( - this._client.credentialOffer?.credential_offer.credentials.find( - // @ts-ignore - cred => typeof cred !== 'string' && 'trust_framework' in cred && 'name' in cred.trust_framework && cred.trust_framework.name.includes('ebsi'), - ) - ) { - return true; - } - return this.serverMetadata?.authorization_endpoint?.includes('ebsi.eu'); - } - private getIssuanceDidMethod = async (credentialSupported: CredentialSupported): Promise => { const {format, cryptographic_binding_methods_supported} = credentialSupported; if (cryptographic_binding_methods_supported && Array.isArray(cryptographic_binding_methods_supported)) { @@ -580,7 +553,7 @@ class OpenId4VcIssuanceProvider { } } - if (this.isEbsi()) { + if (this.client.isEBSI()) { return SupportedDidMethodEnum.DID_KEY; } if (!format || (format.includes('jwt') && !format?.includes('jwt_vc_json_ld'))) { diff --git a/src/services/identityService.ts b/src/services/identityService.ts index 469b1127..5b002f48 100644 --- a/src/services/identityService.ts +++ b/src/services/identityService.ts @@ -52,5 +52,5 @@ export const getOrCreatePrimaryIdentifier = async (args?: ICreateOrGetIdentifier const identifier: IIdentifier = !identifiers || identifiers.length == 0 ? await createIdentifier(args) : identifiers[0]; debug(`identifier: ${JSON.stringify(identifier, null, 2)}`); - return didManagerGet({did: identifier.did}); + return await didManagerGet({did: identifier.did}); }; diff --git a/src/services/machines/oid4vciMachineService.ts b/src/services/machines/oid4vciMachineService.ts index 8aff02f6..f058a583 100644 --- a/src/services/machines/oid4vciMachineService.ts +++ b/src/services/machines/oid4vciMachineService.ts @@ -58,12 +58,13 @@ export const createCredentialSelection = async ( // FIXME this allows for duplicate VerifiableCredential, which the user has no idea which ones those are and we also have a branding map with unique keys, so some branding will not match const credentialType: string = credentialMetadata.types.find((type: string): boolean => type !== 'VerifiableCredential') ?? 'VerifiableCredential'; + const credentialAlias = + (await selectAppLocaleBranding({localeBranding: openId4VcIssuanceProvider?.credentialBranding?.get(credentialType)}))?.alias ?? + credentialType; return { id: uuidv4(), credentialType, - credentialAlias: - (await selectAppLocaleBranding({localeBranding: openId4VcIssuanceProvider?.credentialBranding?.get(credentialType)}))?.alias ?? - credentialType, + credentialAlias, isSelected: false, }; }), @@ -113,7 +114,6 @@ export const retrieveCredentials = async ( if (!openId4VcIssuanceProvider) { throw Error('Missing OID4VCI issuance provider in context'); } - console.log('MACHINE authorizationCodeResponse', authorizationCodeResponse); openId4VcIssuanceProvider.authorizationCodeResponse = authorizationCodeResponse; return openId4VcIssuanceProvider ?.getCredentials({ @@ -196,7 +196,7 @@ export const assertValidCredentials = async (context: Pick): Promise => { +export const createConfig = async (context: Pick): Promise> => { const {requestData} = context; if (requestData?.uri === undefined) { return Promise.reject(Error('Missing request uri in context')); } - const identifier: IIdentifier = await getOrCreatePrimaryIdentifier(); + // FIXME: This can never work. At this point we do not know what type of identifier to create/get at all + // const identifier: IIdentifier = await getOrCreatePrimaryIdentifier(); return { id: uuidv4(), // FIXME: Update these values in SSI-SDK. Only the URI (not a redirectURI) would be available at this point sessionId: uuidv4(), redirectUrl: requestData.uri, stateId: requestData.state, - identifier, + // identifier, }; }; diff --git a/src/types/machines/siopV2/index.ts b/src/types/machines/siopV2/index.ts index 107d4442..090b2357 100644 --- a/src/types/machines/siopV2/index.ts +++ b/src/types/machines/siopV2/index.ts @@ -21,7 +21,7 @@ export type SiopV2AuthorizationRequestData = { export type SiopV2MachineContext = { requestData?: IQrData; // TODO WAL-673 fix type as this is not always a qr code (deeplink) identifier?: IIdentifier; - didAuthConfig?: DidAuthConfig; + didAuthConfig?: Omit; authorizationRequestData?: SiopV2AuthorizationRequestData; verifiedAuthorizationRequest?: VerifiedAuthorizationRequest; contact?: Party; diff --git a/src/types/provider/openIdVcIssuanceProvider/index.ts b/src/types/provider/openIdVcIssuanceProvider/index.ts index 34582d98..7c730b90 100644 --- a/src/types/provider/openIdVcIssuanceProvider/index.ts +++ b/src/types/provider/openIdVcIssuanceProvider/index.ts @@ -22,6 +22,7 @@ export interface IGetCredentialsArgs { export type IIssuanceOpts = CredentialSupported & { didMethod: SupportedDidMethodEnum; keyType: TKeyType; + codeName?: string; kid?: string; identifier: IIdentifier; }; diff --git a/yarn.lock b/yarn.lock index a72a38d1..7e845761 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3502,20 +3502,20 @@ str2buf "^1.3.0" webcrypto-shim "^0.1.7" -"@sphereon/oid4vci-client@0.8.2-unstable.72": - version "0.8.2-unstable.72" - resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-client/-/oid4vci-client-0.8.2-unstable.72.tgz#c3618597d2bc7f779eed3ccc896bb19e2a314ed4" - integrity sha512-iW56ZGYrR2jd3lqmqjLmnTD4l+1ajrzQ9qzOexKkIHx+elRZDxv9r2UCNZXC7mhvr+Z50pjYP+5putE23KS2Og== +"@sphereon/oid4vci-client@0.8.2-unstable.75": + version "0.8.2-unstable.75" + resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-client/-/oid4vci-client-0.8.2-unstable.75.tgz#3d9f354dcdfa4c381ad9c59ead5627cb1d914a81" + integrity sha512-AKbYvv40vv5caGZtQdvf8Mh9MdoKX3EKJcDE9djZWEYskdVqOdqbbFxSqMba3JSryMeQydE/Xw1cZMaedq8OEw== dependencies: - "@sphereon/oid4vci-common" "0.8.2-unstable.72+dfb2280" + "@sphereon/oid4vci-common" "0.8.2-unstable.75+7a1afbc" "@sphereon/ssi-types" "^0.18.1" cross-fetch "^3.1.8" debug "^4.3.4" -"@sphereon/oid4vci-common@0.8.2-unstable.72", "@sphereon/oid4vci-common@0.8.2-unstable.72+dfb2280": - version "0.8.2-unstable.72" - resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-common/-/oid4vci-common-0.8.2-unstable.72.tgz#3a68e26154fa1b704a1900dde979d87ca37e7def" - integrity sha512-S69+pDZ40waTg25FDVaoOk4ITewvXW0HEVH20bWg0hvztrUeQtAd0I+Ci48UNk1cB8G75XA/F0BB+NusFkMUPw== +"@sphereon/oid4vci-common@0.8.2-unstable.75", "@sphereon/oid4vci-common@0.8.2-unstable.75+7a1afbc": + version "0.8.2-unstable.75" + resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-common/-/oid4vci-common-0.8.2-unstable.75.tgz#2e5c6c1a0a5b9a096e38b1fddd6a10878b462fee" + integrity sha512-Vy+RvE1BKDmXVfJ+nplGSWM3D+4aSkNif05SQHQLvdUkiF6rVimrkBihiyrVNh30ARIPXmxlAsqCrd2vfavlWg== dependencies: "@sphereon/ssi-types" "^0.18.1" cross-fetch "^3.1.8" From 22f77c255ed558e4fec9d104d074dfd8fedebb94 Mon Sep 17 00:00:00 2001 From: Niels Klomp Date: Wed, 14 Feb 2024 09:13:19 +0100 Subject: [PATCH 04/10] fix: Await did manager get --- src/providers/credential/OpenId4VcIssuanceProvider.ts | 2 +- src/types/provider/openIdVcIssuanceProvider/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/providers/credential/OpenId4VcIssuanceProvider.ts b/src/providers/credential/OpenId4VcIssuanceProvider.ts index 076e53fc..7a9fa137 100644 --- a/src/providers/credential/OpenId4VcIssuanceProvider.ts +++ b/src/providers/credential/OpenId4VcIssuanceProvider.ts @@ -250,7 +250,7 @@ class OpenId4VcIssuanceProvider { private getIdentifier = async ({issuanceOpt}: {issuanceOpt: IIssuanceOpts}) => { const identifier = await getOrCreatePrimaryIdentifier({ method: issuanceOpt.didMethod, - createOpts: {options: {type: issuanceOpt.keyType, use: KeyUse.Signature, codecName: issuanceOpt.codeName}}, + createOpts: {options: {type: issuanceOpt.keyType, use: KeyUse.Signature, codecName: issuanceOpt.codecName}}, }); const key: _ExtendedIKey = await this.getAuthenticationKey(identifier); const kid: string = key.meta.verificationMethod.id; diff --git a/src/types/provider/openIdVcIssuanceProvider/index.ts b/src/types/provider/openIdVcIssuanceProvider/index.ts index 7c730b90..7423b67d 100644 --- a/src/types/provider/openIdVcIssuanceProvider/index.ts +++ b/src/types/provider/openIdVcIssuanceProvider/index.ts @@ -22,7 +22,7 @@ export interface IGetCredentialsArgs { export type IIssuanceOpts = CredentialSupported & { didMethod: SupportedDidMethodEnum; keyType: TKeyType; - codeName?: string; + codecName?: string; kid?: string; identifier: IIdentifier; }; From 69cc363588230a951e04c1a803c470d35c872bcc Mon Sep 17 00:00:00 2001 From: Niels Klomp Date: Thu, 15 Feb 2024 03:17:53 +0100 Subject: [PATCH 05/10] fix: Use credentialSubject.id as default id instead of credential id --- src/services/machines/onboardingMachineService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/machines/onboardingMachineService.ts b/src/services/machines/onboardingMachineService.ts index 564b441f..0708cc1e 100644 --- a/src/services/machines/onboardingMachineService.ts +++ b/src/services/machines/onboardingMachineService.ts @@ -53,7 +53,7 @@ const createUserAndIdentity = async ( issuanceDate: cred?.issuanceDate ?? new Date(), credentialSubject: { ...cred?.credentialSubject, - id: cred?.id ?? identifier.did, + id: cred?.credentialSubject?.id ?? identifier.did, ...personalData, }, }, From a968a9278b4f4c331f3b6c034ad8dc76d0872b8b Mon Sep 17 00:00:00 2001 From: "A.G.J. Cate" Date: Thu, 15 Feb 2024 20:08:24 +0100 Subject: [PATCH 06/10] chore: WIP --- index.js | 1 + package.json | 6 +- src/agent/index.ts | 15 +- .../machines/oid4vciStateNavigation.tsx | 43 +- .../credential/OpenId4VcIssuanceProvider.ts | 115 +- .../machines/oid4vciMachineService.ts | 5 +- src/services/qrService.ts | 240 ++- src/types/machines/bram/index.ts | 10 + src/types/machines/oid4vci/index.ts | 2 +- yarn.lock | 1444 +++++++++-------- 10 files changed, 1125 insertions(+), 756 deletions(-) create mode 100644 src/types/machines/bram/index.ts diff --git a/index.js b/index.js index 32ff3895..c4a0b60e 100644 --- a/index.js +++ b/index.js @@ -4,6 +4,7 @@ import 'react-native-get-random-values'; import '@ethersproject/shims'; import 'fast-text-encoding'; import 'react-native-gesture-handler'; +import 'react-native-url-polyfill/auto'; // Applying the polyfill for URL from lib.dom // if (typeof BigInt === 'undefined') global.BigInt = require('big-integer') import {registerRootComponent} from 'expo'; diff --git a/package.json b/package.json index 2d25d27d..823320fd 100644 --- a/package.json +++ b/package.json @@ -41,8 +41,8 @@ "@scure/base": "^1.1.3", "@sphereon/did-auth-siop": "0.6.0-unstable.7", "@sphereon/isomorphic-webcrypto": "2.4.0-unstable.4", - "@sphereon/oid4vci-client": "0.8.2-unstable.65", - "@sphereon/oid4vci-common": "0.8.2-unstable.65", + "@sphereon/oid4vci-client": "file://C:\\Git\\Sphereon-Opensource\\OID4VCI-client\\packages\\client\\sphereon-oid4vci-client-0.40.9-bram.tgz", + "@sphereon/oid4vci-common": "0.8.2-unstable.75", "@sphereon/pex": "3.2.1-unstable.7", "@sphereon/pex-models": "^2.2.0", "@sphereon/react-native-argon2": "2.0.9", @@ -60,6 +60,7 @@ "@sphereon/ssi-sdk.issuance-branding": "0.18.2-unstable.35", "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.18.2-unstable.35", "@sphereon/ssi-sdk.vc-handler-ld-local": "0.18.2-unstable.35", + "@sphereon/ssi-sdk.oid4vci-holder": "file://C:\\Git\\Sphereon-Opensource\\ssi-sdk\\packages\\oid4vci-holder\\sphereon-ssi-sdk.oid4vci-holder-0.127.28-bram.tgz", "@sphereon/ssi-types": "0.18.2-unstable.35", "@sphereon/ui-components.core": "0.1.3-unstable.88", "@sphereon/ui-components.ssi-react-native": "0.1.3-unstable.88", @@ -251,7 +252,6 @@ "@sphereon/ssi-sdk-ext.key-manager": "0.16.0", "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.35", "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.35", - "@sphereon/oid4vci-client": "0.8.2-unstable.65", "@sphereon/oid4vci-common": "0.8.2-unstable.65", "@sphereon/pex": "3.2.1-unstable.7", "@sphereon/pex-models": "2.2.0", diff --git a/src/agent/index.ts b/src/agent/index.ts index 7410d043..ac651011 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -16,7 +16,7 @@ import { SphereonEd25519Signature2020, SphereonJsonWebSignature2020, } from '@sphereon/ssi-sdk.vc-handler-ld-local'; -import {createAgent, ICredentialPlugin, IDataStore, IDataStoreORM, IDIDManager, IKeyManager, IResolver} from '@veramo/core'; +import {createAgent, ICredentialPlugin, IDataStore, IDataStoreORM, IDIDManager, IKeyManager, IResolver, VerifiableCredential} from '@veramo/core'; import {CredentialPlugin, ICredentialIssuer} from '@veramo/credential-w3c'; import {DataStore, DataStoreORM, DIDStore, KeyStore, PrivateKeyStore} from '@veramo/data-store'; import {DIDManager} from '@veramo/did-manager'; @@ -35,6 +35,8 @@ import {LdContexts} from '../@config/credentials'; import {DB_CONNECTION_NAME, DB_ENCRYPTION_KEY} from '../@config/database'; import {getDbConnection} from '../services/databaseService'; import {KeyManagementSystemEnum, SupportedDidMethodEnum} from '../types'; +import {GetCredentialsArgs, IOID4VCIHolder, OID4VCIHolder} from '@sphereon/ssi-sdk.oid4vci-holder'; +import OpenId4VcIssuanceProvider, {CredentialToAccept} from '../providers/credential/OpenId4VcIssuanceProvider'; export const didResolver = new Resolver({ ...getUniResolver(SupportedDidMethodEnum.DID_ETHR, { @@ -79,7 +81,8 @@ const agent = createAgent< ICredentialPlugin & ICredentialIssuer & ICredentialHandlerLDLocal & - IIssuanceBranding + IIssuanceBranding & + IOID4VCIHolder >({ plugins: [ new DataStore(dbConnection), @@ -122,6 +125,13 @@ const agent = createAgent< ]), keyStore: privateKeyStore, }), + new OID4VCIHolder({ + //oid4vciProvider: new OpenId4VcIssuanceProvider(), + onGetCredentials: new OpenId4VcIssuanceProvider().getCredentials, + //onGetCredentials: async (args: GetCredentialsArgs): Promise> => new OpenId4VcIssuanceProvider().getCredentials(args), + onCredentialStored: async (credential: VerifiableCredential): Promise => console.log('onCredentialStored'), + // TODO do we need a on contact created? + }), ], }); @@ -143,6 +153,7 @@ export const ibAddCredentialBranding = agent.ibAddCredentialBranding; export const ibGetCredentialBranding = agent.ibGetCredentialBranding; export const ibCredentialLocaleBrandingFrom = agent.ibCredentialLocaleBrandingFrom; export const ibRemoveCredentialBranding = agent.ibRemoveCredentialBranding; +export const oid4vciHolderGetMachineInterpreter = agent.oid4vciHolderGetMachineInterpreter; export default agent; diff --git a/src/navigation/machines/oid4vciStateNavigation.tsx b/src/navigation/machines/oid4vciStateNavigation.tsx index 47f63c68..bbe87aee 100644 --- a/src/navigation/machines/oid4vciStateNavigation.tsx +++ b/src/navigation/machines/oid4vciStateNavigation.tsx @@ -19,16 +19,24 @@ import {translate} from '../../localization/Localization'; import RootNavigation from './../rootNavigation'; import {APP_ID} from '../../@config/constants'; import { - CreateContactEvent, + // CreateContactEvent, OID4VCIContext as OID4VCIContextType, + // OID4VCIMachineEvents, + // OID4VCIMachineInterpreter, + + // OID4VCIMachineState, + // OID4VCIMachineStates, + OID4VCIProviderProps, +} from '../../types/machines/oid4vci'; +import {MainRoutesEnum, NavigationBarRoutesEnum, PopupImagesEnum, ScreenRoutesEnum} from '../../types'; +import { + CreateContactEvent, OID4VCIMachineEvents, OID4VCIMachineInterpreter, OID4VCIMachineNavigationArgs, OID4VCIMachineState, OID4VCIMachineStates, - OID4VCIProviderProps, -} from '../../types/machines/oid4vci'; -import {MainRoutesEnum, NavigationBarRoutesEnum, PopupImagesEnum, ScreenRoutesEnum} from '../../types'; +} from '@sphereon/ssi-sdk.oid4vci-holder/dist/types/IOID4VCIHolder'; const debug: Debugger = Debug(`${APP_ID}:oid4vciStateNavigation`); @@ -46,22 +54,19 @@ const navigateLoading = async (args: OID4VCIMachineNavigationArgs): Promise => { const {navigation, state, oid4vciMachine, onBack} = args; - const {openId4VcIssuanceProvider, hasContactConsent} = state.context; + const {hasContactConsent, serverMetadata} = state.context; - if (!openId4VcIssuanceProvider) { - return Promise.reject(Error('Missing OpenId4VcIssuanceProvider in context')); - } + // if (!openId4VcIssuanceProvider) { + // return Promise.reject(Error('Missing OpenId4VcIssuanceProvider in context')); + // } - if (!openId4VcIssuanceProvider.serverMetadata) { - return Promise.reject(Error('OID4VCI issuance provider has no server metadata')); - } + // if (!openId4VcIssuanceProvider.serverMetadata) { + // return Promise.reject(Error('OID4VCI issuance provider has no server metadata')); + // } - const issuerUrl: URL = new URL(openId4VcIssuanceProvider.serverMetadata.issuer); + const issuerUrl: URL = new URL(serverMetadata.issuer); const correlationId: string = `${issuerUrl.protocol}//${issuerUrl.hostname}`; - const issuerName: string = OpenId4VcIssuanceProvider.getIssuerName( - correlationId, - openId4VcIssuanceProvider.serverMetadata.credentialIssuerMetadata, - ); + const issuerName: string = OpenId4VcIssuanceProvider.getIssuerName(correlationId, serverMetadata.credentialIssuerMetadata); const contact: NonPersistedParty = { contact: { @@ -230,10 +235,8 @@ const navigateAuthorizationCodeURL = async (args: OID4VCIMachineNavigationArgs): const navigateReviewCredentialOffers = async (args: OID4VCIMachineNavigationArgs): Promise => { const {oid4vciMachine, navigation, state, onBack, onNext} = args; - const {credentialsToAccept, contact, openId4VcIssuanceProvider} = state.context; - const localeBranding: Array | undefined = openId4VcIssuanceProvider?.credentialBranding?.get( - state.context.selectedCredentials[0], - ); + const {credentialsToAccept, contact, credentialBranding} = state.context; + const localeBranding: Array | undefined = credentialBranding?.get(state.context.selectedCredentials[0]); const onDecline = async (): Promise => { oid4vciMachine.send(OID4VCIMachineEvents.DECLINE); diff --git a/src/providers/credential/OpenId4VcIssuanceProvider.ts b/src/providers/credential/OpenId4VcIssuanceProvider.ts index 4243fd56..4bdc94b3 100644 --- a/src/providers/credential/OpenId4VcIssuanceProvider.ts +++ b/src/providers/credential/OpenId4VcIssuanceProvider.ts @@ -20,18 +20,17 @@ import { import {KeyUse} from '@sphereon/ssi-sdk-ext.did-resolver-jwk'; import {getFirstKeyWithRelation} from '@sphereon/ssi-sdk-ext.did-utils'; import {IBasicCredentialLocaleBranding} from '@sphereon/ssi-sdk.data-store'; +import {GetCredentialsArgs} from '@sphereon/ssi-sdk.oid4vci-holder'; import {_ExtendedIKey} from '@veramo/utils'; -import Debug, {Debugger} from 'debug'; import {JWTHeader} from 'did-jwt'; import {DIDDocument} from 'did-resolver'; -import {APP_ID} from '../../@config/constants'; +import {v4 as uuidv4} from 'uuid'; import {agentContext, ibCredentialLocaleBrandingFrom} from '../../agent'; import {translate} from '../../localization/Localization'; import {getOrCreatePrimaryIdentifier} from '../../services/identityService'; import {signJWT} from '../../services/signatureService'; import { ErrorDetails, - IGetCredentialsArgs, IGetIssuanceInitiationFromUriArgs, IIssuanceOpts, IServerMetadataAndCryptoMatchingResponse, @@ -39,12 +38,9 @@ import { QrTypesEnum, SupportedDidMethodEnum, } from '../../types'; -import {KeyTypeFromCryptographicSuite, SignatureAlgorithmFromKey} from '../../utils/KeyUtils'; +import {KeyTypeFromCryptographicSuite, SignatureAlgorithmFromKey} from '../../utils'; import {credentialLocaleBrandingFrom} from '../../utils/mappers/branding/OIDC4VCIBrandingMapper'; -const {v4: uuidv4} = require('uuid'); -const debug: Debugger = Debug(`${APP_ID}:openid4vci`); - // TODO these preferences need to come from the user export const vcFormatPreferences = ['jwt_vc_json', 'jwt_vc', 'ldp_vc']; @@ -153,16 +149,18 @@ class OpenId4VcIssuanceProvider { private _accessTokenResponse?: AccessTokenResponse; private _credentialBranding?: Map>; private _issuerBranding?: Array; - private _authorizationCodeResponse?: AuthorizationResponse; - private constructor(client: OpenID4VCIClient) { - this._client = client; + public constructor(client?: OpenID4VCIClient) { + if (client) { + this._client = client; + } } get authorizationCodeResponse(): AuthorizationResponse | undefined { return this._authorizationCodeResponse; } + set authorizationCodeResponse(value: AuthorizationResponse | string | undefined) { console.log('before setting authorizationCodeResponse', value); this._authorizationCodeResponse = typeof value === 'string' ? toAuthorizationResponsePayload(value) : value; @@ -173,12 +171,7 @@ class OpenId4VcIssuanceProvider { return this._client; } - public static getIssuerDisplays( - metadata: CredentialIssuerMetadata | IssuerMetadataV1_0_08, - opts?: { - prefLocales: string[]; - }, - ): MetadataDisplay[] { + public static getIssuerDisplays(metadata: CredentialIssuerMetadata | IssuerMetadataV1_0_08, opts?: {prefLocales: string[]}): MetadataDisplay[] { const matchedDisplays: Array = metadata.display?.filter( (display: MetadataDisplay) => @@ -248,8 +241,17 @@ class OpenId4VcIssuanceProvider { return provider; }; - public getCredentials = async ({pin, credentials}: IGetCredentialsArgs): Promise> => { - const matches: IServerMetadataAndCryptoMatchingResponse = await this.getServerMetadataAndPerformCryptoMatching(); + public getCredentials = async (args: GetCredentialsArgs): Promise> => { + console.log('CALLING: getCredentials'); + const {pin, credentials, openID4VCIClientState} = args; + + const client = await OpenID4VCIClient.fromState({state: openID4VCIClientState}); + + if (client) { + console.log('CALLING: getCredentials HAS client'); + } + + const matches: IServerMetadataAndCryptoMatchingResponse = await this.getServerMetadataAndPerformCryptoMatching(client); const credentialResponses: Array = []; // const initTypes = this.client.getCredentialTypes(); for (const issuanceOpt of matches.issuanceOpts) { @@ -259,6 +261,7 @@ class OpenId4VcIssuanceProvider { const credentialResponse: CredentialResponse = await this.getCredential({ issuanceOpt, pin, + client, }); credentialResponses.push({ id: issuanceOpt.id, @@ -274,7 +277,22 @@ class OpenId4VcIssuanceProvider { return credentialResponses; }; - public getCredential = async ({issuanceOpt, pin}: {pin?: string; issuanceOpt: IIssuanceOpts}): Promise => { + public getCredential = async ({ + issuanceOpt, + pin, + client, + }: { + pin?: string; + issuanceOpt: IIssuanceOpts; + client?: OpenID4VCIClient; + }): Promise => { + console.log('CALLING: getCredential'); + const clientInstance = client ?? this.client; + + if (client) { + console.log('CALLING: getCredential HAS client'); + } + if (!issuanceOpt) { return Promise.reject(Error(`Cannot get credential issuance options`)); } @@ -315,15 +333,16 @@ class OpenId4VcIssuanceProvider { try { // We need to make sure we have acquired the access token - await this.acquireAccessToken({pin, authorizationResponse: this.authorizationCodeResponse}); - + await this.acquireAccessToken({pin, authorizationResponse: this.authorizationCodeResponse, client: clientInstance}); + // @ts-ignore console.log(`cred type: ${JSON.stringify(issuanceOpt.types)}, format: ${issuanceOpt.format}, kid: ${kid}, alg: ${alg}`); - return await this._client.acquireCredentials({ + return await clientInstance.acquireCredentials({ + // @ts-ignore credentialTypes: issuanceOpt.types /*.filter((type: string): boolean => type !== 'VerifiableCredential')*/, proofCallbacks: callbacks, format: issuanceOpt.format, - // TODO: We need to update the machine and add notifications support for actuall deferred credentials instead of just waiting/retrying + // TODO: We need to update the machine and add notifications support for actual deferred credentials instead of just waiting/retrying deferredCredentialAwait: true, kid, alg, @@ -335,15 +354,19 @@ class OpenId4VcIssuanceProvider { } }; - public getServerMetadataAndPerformCryptoMatching = async (): Promise => { + // TODO object args + public getServerMetadataAndPerformCryptoMatching = async (client?: OpenID4VCIClient): Promise => { + const clientInstance = client ?? this.client; // TODO name + if (!this._serverMetadata) { - this._serverMetadata = await this._client.retrieveServerMetadata(); + this._serverMetadata = await clientInstance.retrieveServerMetadata(); } if (!this._credentialsSupported || this._credentialsSupported.length === 0) { // todo: remove format here. This is just a temp hack for V11+ issuance of only one credential. Having a single array with formats for multiple credentials will not work. This should be handled in VCI itself let format: string[] | undefined = undefined; - if (this._client.version() > OpenId4VCIVersion.VER_1_0_09 && typeof this._client.credentialOffer?.credential_offer === 'object') { - format = this._client.credentialOffer.credential_offer.credentials + if (clientInstance.version() > OpenId4VCIVersion.VER_1_0_09 && typeof clientInstance.credentialOffer?.credential_offer === 'object') { + format = clientInstance + .credentialOffer!.credential_offer.credentials // TODO null ref .filter((format: string | CredentialOfferFormat): boolean => typeof format !== 'string') .map((format: string | CredentialOfferFormat) => (format as CredentialOfferFormat).format); if (format.length === 0) { @@ -351,14 +374,15 @@ class OpenId4VcIssuanceProvider { } } this._credentialsSupported = await this.getPreferredCredentialFormats( - this._client.getCredentialsSupported(!!this._client.credentialOffer?.credential_offer, format), + clientInstance.getCredentialsSupported(!!clientInstance.credentialOffer?.credential_offer, format), ); if (!this._credentialsSupported || this._credentialsSupported.length === 0) { - this._credentialsSupported = this._client.credentialOffer?.credential_offer.credentials + this._credentialsSupported = clientInstance.credentialOffer?.credential_offer.credentials .filter((format: string | CredentialOfferFormat): boolean => typeof format !== 'string') .map(cred => { return { format: (cred).format, + // @ts-ignore types: (cred).types, } as CredentialSupported; }); @@ -372,6 +396,7 @@ class OpenId4VcIssuanceProvider { if (!this._credentialBranding) { this._credentialBranding = new Map>(); await Promise.all( + // @ts-ignore this._credentialsSupported.map(async (metadata: CredentialSupported): Promise => { const localeBranding: Array = await Promise.all( (metadata.display ?? []).map( @@ -381,11 +406,15 @@ class OpenId4VcIssuanceProvider { ); const credentialTypes: Array = + // @ts-ignore metadata.types.length > 1 - ? metadata.types.filter((type: string): boolean => type !== 'VerifiableCredential') - : metadata.types.length === 0 + ? // @ts-ignore + metadata.types.filter((type: string): boolean => type !== 'VerifiableCredential') + : // @ts-ignore + metadata.types.length === 0 ? ['VerifiableCredential'] - : metadata.types; + : // @ts-ignore + metadata.types; if (this._credentialBranding) { this._credentialBranding.set(credentialTypes[0], localeBranding); // TODO for now taking the first type @@ -397,6 +426,7 @@ class OpenId4VcIssuanceProvider { return { issuerBranding: this._issuerBranding, serverMetadata: this._serverMetadata, + // @ts-ignore credentialsSupported: this._credentialsSupported, issuanceOpts: await this.getIssuanceOpts(), credentialBranding: this._credentialBranding, @@ -407,11 +437,21 @@ class OpenId4VcIssuanceProvider { pin?: string; clientId?: string; authorizationResponse?: AuthorizationResponse; + client?: OpenID4VCIClient; }): Promise => { - const {pin} = opts; + console.log('CALLING: acquireAccessToken'); + + const {pin, client} = opts; + + if (client) { + console.log('CALLING: acquireAccessToken HAS client'); + } + + const clientInstance = client ?? this.client; if (!this._accessTokenResponse) { const clientId: string | undefined = opts.clientId; - this._accessTokenResponse = await this._client.acquireAccessToken({ + console.log('CALLING: acquireAccessToken ON CLIENT'); + this._accessTokenResponse = await clientInstance.acquireAccessToken({ pin, clientId, authorizationResponse: opts?.authorizationResponse ?? this.authorizationCodeResponse, @@ -427,6 +467,7 @@ class OpenId4VcIssuanceProvider { // TODO any credentials .reduce( + // @ts-ignore (map: Map, value: CredentialSupported) => map.set(value.types.toString(), [...(map.get(value.types.toString()) || []), value]), new Map(), ) @@ -483,6 +524,7 @@ class OpenId4VcIssuanceProvider { private defaultIssuanceOpts(credentialSupported: CredentialSupported): IIssuanceOpts { console.log( `WARNING: Reverting to default for key/signature suites for credential type '${JSON.stringify( + // @ts-ignore credentialSupported.types, )}', as no Server Metadata or no metadata match was present!`, ); @@ -498,6 +540,7 @@ class OpenId4VcIssuanceProvider { // TODO: Return array, so the wallet/user could choose switch (credentialSupported.format) { + // @ts-ignore case 'jwt': case 'jwt_vc_json': case 'jwt_vc': { @@ -516,7 +559,9 @@ class OpenId4VcIssuanceProvider { console.log(`Warn: We could not determine the crypto suites from the server metadata, and will fallback to a default: ${fallback}`); return fallback; } + // @ts-ignore case 'ldp': + // @ts-ignore case 'jwt_vc_json_ld': case 'ldp_vc': { const supportedPreferences: Array = jsonldCryptographicSuitePreferences.filter((suite: string) => suites_supported.includes(suite)); @@ -536,7 +581,7 @@ class OpenId4VcIssuanceProvider { private isEbsi() { if ( - this._client.credentialOffer?.credential_offer.credentials.find( + this.client.credentialOffer?.credential_offer.credentials.find( // @ts-ignore cred => typeof cred !== 'string' && 'trust_framework' in cred && 'name' in cred.trust_framework && cred.trust_framework.name.includes('ebsi'), ) diff --git a/src/services/machines/oid4vciMachineService.ts b/src/services/machines/oid4vciMachineService.ts index d8dcb278..ba623958 100644 --- a/src/services/machines/oid4vciMachineService.ts +++ b/src/services/machines/oid4vciMachineService.ts @@ -28,6 +28,7 @@ import {MappedCredentialToAccept, OID4VCIMachineContext} from '../../types/machi import {addCredentialBranding, selectAppLocaleBranding} from '../brandingService'; import {getContacts} from '../contactService'; import {verifyCredential} from '../credentialService'; +import openId4VcIssuanceProvider from '../../providers/credential/OpenId4VcIssuanceProvider'; export const initiateOpenId4VcIssuanceProvider = async (context: Pick): Promise => { const {requestData} = context; @@ -67,9 +68,9 @@ export const initiateOpenId4VcIssuanceProvider = async (context: Pick, + context: Pick, ): Promise> => { - const {openId4VcIssuanceProvider, selectedCredentials, authorizationCodeResponse} = context; + const {selectedCredentials, authorizationCodeResponse} = context; if (!openId4VcIssuanceProvider) { return Promise.reject(Error('Missing OpenId4VcIssuanceProvider in context')); diff --git a/src/services/qrService.ts b/src/services/qrService.ts index 1857762c..59402106 100644 --- a/src/services/qrService.ts +++ b/src/services/qrService.ts @@ -1,5 +1,5 @@ import {VerifiedAuthorizationRequest} from '@sphereon/did-auth-siop'; -import {CredentialOfferClient} from '@sphereon/oid4vci-client'; +import {CredentialOfferClient, OpenID4VCIClient, OpenID4VCIClientState} from '@sphereon/oid4vci-client'; import {ConnectionTypeEnum, DidAuthConfig, NonPersistedConnection} from '@sphereon/ssi-sdk.data-store'; import {IIdentifier} from '@veramo/core'; import Debug, {Debugger} from 'debug'; @@ -27,6 +27,8 @@ import {SiopV2MachineInterpreter} from '../types/machines/siopV2'; import {showToast} from '../utils'; import {authenticate} from './authenticationService'; import {getOrCreatePrimaryIdentifier} from './identityService'; +import {oid4vciStateNavigationListener} from '../navigation/machines/oid4vciStateNavigation'; +import {oid4vciHolderGetMachineInterpreter} from '../agent'; const debug: Debugger = Debug(`${APP_ID}:qrService`); @@ -172,14 +174,234 @@ const connectJwtVcPresentationProfile = async (args: IQrDataArgs): Promise export let OID4VCIInstance: OID4VCIMachineInterpreter | undefined; export let SiopV2Instance: SiopV2MachineInterpreter | undefined; const connectOID4VCI = async (args: IQrDataArgs): Promise => { - console.log(`args.qrData`, args.qrData); - if (args.qrData.code && args.qrData.uri) { - OID4VCIInstance?.send(OID4VCIMachineEvents.PROVIDE_AUTHORIZATION_CODE_RESPONSE, {data: args.qrData.uri}); - return; - } else { - OID4VCIInstance = OID4VCIMachine.newInstance({requestData: args.qrData}); - OID4VCIInstance.start(); - } + // console.log(`args.qrData`, JSON.stringify(args.qrData)); + + await oid4vciHolderGetMachineInterpreter({ + requestData: args.qrData, + navigation: oid4vciStateNavigationListener, + }); + + //const xx: OpenID4VCIClientState = {} + + // const xx = { + // "credentialIssuer":"https://launchpad.vii.electron.mattrlabs.io", + // "credentialOffer":{ + // "scheme":"openid-credential-offer", + // "baseUrl":"openid-credential-offer://", + // "credential_offer":{ + // "credential_issuer":"https://launchpad.vii.electron.mattrlabs.io", + // "credentials":[ + // { + // "format":"ldp_vc", + // "types":[ + // "OpenBadgeCredential" + // ] + // } + // ], + // "grants":{ + // "urn:ietf:params:oauth:grant-type:pre-authorized_code":{ + // "pre-authorized_code":"jQ-m14HCViS2AkbZjr9ut8SpbzHNlwE0gkyXuSCnUrp" + // } + // } + // }, + // "original_credential_offer":{ + // "credential_issuer":"https://launchpad.vii.electron.mattrlabs.io", + // "credentials":[ + // { + // "format":"ldp_vc", + // "types":[ + // "OpenBadgeCredential" + // ] + // } + // ], + // "grants":{ + // "urn:ietf:params:oauth:grant-type:pre-authorized_code":{ + // "pre-authorized_code":"jQ-m14HCViS2AkbZjr9ut8SpbzHNlwE0gkyXuSCnUrp" + // } + // } + // }, + // "supportedFlows":[ + // "Pre-Authorized Code Flow" + // ], + // "version":1011, + // "preAuthorizedCode":"jQ-m14HCViS2AkbZjr9ut8SpbzHNlwE0gkyXuSCnUrp", + // "userPinRequired":false + // }, + // "endpointMetadata":{ + // "issuer":"https://launchpad.vii.electron.mattrlabs.io", + // "token_endpoint":"https://launchpad.vii.electron.mattrlabs.io/oidc/v1/auth/token", + // "credential_endpoint":"https://launchpad.vii.electron.mattrlabs.io/oidc/v1/auth/credential", + // "authorization_server":"https://launchpad.vii.electron.mattrlabs.io", + // "authorization_endpoint":"https://launchpad.vii.electron.mattrlabs.io/oidc/v1/auth/authorize", + // "authorizationServerType":"OID4VCI", + // "credentialIssuerMetadata":{ + // "issuer":"https://launchpad.vii.electron.mattrlabs.io", + // "authorization_endpoint":"https://launchpad.vii.electron.mattrlabs.io/oidc/v1/auth/authorize", + // "token_endpoint":"https://launchpad.vii.electron.mattrlabs.io/oidc/v1/auth/token", + // "jwks_uri":"https://launchpad.vii.electron.mattrlabs.io/oidc/v1/auth/jwks", + // "token_endpoint_auth_methods_supported":[ + // "none", + // "client_secret_basic", + // "client_secret_jwt", + // "client_secret_post", + // "private_key_jwt" + // ], + // "code_challenge_methods_supported":[ + // "S256" + // ], + // "grant_types_supported":[ + // "authorization_code", + // "urn:ietf:params:oauth:grant-type:pre-authorized_code" + // ], + // "response_modes_supported":[ + // "form_post", + // "fragment", + // "query" + // ], + // "response_types_supported":[ + // "code id_token", + // "code", + // "id_token", + // "none" + // ], + // "scopes_supported":[ + // "OpenBadgeCredential", + // "Passport" + // ], + // "token_endpoint_auth_signing_alg_values_supported":[ + // "HS256", + // "RS256", + // "PS256", + // "ES256", + // "EdDSA" + // ], + // "credential_endpoint":"https://launchpad.vii.electron.mattrlabs.io/oidc/v1/auth/credential", + // "credentials_supported":[ + // { + // "id":"d2662472-891c-413d-b3c6-e2f0109001c5", + // "format":"ldp_vc", + // "types":[ + // "VerifiableCredential", + // "OpenBadgeCredential" + // ], + // "cryptographic_binding_methods_supported":[ + // "did:key" + // ], + // "cryptographic_suites_supported":[ + // "Ed25519Signature2018" + // ], + // "display":[ + // { + // "name":"Example University Degree", + // "description":"JFF Plugfest 3 OpenBadge Credential", + // "background_color":"#464c49", + // "logo":{ + // + // } + // } + // ] + // }, + // { + // "id":"b4c4cdf5-ccc9-4945-8c19-9334558653b2", + // "format":"ldp_vc", + // "types":[ + // "VerifiableCredential", + // "Passport" + // ], + // "cryptographic_binding_methods_supported":[ + // "did:key" + // ], + // "cryptographic_suites_supported":[ + // "Ed25519Signature2018" + // ], + // "display":[ + // { + // "name":"Passport", + // "description":"Passport of the Kingdom of Kākāpō", + // "background_color":"#171717", + // "logo":{ + // "url":"https://static.mattr.global/credential-assets/government-of-kakapo/web/logo.svg" + // } + // } + // ] + // }, + // { + // "id":"613ecbbb-0a4c-4041-bb78-c64943139d5f", + // "format":"jwt_vc_json", + // "types":[ + // "VerifiableCredential", + // "OpenBadgeCredential" + // ], + // "cryptographic_binding_methods_supported":[ + // "did:key" + // ], + // "cryptographic_suites_supported":[ + // "EdDSA" + // ], + // "display":[ + // { + // "name":"Example University Degree", + // "description":"JFF Plugfest 3 OpenBadge Credential", + // "background_color":"#464c49", + // "logo":{ + // + // } + // } + // ] + // }, + // { + // "id":"c3db5513-ae2b-46e9-8a0d-fbfd0ce52b6a", + // "format":"jwt_vc_json", + // "types":[ + // "VerifiableCredential", + // "Passport" + // ], + // "cryptographic_binding_methods_supported":[ + // "did:key" + // ], + // "cryptographic_suites_supported":[ + // "EdDSA" + // ], + // "display":[ + // { + // "name":"Passport", + // "description":"Passport of the Kingdom of Kākāpō", + // "background_color":"#171717", + // "logo":{ + // "url":"https://static.mattr.global/credential-assets/government-of-kakapo/web/logo.svg" + // } + // } + // ] + // } + // ] + // } + // }, + // "authorizationRequestOpts":{ + // + // }, + // "pkce":{ + // "disabled":false, + // "codeChallengeMethod":"S256" + // } + // } + // const yy = JSON.stringify({a: 'a'}) + // // @ts-ignore + // const openID4VCIClient= await OpenID4VCIClient.fromState(yy) + + // const openID4VCIClient= await OpenID4VCIClient.fromURI({ + // uri: args.qrData.uri, + // //authorizationRequest: {redirectUri: `${DefaultURISchemes.CREDENTIAL_OFFER}://`}, + // }) + // console.log('CLIENT CREATED') + // await openID4VCIClient.exportState() + + // if (args.qrData.code && args.qrData.uri) { + // OID4VCIInstance?.send(OID4VCIMachineEvents.PROVIDE_AUTHORIZATION_CODE_RESPONSE, {data: args.qrData.uri}); + // return; + // } else { + // OID4VCIInstance = OID4VCIMachine.newInstance({requestData: args.qrData}); + // OID4VCIInstance.start(); + // } }; const connectSiopV2 = async (args: IQrDataArgs): Promise => { diff --git a/src/types/machines/bram/index.ts b/src/types/machines/bram/index.ts new file mode 100644 index 00000000..c36d605b --- /dev/null +++ b/src/types/machines/bram/index.ts @@ -0,0 +1,10 @@ +import {NativeStackNavigationProp} from '@react-navigation/native-stack'; +import {OID4VCIMachineInterpreter, OID4VCIMachineState} from '../oid4vci'; + +export type OID4VCIMachineNavigationArgs = { + oid4vciMachine: OID4VCIMachineInterpreter; + state: OID4VCIMachineState; + navigation: NativeStackNavigationProp; + onNext?: () => void; + onBack?: () => void; +}; diff --git a/src/types/machines/oid4vci/index.ts b/src/types/machines/oid4vci/index.ts index beb63580..36520190 100644 --- a/src/types/machines/oid4vci/index.ts +++ b/src/types/machines/oid4vci/index.ts @@ -111,7 +111,7 @@ export type OID4VCIContext = { oid4vciInstance?: OID4VCIMachineInterpreter; }; -export type OID4VCIMachineNavigationArgs = { +export type OID4VCIMachineNavigationArgs2 = { oid4vciMachine: OID4VCIMachineInterpreter; state: OID4VCIMachineState; navigation: NativeStackNavigationProp; diff --git a/yarn.lock b/yarn.lock index 08ae012f..712fed36 100644 --- a/yarn.lock +++ b/yarn.lock @@ -34,7 +34,7 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== @@ -48,20 +48,20 @@ integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.14.6", "@babel/core@^7.20.0", "@babel/core@^7.4.5": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.7.tgz#4d8016e06a14b5f92530a13ed0561730b5c6483f" - integrity sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw== + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1" + integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.23.5" "@babel/generator" "^7.23.6" "@babel/helper-compilation-targets" "^7.23.6" "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.7" - "@babel/parser" "^7.23.6" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.7" - "@babel/types" "^7.23.6" + "@babel/helpers" "^7.23.9" + "@babel/parser" "^7.23.9" + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -69,9 +69,9 @@ semver "^6.3.1" "@babel/eslint-parser@^7.18.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz#7bf0db1c53b54da0c8a12627373554a0828479ca" - integrity sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw== + version "7.23.10" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.23.10.tgz#2d4164842d6db798873b40e0c4238827084667a2" + integrity sha512-3wSYDPZVnhseRnxRJH6ZVTNknBz76AEnyC+AYYhasjP3Yy23qz0ERR7Fcd2SHmYuSFJ2kY9gaaDd3vyqU09eSw== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" @@ -112,10 +112,10 @@ lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6", "@babel/helper-create-class-features-plugin@^7.23.7": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz#b2e6826e0e20d337143655198b79d58fdc9bd43d" - integrity sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g== +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6", "@babel/helper-create-class-features-plugin@^7.23.9": + version "7.23.10" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz#25d55fafbaea31fd0e723820bb6cc3df72edf7ea" + integrity sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-environment-visitor" "^7.22.20" @@ -136,17 +136,6 @@ regexpu-core "^5.3.1" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.4.4": - version "0.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz#64df615451cb30e94b59a9696022cffac9a10088" - integrity sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - "@babel/helper-define-polyfill-provider@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz#465805b7361f461e86c680f1de21eaf88c25901b" @@ -278,14 +267,14 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" -"@babel/helpers@^7.23.7": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.8.tgz#fc6b2d65b16847fd50adddbd4232c76378959e34" - integrity sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ== +"@babel/helpers@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" + integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== dependencies: - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.7" - "@babel/types" "^7.23.6" + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" "@babel/highlight@^7.10.4", "@babel/highlight@^7.23.4": version "7.23.4" @@ -296,10 +285,10 @@ chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" - integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" + integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": version "7.23.3" @@ -344,11 +333,11 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-decorators@^7.12.9": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.7.tgz#1d827902cbd3d9054e54fb2f2056cdd1eaa0e368" - integrity sha512-b1s5JyeMvqj7d9m9KhJNHKc18gEJiSyVzVX3bwbiPalQBQpuvfPh6lA9F7Kk/dWH0TIiXRpB9yicwijY6buPng== + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.9.tgz#126d947d62ee72022ec46813983c6dd861456fa3" + integrity sha512-hJhBCb0+NnTWybvWq2WpbCYDOcflSbx0t+BYP65e5R9GVnukiDTi+on5bFkk4p7QGuv190H6KfNiV9Knf/3cZA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.23.7" + "@babel/helper-create-class-features-plugin" "^7.23.9" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-decorators" "^7.23.3" @@ -601,10 +590,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-async-generator-functions@^7.23.7": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.7.tgz#3aa0b4f2fa3788b5226ef9346cf6d16ec61f99cd" - integrity sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA== +"@babel/plugin-transform-async-generator-functions@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz#9adaeb66fc9634a586c5df139c6240d41ed801ce" + integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ== dependencies: "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-plugin-utils" "^7.22.5" @@ -791,10 +780,10 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-simple-access" "^7.22.5" -"@babel/plugin-transform-modules-systemjs@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81" - integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ== +"@babel/plugin-transform-modules-systemjs@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz#105d3ed46e4a21d257f83a2f9e2ee4203ceda6be" + integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== dependencies: "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-module-transforms" "^7.23.3" @@ -956,15 +945,15 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-runtime@^7.0.0": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.7.tgz#52bbd20054855beb9deae3bee9ceb05289c343e6" - integrity sha512-fa0hnfmiXc9fq/weK34MUV0drz2pOL/vfKWvN7Qw127hiUPabFCUMgAbYWcchRzMJit4o5ARsK/s+5h0249pLw== + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz#2c64d0680fc8e09e1dfe8fd5c646fe72abd82004" + integrity sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ== dependencies: "@babel/helper-module-imports" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" - babel-plugin-polyfill-corejs2 "^0.4.7" - babel-plugin-polyfill-corejs3 "^0.8.7" - babel-plugin-polyfill-regenerator "^0.5.4" + babel-plugin-polyfill-corejs2 "^0.4.8" + babel-plugin-polyfill-corejs3 "^0.9.0" + babel-plugin-polyfill-regenerator "^0.5.5" semver "^6.3.1" "@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.23.3": @@ -1045,9 +1034,9 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/preset-env@^7.1.6", "@babel/preset-env@^7.20.0": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.8.tgz#7d6f8171ea7c221ecd28059e65ad37c20e441e3e" - integrity sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA== + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.9.tgz#beace3b7994560ed6bf78e4ae2073dff45387669" + integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A== dependencies: "@babel/compat-data" "^7.23.5" "@babel/helper-compilation-targets" "^7.23.6" @@ -1076,7 +1065,7 @@ "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" "@babel/plugin-transform-arrow-functions" "^7.23.3" - "@babel/plugin-transform-async-generator-functions" "^7.23.7" + "@babel/plugin-transform-async-generator-functions" "^7.23.9" "@babel/plugin-transform-async-to-generator" "^7.23.3" "@babel/plugin-transform-block-scoped-functions" "^7.23.3" "@babel/plugin-transform-block-scoping" "^7.23.4" @@ -1098,7 +1087,7 @@ "@babel/plugin-transform-member-expression-literals" "^7.23.3" "@babel/plugin-transform-modules-amd" "^7.23.3" "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-modules-systemjs" "^7.23.3" + "@babel/plugin-transform-modules-systemjs" "^7.23.9" "@babel/plugin-transform-modules-umd" "^7.23.3" "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" "@babel/plugin-transform-new-target" "^7.23.3" @@ -1124,9 +1113,9 @@ "@babel/plugin-transform-unicode-regex" "^7.23.3" "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.7" - babel-plugin-polyfill-corejs3 "^0.8.7" - babel-plugin-polyfill-regenerator "^0.5.4" + babel-plugin-polyfill-corejs2 "^0.4.8" + babel-plugin-polyfill-corejs3 "^0.9.0" + babel-plugin-polyfill-regenerator "^0.5.5" core-js-compat "^3.31.0" semver "^6.3.1" @@ -1176,25 +1165,25 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.0.0", "@babel/runtime@^7.15.4", "@babel/runtime@^7.20.0", "@babel/runtime@^7.21.0", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.8.tgz#8ee6fe1ac47add7122902f257b8ddf55c898f650" - integrity sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw== + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" + integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.0.0", "@babel/template@^7.22.15", "@babel/template@^7.3.3": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== +"@babel/template@^7.0.0", "@babel/template@^7.22.15", "@babel/template@^7.23.9", "@babel/template@^7.3.3": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" + integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" -"@babel/traverse@^7.20.0", "@babel/traverse@^7.23.7", "@babel/traverse@^7.4.5": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.7.tgz#9a7bf285c928cb99b5ead19c3b1ce5b310c9c305" - integrity sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg== +"@babel/traverse@^7.20.0", "@babel/traverse@^7.23.9", "@babel/traverse@^7.4.5": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" + integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== dependencies: "@babel/code-frame" "^7.23.5" "@babel/generator" "^7.23.6" @@ -1202,15 +1191,15 @@ "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.6" - "@babel/types" "^7.23.6" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" - integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== +"@babel/types@^7.0.0", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" + integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== dependencies: "@babel/helper-string-parser" "^7.23.4" "@babel/helper-validator-identifier" "^7.22.20" @@ -1274,9 +1263,9 @@ integrity sha512-0WZa6tPiTZZF8leBtQgYAfXQePFQp2z5ivpCEN/iZguYYZ0TB9qRmWtan5XH6mNFuusHtMcyIzAcReyE6rZPhA== "@digitalbazaar/vc-status-list-context@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@digitalbazaar/vc-status-list-context/-/vc-status-list-context-3.0.1.tgz#0507b7b6f6ee8b5e7e4d402e7a2905efdc70a316" - integrity sha512-vQsqQXpmSXKNy/C0xxFUOBzz60dHh6oupQam1xRC8IspVC11hYJiX9SAhmbI0ulHvX1R2JfqZaJHZjmAyMZ/aA== + version "3.1.1" + resolved "https://registry.yarnpkg.com/@digitalbazaar/vc-status-list-context/-/vc-status-list-context-3.1.1.tgz#cbe570d8d6d39d7b636bf1fce3c5601e2d104696" + integrity sha512-cMVtd+EV+4KN2kUG4/vsV74JVsGE6dcpod6zRoFB/AJA2W/sZbJqR44KL3G6P262+GcAECNhtnSsKsTnQ6y8+w== "@digitalbazaar/vc-status-list@^7.0.0": version "7.1.0" @@ -1356,9 +1345,9 @@ ky-universal "^0.8.2" "@digitalcredentials/jsonld-signatures@^9.3.1", "@digitalcredentials/jsonld-signatures@^9.3.2": - version "9.3.2" - resolved "https://registry.yarnpkg.com/@digitalcredentials/jsonld-signatures/-/jsonld-signatures-9.3.2.tgz#2c8141e7dfec2228b54ebd1f94d925df250351bb" - integrity sha512-auubZrr3D7et5O6zCdqoXsLhI8/F26HqneE94gIoZYVuxNHBNaFoDQ1Z71RfddRqwJonHkfkWgeZSzqjv6aUmg== + version "9.4.0" + resolved "https://registry.yarnpkg.com/@digitalcredentials/jsonld-signatures/-/jsonld-signatures-9.4.0.tgz#d5881122c4202449b88a7e2384f8e615ae55582c" + integrity sha512-DnR+HDTm7qpcDd0wcD1w6GdlAwfHjQSgu+ahion8REkCkkMRywF+CLunU7t8AZpFB2Gr/+N8naUtiEBNje1Oew== dependencies: "@digitalbazaar/security-context" "^1.0.0" "@digitalcredentials/jsonld" "^6.0.0" @@ -1391,10 +1380,10 @@ resolved "https://registry.yarnpkg.com/@digitalcredentials/keypair/-/keypair-1.0.5.tgz#7d6c540beb89c2915bbf8aa189e6c025b8f23015" integrity sha512-g0QvhJMTSFCoUkEvSeggwVTJa2jFkQXjf/mpTn9sePkz+5OouMEDfXUWL61juTaxK5JWPEFc0PKlolXzHaHHHQ== -"@digitalcredentials/open-badges-context@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@digitalcredentials/open-badges-context/-/open-badges-context-2.0.1.tgz#a883217b17085ee343df7c36d5e11fe8dce373d5" - integrity sha512-cMS+biUjJYwq60xeop6iHPC3Cxrv77jbdS2hPY/IkZfXIZlt2rvB7dz7rP/iGWwRiT5SQBLVdX+ZiDZc8xee/Q== +"@digitalcredentials/open-badges-context@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@digitalcredentials/open-badges-context/-/open-badges-context-2.1.0.tgz#cefd29af4642adf8feeed5bb7ede663b14913c2f" + integrity sha512-VK7X5u6OoBFxkyIFplNqUPVbo+8vFSAEoam8tSozpj05KPfcGw41Tp5p9fqMnY38oPfwtZR2yDNSctj/slrE0A== "@digitalcredentials/rdf-canonize@^1.0.0": version "1.0.0" @@ -1433,15 +1422,15 @@ credentials-context "^2.0.0" "@digitalcredentials/vc@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@digitalcredentials/vc/-/vc-6.0.0.tgz#5319f7639956e11964d5523bf1596584fc4d3c93" - integrity sha512-RNCkNAKEnkU7/8OiKbS3sM3qePQpH4ZGAXSwaQ0XrRQumPbLEJz8AMpxXmH28sFnmxUrCyvuCGKUq8CBjS1+cQ== + version "6.0.1" + resolved "https://registry.yarnpkg.com/@digitalcredentials/vc/-/vc-6.0.1.tgz#e4bdbac37d677c5288f2ad8d9ea59c3b41e0fd78" + integrity sha512-TZgLoi00Jc9uv3b6jStH+G8+bCqpHIqFw9DYODz+fVjNh197ksvcYqSndUDHa2oi0HCcK+soI8j4ba3Sa4Pl4w== dependencies: "@digitalbazaar/vc-status-list" "^7.0.0" "@digitalcredentials/ed25519-signature-2020" "^3.0.2" "@digitalcredentials/jsonld" "^6.0.0" "@digitalcredentials/jsonld-signatures" "^9.3.2" - "@digitalcredentials/open-badges-context" "^2.0.1" + "@digitalcredentials/open-badges-context" "^2.1.0" "@digitalcredentials/vc-status-list" "^5.0.2" credentials-context "^2.0.0" fix-esm "^1.0.1" @@ -2601,12 +2590,12 @@ dependencies: eslint-scope "5.1.1" -"@noble/curves@1.1.0", "@noble/curves@~1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d" - integrity sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA== +"@noble/curves@1.3.0", "@noble/curves@~1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.3.0.tgz#01be46da4fd195822dab821e72f71bf4aeec635e" + integrity sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA== dependencies: - "@noble/hashes" "1.3.1" + "@noble/hashes" "1.3.3" "@noble/ed25519@1.7.1": version "1.7.1" @@ -2618,12 +2607,7 @@ resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123" integrity sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ== -"@noble/hashes@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" - integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== - -"@noble/hashes@^1.2.0", "@noble/hashes@~1.3.0", "@noble/hashes@~1.3.1": +"@noble/hashes@1.3.3", "@noble/hashes@^1.2.0", "@noble/hashes@~1.3.2": version "1.3.3" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== @@ -2670,7 +2654,7 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@peculiar/asn1-schema@^2.3.6", "@peculiar/asn1-schema@^2.3.8": +"@peculiar/asn1-schema@^2.3.8": version "2.3.8" resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.8.tgz#04b38832a814e25731232dd5be883460a156da3b" integrity sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA== @@ -2687,15 +2671,15 @@ tslib "^2.0.0" "@peculiar/webcrypto@^1.1.3", "@peculiar/webcrypto@^1.1.6", "@peculiar/webcrypto@^1.4.1": - version "1.4.4" - resolved "https://registry.yarnpkg.com/@peculiar/webcrypto/-/webcrypto-1.4.4.tgz#3f529abca96c8d78cecfd39ddec2148c5df3f8ac" - integrity sha512-VETlZgJqOP3OLRC7AcEYfb6/u05evqsW0Vgs9DyCBATp3FSx7D30Z8ALuDJHsmXCsMblfyTwvB9PLR6IfdlRhg== + version "1.4.5" + resolved "https://registry.yarnpkg.com/@peculiar/webcrypto/-/webcrypto-1.4.5.tgz#424bed6b0d133b772f5cbffd143d0468a90f40a0" + integrity sha512-oDk93QCDGdxFRM8382Zdminzs44dg3M2+E5Np+JWkpqLDyJC9DviMh8F8mEJkYuUcUOGA5jHO5AJJ10MFWdbZw== dependencies: "@peculiar/asn1-schema" "^2.3.8" "@peculiar/json-schema" "^1.1.12" pvtsutils "^1.3.5" tslib "^2.6.2" - webcrypto-core "^1.7.7" + webcrypto-core "^1.7.8" "@pkgjs/parseargs@^0.11.0": version "0.11.0" @@ -2721,12 +2705,12 @@ resolved "https://registry.yarnpkg.com/@react-native-community/blur/-/blur-4.4.0.tgz#b2440dab17d94e480fbc4470e03155573b5b7375" integrity sha512-P+xdT2LIq1ewOsF3zx7C0nu4dj7nxl2NVTsMXEzRDjM3bWMdrrEbTRA7uwPV5ngn7/BXIommBPlT/JW4SAedrw== -"@react-native-community/cli-clean@12.3.0": - version "12.3.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-12.3.0.tgz#667b32daa58b4d11d5b5ab9eb0a2e216d500c90b" - integrity sha512-iAgLCOWYRGh9ukr+eVQnhkV/OqN3V2EGd/in33Ggn/Mj4uO6+oUncXFwB+yjlyaUNz6FfjudhIz09yYGSF+9sg== +"@react-native-community/cli-clean@12.3.2": + version "12.3.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-12.3.2.tgz#d4f1730c3d22d816b4d513d330d5f3896a3f5921" + integrity sha512-90k2hCX0ddSFPT7EN7h5SZj0XZPXP0+y/++v262hssoey3nhurwF57NGWN0XAR0o9BSW7+mBfeInfabzDraO6A== dependencies: - "@react-native-community/cli-tools" "12.3.0" + "@react-native-community/cli-tools" "12.3.2" chalk "^4.1.2" execa "^5.0.0" @@ -2740,12 +2724,12 @@ execa "^1.0.0" prompts "^2.4.0" -"@react-native-community/cli-config@12.3.0": - version "12.3.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-12.3.0.tgz#255b4e5391878937a25888f452f50a968d053e3e" - integrity sha512-BrTn5ndFD9uOxO8kxBQ32EpbtOvAsQExGPI7SokdI4Zlve70FziLtTq91LTlTUgMq1InVZn/jJb3VIDk6BTInQ== +"@react-native-community/cli-config@12.3.2": + version "12.3.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-12.3.2.tgz#1a5de302de4d597ff2fc9932a032134b6ec4325f" + integrity sha512-UUCzDjQgvAVL/57rL7eOuFUhd+d+6qfM7V8uOegQFeFEmSmvUUDLYoXpBa5vAK9JgQtSqMBJ1Shmwao+/oElxQ== dependencies: - "@react-native-community/cli-tools" "12.3.0" + "@react-native-community/cli-tools" "12.3.2" chalk "^4.1.2" cosmiconfig "^5.1.0" deepmerge "^4.3.0" @@ -2764,10 +2748,10 @@ glob "^7.1.3" joi "^17.2.1" -"@react-native-community/cli-debugger-ui@12.3.0": - version "12.3.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.0.tgz#75bbb2082a369b3559e0dffa8bfeebf2a9107e3e" - integrity sha512-w3b0iwjQlk47GhZWHaeTG8kKH09NCMUJO729xSdMBXE8rlbm4kHpKbxQY9qKb6NlfWSJN4noGY+FkNZS2rRwnQ== +"@react-native-community/cli-debugger-ui@12.3.2": + version "12.3.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.2.tgz#b2743876b03e560fbf5ef516e95387fcb6d91630" + integrity sha512-nSWQUL+51J682DlfcC1bjkUbQbGvHCC25jpqTwHIjmmVjYCX1uHuhPSqQKgPNdvtfOkrkACxczd7kVMmetxY2Q== dependencies: serve-static "^1.13.1" @@ -2778,15 +2762,15 @@ dependencies: serve-static "^1.13.1" -"@react-native-community/cli-doctor@12.3.0": - version "12.3.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-12.3.0.tgz#420eb4e80d482f16d431c4df33fbc203862508af" - integrity sha512-BPCwNNesoQMkKsxB08Ayy6URgGQ8Kndv6mMhIvJSNdST3J1+x3ehBHXzG9B9Vfi+DrTKRb8lmEl/b/7VkDlPkA== +"@react-native-community/cli-doctor@12.3.2": + version "12.3.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-12.3.2.tgz#9e82b49f04ee03872b2975f26c8799cecac021ce" + integrity sha512-GrAabdY4qtBX49knHFvEAdLtCjkmndjTeqhYO6BhsbAeKOtspcLT/0WRgdLIaKODRa61ADNB3K5Zm4dU0QrZOg== dependencies: - "@react-native-community/cli-config" "12.3.0" - "@react-native-community/cli-platform-android" "12.3.0" - "@react-native-community/cli-platform-ios" "12.3.0" - "@react-native-community/cli-tools" "12.3.0" + "@react-native-community/cli-config" "12.3.2" + "@react-native-community/cli-platform-android" "12.3.2" + "@react-native-community/cli-platform-ios" "12.3.2" + "@react-native-community/cli-tools" "12.3.2" chalk "^4.1.2" command-exists "^1.2.8" deepmerge "^4.3.0" @@ -2823,13 +2807,13 @@ sudo-prompt "^9.0.0" wcwidth "^1.0.1" -"@react-native-community/cli-hermes@12.3.0": - version "12.3.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-12.3.0.tgz#c302acbfb07e1f4e73e76e3150c32f0e4f54e9ed" - integrity sha512-G6FxpeZBO4AimKZwtWR3dpXRqTvsmEqlIkkxgwthdzn3LbVjDVIXKpVYU9PkR5cnT+KuAUxO0WwthrJ6Nmrrlg== +"@react-native-community/cli-hermes@12.3.2": + version "12.3.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-12.3.2.tgz#5f266985fe32a37e9020e881460e9017870be2e5" + integrity sha512-SL6F9O8ghp4ESBFH2YAPLtIN39jdnvGBKnK4FGKpDCjtB3DnUmDsGFlH46S+GGt5M6VzfG2eeKEOKf3pZ6jUzA== dependencies: - "@react-native-community/cli-platform-android" "12.3.0" - "@react-native-community/cli-tools" "12.3.0" + "@react-native-community/cli-platform-android" "12.3.2" + "@react-native-community/cli-tools" "12.3.2" chalk "^4.1.2" hermes-profile-transformer "^0.0.6" ip "^1.1.5" @@ -2856,12 +2840,12 @@ glob "^7.1.3" logkitty "^0.7.1" -"@react-native-community/cli-platform-android@12.3.0": - version "12.3.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.0.tgz#eafa5fb12ebc25f716aea18cd55039c19fbedca6" - integrity sha512-VU1NZw63+GLU2TnyQ919bEMThpHQ/oMFju9MCfrd3pyPJz4Sn+vc3NfnTDUVA5Z5yfLijFOkHIHr4vo/C9bjnw== +"@react-native-community/cli-platform-android@12.3.2": + version "12.3.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.2.tgz#de54d89712f8ea95046d798ec274fd6caea70c34" + integrity sha512-MZ5nO8yi/N+Fj2i9BJcJ9C/ez+9/Ir7lQt49DWRo9YDmzye66mYLr/P2l/qxsixllbbDi7BXrlLpxaEhMrDopg== dependencies: - "@react-native-community/cli-tools" "12.3.0" + "@react-native-community/cli-tools" "12.3.2" chalk "^4.1.2" execa "^5.0.0" fast-xml-parser "^4.2.4" @@ -2880,12 +2864,12 @@ glob "^7.1.3" ora "^5.4.1" -"@react-native-community/cli-platform-ios@12.3.0": - version "12.3.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.0.tgz#42a9185bb51f35a7eb9c5818b2f0072846945ef5" - integrity sha512-H95Sgt3wT7L8V75V0syFJDtv4YgqK5zbu69ko4yrXGv8dv2EBi6qZP0VMmkqXDamoPm9/U7tDTdbcf26ctnLfg== +"@react-native-community/cli-platform-ios@12.3.2": + version "12.3.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.2.tgz#07e298f69761424da85909790a43ec60ebfe6097" + integrity sha512-OcWEAbkev1IL6SUiQnM6DQdsvfsKZhRZtoBNSj9MfdmwotVZSOEZJ+IjZ1FR9ChvMWayO9ns/o8LgoQxr1ZXeg== dependencies: - "@react-native-community/cli-tools" "12.3.0" + "@react-native-community/cli-tools" "12.3.2" chalk "^4.1.2" execa "^5.0.0" fast-xml-parser "^4.0.12" @@ -2904,10 +2888,10 @@ glob "^7.1.3" ora "^5.4.1" -"@react-native-community/cli-plugin-metro@12.3.0": - version "12.3.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.0.tgz#b4ea8da691d294aee98ccfcd1162bcd958cae834" - integrity sha512-tYNHIYnNmxrBcsqbE2dAnLMzlKI3Cp1p1xUgTrNaOMsGPDN1epzNfa34n6Nps3iwKElSL7Js91CzYNqgTalucA== +"@react-native-community/cli-plugin-metro@12.3.2": + version "12.3.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.2.tgz#7db7dc8939b821b9aeebdd5ee3293f3a0201a2ea" + integrity sha512-FpFBwu+d2E7KRhYPTkKvQsWb2/JKsJv+t1tcqgQkn+oByhp+qGyXBobFB8/R3yYvRRDCSDhS+atWTJzk9TjM8g== "@react-native-community/cli-plugin-metro@^10.2.2": version "10.2.3" @@ -2926,13 +2910,13 @@ metro-runtime "0.73.10" readline "^1.3.0" -"@react-native-community/cli-server-api@12.3.0": - version "12.3.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-12.3.0.tgz#0460472d44c121d1db8a98ad1df811200c074fb3" - integrity sha512-Rode8NrdyByC+lBKHHn+/W8Zu0c+DajJvLmOWbe2WY/ECvnwcd9MHHbu92hlT2EQaJ9LbLhGrSbQE3cQy9EOCw== +"@react-native-community/cli-server-api@12.3.2": + version "12.3.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-12.3.2.tgz#11df4e20ed72d59cf22adf77bd30aff3d6e70dc9" + integrity sha512-iwa7EO9XFA/OjI5pPLLpI/6mFVqv8L73kNck3CNOJIUCCveGXBKK0VMyOkXaf/BYnihgQrXh+x5cxbDbggr7+Q== dependencies: - "@react-native-community/cli-debugger-ui" "12.3.0" - "@react-native-community/cli-tools" "12.3.0" + "@react-native-community/cli-debugger-ui" "12.3.2" + "@react-native-community/cli-tools" "12.3.2" compression "^1.7.1" connect "^3.6.5" errorhandler "^1.5.1" @@ -2956,10 +2940,10 @@ serve-static "^1.13.1" ws "^7.5.1" -"@react-native-community/cli-tools@12.3.0": - version "12.3.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-12.3.0.tgz#d459a116e1a95034d3c9a6385069c9e2049fb2a6" - integrity sha512-2GafnCr8D88VdClwnm9KZfkEb+lzVoFdr/7ybqhdeYM0Vnt/tr2N+fM1EQzwI1DpzXiBzTYemw8GjRq+Utcz2Q== +"@react-native-community/cli-tools@12.3.2": + version "12.3.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-12.3.2.tgz#d3362b04fba3f73ec82c5a493696b575acfb420c" + integrity sha512-nDH7vuEicHI2TI0jac/DjT3fr977iWXRdgVAqPZFFczlbs7A8GQvEdGnZ1G8dqRUmg+kptw0e4hwczAOG89JzQ== dependencies: appdirsjs "^1.2.4" chalk "^4.1.2" @@ -2987,10 +2971,10 @@ semver "^6.3.0" shell-quote "^1.7.3" -"@react-native-community/cli-types@12.3.0": - version "12.3.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-12.3.0.tgz#2d21a1f93aefbdb34a04311d68097aef0388704f" - integrity sha512-MgOkmrXH4zsGxhte4YqKL7d+N8ZNEd3w1wo56MZlhu5WabwCJh87wYpU5T8vyfujFLYOFuFK5jjlcbs8F4/WDw== +"@react-native-community/cli-types@12.3.2": + version "12.3.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-12.3.2.tgz#0551c553c87701faae580097d7786dfff8ec2ef4" + integrity sha512-9D0UEFqLW8JmS16mjHJxUJWX8E+zJddrHILSH8AJHZ0NNHv4u2DXKdb0wFLMobFxGNxPT+VSOjc60fGvXzWHog== dependencies: joi "^17.2.1" @@ -3024,20 +3008,20 @@ prompts "^2.4.0" semver "^6.3.0" -"@react-native-community/cli@12.3.0": - version "12.3.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-12.3.0.tgz#c89aacc3973943bf24002255d7d0859b511d88a1" - integrity sha512-XeQohi2E+S2+MMSz97QcEZ/bWpi8sfKiQg35XuYeJkc32Til2g0b97jRpn0/+fV0BInHoG1CQYWwHA7opMsrHg== - dependencies: - "@react-native-community/cli-clean" "12.3.0" - "@react-native-community/cli-config" "12.3.0" - "@react-native-community/cli-debugger-ui" "12.3.0" - "@react-native-community/cli-doctor" "12.3.0" - "@react-native-community/cli-hermes" "12.3.0" - "@react-native-community/cli-plugin-metro" "12.3.0" - "@react-native-community/cli-server-api" "12.3.0" - "@react-native-community/cli-tools" "12.3.0" - "@react-native-community/cli-types" "12.3.0" +"@react-native-community/cli@12.3.2": + version "12.3.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-12.3.2.tgz#002ae3683b9fe6b0a83a837f41d9db541ea7667f" + integrity sha512-WgoUWwLDcf/G1Su2COUUVs3RzAwnV/vUTdISSpAUGgSc57mPabaAoUctKTnfYEhCnE3j02k3VtaVPwCAFRO3TQ== + dependencies: + "@react-native-community/cli-clean" "12.3.2" + "@react-native-community/cli-config" "12.3.2" + "@react-native-community/cli-debugger-ui" "12.3.2" + "@react-native-community/cli-doctor" "12.3.2" + "@react-native-community/cli-hermes" "12.3.2" + "@react-native-community/cli-plugin-metro" "12.3.2" + "@react-native-community/cli-server-api" "12.3.2" + "@react-native-community/cli-tools" "12.3.2" + "@react-native-community/cli-types" "12.3.2" chalk "^4.1.2" commander "^9.4.1" deepmerge "^4.3.0" @@ -3092,17 +3076,17 @@ resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== -"@react-native/babel-plugin-codegen@0.73.2": - version "0.73.2" - resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.2.tgz#447656cde437b71dc3ef0af3f8a5b215653d5d07" - integrity sha512-PadyFZWVaWXIBP7Q5dgEL7eAd7tnsgsLjoHJB1hIRZZuVUg1Zqe3nULwC7RFAqOtr5Qx7KXChkFFcKQ3WnZzGw== +"@react-native/babel-plugin-codegen@0.73.4": + version "0.73.4" + resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.4.tgz#8a2037d5585b41877611498ae66adbf1dddfec1b" + integrity sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ== dependencies: - "@react-native/codegen" "0.73.2" + "@react-native/codegen" "0.73.3" -"@react-native/babel-preset@0.73.19": - version "0.73.19" - resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.73.19.tgz#a6c0587651804f8f01d6f3b7729f1d4a2d469691" - integrity sha512-ujon01uMOREZecIltQxPDmJ6xlVqAUFGI/JCSpeVYdxyXBoBH5dBb0ihj7h6LKH1q1jsnO9z4MxfddtypKkIbg== +"@react-native/babel-preset@0.73.21": + version "0.73.21" + resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.73.21.tgz#174c16493fa4e311b2f5f0c58d4f3c6a5a68bbea" + integrity sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA== dependencies: "@babel/core" "^7.20.0" "@babel/plugin-proposal-async-generator-functions" "^7.0.0" @@ -3143,14 +3127,14 @@ "@babel/plugin-transform-typescript" "^7.5.0" "@babel/plugin-transform-unicode-regex" "^7.0.0" "@babel/template" "^7.0.0" - "@react-native/babel-plugin-codegen" "0.73.2" + "@react-native/babel-plugin-codegen" "0.73.4" babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.14.0" -"@react-native/codegen@0.73.2": - version "0.73.2" - resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.73.2.tgz#58af4e4c3098f0e6338e88ec64412c014dd51519" - integrity sha512-lfy8S7umhE3QLQG5ViC4wg5N1Z+E6RnaeIw8w1voroQsXXGPB72IBozh8dAHR3+ceTxIU0KX3A8OpJI8e1+HpQ== +"@react-native/codegen@0.73.3": + version "0.73.3" + resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.73.3.tgz#cc984a8b17334d986cc600254a0d4b7fa7d68a94" + integrity sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg== dependencies: "@babel/parser" "^7.20.0" flow-parser "^0.206.0" @@ -3160,15 +3144,15 @@ mkdirp "^0.5.1" nullthrows "^1.1.1" -"@react-native/community-cli-plugin@0.73.12": - version "0.73.12" - resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.12.tgz#3a72a8cbae839a0382d1a194a7067d4ffa0da04c" - integrity sha512-xWU06OkC1cX++Duh/cD/Wv+oZ0oSY3yqbtxAqQA2H3Q+MQltNNJM6MqIHt1VOZSabRf/LVlR1JL6U9TXJirkaw== +"@react-native/community-cli-plugin@0.73.16": + version "0.73.16" + resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.16.tgz#29dca91aa3e24c8cd534dbf3db5766509da92ea3" + integrity sha512-eNH3v3qJJF6f0n/Dck90qfC9gVOR4coAXMTdYECO33GfgjTi+73vf/SBqlXw9HICH/RNZYGPM3wca4FRF7TYeQ== dependencies: - "@react-native-community/cli-server-api" "12.3.0" - "@react-native-community/cli-tools" "12.3.0" + "@react-native-community/cli-server-api" "12.3.2" + "@react-native-community/cli-tools" "12.3.2" "@react-native/dev-middleware" "0.73.7" - "@react-native/metro-babel-transformer" "0.73.13" + "@react-native/metro-babel-transformer" "0.73.15" chalk "^4.0.0" execa "^5.1.1" metro "^0.80.3" @@ -3208,13 +3192,13 @@ resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.73.1.tgz#730b0a7aaab947ae6f8e5aa9d995e788977191ed" integrity sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g== -"@react-native/metro-babel-transformer@0.73.13": - version "0.73.13" - resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.13.tgz#81cb6dd8d5140c57f5595183fd6857feb8b7f5d7" - integrity sha512-k9AQifogQfgUXPlqQSoMtX2KUhniw4XvJl+nZ4hphCH7qiMDAwuP8OmkJbz5E/N+Ro9OFuLE7ax4GlwxaTsAWg== +"@react-native/metro-babel-transformer@0.73.15": + version "0.73.15" + resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.15.tgz#c516584dde62d65a46668074084359c03e6a50f1" + integrity sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw== dependencies: "@babel/core" "^7.20.0" - "@react-native/babel-preset" "0.73.19" + "@react-native/babel-preset" "0.73.21" hermes-parser "0.15.0" nullthrows "^1.1.1" @@ -3242,11 +3226,11 @@ nullthrows "^1.1.1" "@react-navigation/bottom-tabs@^6.5.11": - version "6.5.11" - resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.11.tgz#b6e67a3aa19e60ed9c1139fa0253586c479832d5" - integrity sha512-CBN/NOdxnMvmjw+AJQI1kltOYaClTZmGec5pQ3ZNTPX86ytbIOylDIITKMfTgHZcIEFQDymx1SHeS++PIL3Szw== + version "6.5.12" + resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.12.tgz#73adce8b147debe909985257bf436757894e99f6" + integrity sha512-8gBHHvgmJSRGfQ5fcFUgDFcXj1MzDzEZJ/llDYvcSb6ZxgN5xVq+4oVkwPMxOM6v+Qm2nKvXiUKuB/YydhzpLw== dependencies: - "@react-navigation/elements" "^1.3.21" + "@react-navigation/elements" "^1.3.22" color "^4.2.3" warn-once "^0.1.0" @@ -3262,23 +3246,23 @@ react-is "^16.13.0" use-latest-callback "^0.1.7" -"@react-navigation/elements@^1.3.21": - version "1.3.21" - resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.21.tgz#debac6becc6b6692da09ec30e705e476a780dfe1" - integrity sha512-eyS2C6McNR8ihUoYfc166O1D8VYVh9KIl0UQPI8/ZJVsStlfSTgeEEh+WXge6+7SFPnZ4ewzEJdSAHH+jzcEfg== +"@react-navigation/elements@^1.3.22": + version "1.3.22" + resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.22.tgz#37e25e46ca4715049795471056a9e7e58ac4a14e" + integrity sha512-HYKucs0TwQT8zMvgoZbJsY/3sZfzeP8Dk9IDv4agst3zlA7ReTx4+SROCG6VGC7JKqBCyQykHIwkSwxhapoc+Q== "@react-navigation/native-stack@^6.9.16": - version "6.9.17" - resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.9.17.tgz#4fc370b14be07296423ae8c00940fb002c6001b5" - integrity sha512-X8p8aS7JptQq7uZZNFEvfEcPf6tlK4PyVwYDdryRbG98B4bh2wFQYMThxvqa+FGEN7USEuHdv2mF0GhFKfX0ew== + version "6.9.18" + resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.9.18.tgz#60380b058bf916f69db46cdb32b3127d0589f055" + integrity sha512-PSe0qjROy8zD78ehW048NSuzWRktioSCJmB8LzWSR65ndgVaC2rO+xvgyjhHjqm01YdyVM1XTct2EorSjDV2Ow== dependencies: - "@react-navigation/elements" "^1.3.21" + "@react-navigation/elements" "^1.3.22" warn-once "^0.1.0" "@react-navigation/native@^6.1.9": - version "6.1.9" - resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-6.1.9.tgz#8ef87095cd9c2ed094308c726157c7f6fc28796e" - integrity sha512-AMuJDpwXE7UlfyhIXaUCCynXmv69Kb8NzKgKJO7v0k0L+u6xUTbt6xvshmJ79vsvaFyaEH9Jg5FMzek5/S5qNw== + version "6.1.10" + resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-6.1.10.tgz#d108423ae3acbe13f11d9b7351c1f5522d8391a5" + integrity sha512-jDG89TbZItY7W7rIcS1RqT63vWOPD4XuQLNKqZO0DY7mKnKh/CGBd0eg3nDMXUl143Qp//IxJKe2TfBQRDEU4A== dependencies: "@react-navigation/core" "^6.4.10" escape-string-regexp "^4.0.0" @@ -3293,11 +3277,11 @@ nanoid "^3.1.23" "@react-navigation/stack@^6.3.20": - version "6.3.20" - resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-6.3.20.tgz#8eec944888f317bb1ba1ff30e7f513806bea16c2" - integrity sha512-vE6mgZzOgoa5Uy7ayT97Cj+ZIK7DK+JBYVuKUViILlWZy6IWK7HFDuqoChSbZ1ajTIfAxj/acVGg1jkbAKsToA== + version "6.3.21" + resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-6.3.21.tgz#beec1a384969d10c8ddab9978f382fa441182760" + integrity sha512-oh059bD9w6Q7YbcK3POXRHK+bfoafPU9gvunD0MHJGmPVe9bazn5OMNzRYextvB6BfwQy+v3dy76Opf0vIGcNg== dependencies: - "@react-navigation/elements" "^1.3.21" + "@react-navigation/elements" "^1.3.22" color "^4.2.3" warn-once "^0.1.0" @@ -3319,9 +3303,9 @@ chalk "^4.1.0" "@rnx-kit/metro-resolver-symlinks@^0.1.27": - version "0.1.34" - resolved "https://registry.yarnpkg.com/@rnx-kit/metro-resolver-symlinks/-/metro-resolver-symlinks-0.1.34.tgz#9be0003c084ddc267317f9acea39c28bb74b72b1" - integrity sha512-CFuuik7WUzWtTD8/rTeOEfihpZwZiarlTzfr7whaeEuchyIg0lTb7pBf6LiRXgX52iyqFkm+pUAle8+z1W7Pyw== + version "0.1.35" + resolved "https://registry.yarnpkg.com/@rnx-kit/metro-resolver-symlinks/-/metro-resolver-symlinks-0.1.35.tgz#838cc2b9658adc7fe3ac793b74551ad27e97b8f3" + integrity sha512-DgpFPIVngiWvCclO5MEdhd9HW81GZJ/9g/pUtPs8lF8H1VGOPg1tuX7rOtDdMXEEcKnnFemctqwV8ExZX3g6nw== dependencies: "@rnx-kit/console" "^1.0.0" "@rnx-kit/tools-node" "^2.1.0" @@ -3340,55 +3324,55 @@ dependencies: "@rnx-kit/tools-node" "^2.0.1" -"@scure/base@^1.1.3", "@scure/base@~1.1.0": +"@scure/base@^1.1.3", "@scure/base@~1.1.4": version "1.1.5" resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.5.tgz#1d85d17269fe97694b9c592552dd9e5e33552157" integrity sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ== -"@scure/bip32@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.1.tgz#7248aea723667f98160f593d621c47e208ccbb10" - integrity sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A== +"@scure/bip32@1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.3.tgz#a9624991dc8767087c57999a5d79488f48eae6c8" + integrity sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ== dependencies: - "@noble/curves" "~1.1.0" - "@noble/hashes" "~1.3.1" - "@scure/base" "~1.1.0" + "@noble/curves" "~1.3.0" + "@noble/hashes" "~1.3.2" + "@scure/base" "~1.1.4" -"@scure/bip39@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" - integrity sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg== +"@scure/bip39@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.2.tgz#f3426813f4ced11a47489cbcf7294aa963966527" + integrity sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA== dependencies: - "@noble/hashes" "~1.3.0" - "@scure/base" "~1.1.0" + "@noble/hashes" "~1.3.2" + "@scure/base" "~1.1.4" "@sd-jwt/decode@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@sd-jwt/decode/-/decode-0.2.0.tgz#44211418fd0884a160f8223feedfe04ae52398c4" - integrity sha512-nmiZN3SQ4ApapEu+rS1h/YAkDIq3exgN7swSCsEkrxSEwnBSbXtISIY/sv+EmwnehF1rcKbivHfHNxOWYtlxvg== + version "0.2.1" + resolved "https://registry.yarnpkg.com/@sd-jwt/decode/-/decode-0.2.1.tgz#e0fb32dd2a95440ad69237e66ea2cd4770ec7e09" + integrity sha512-rs55WB3llrMObxN8jeMl06km/h0WivO9jSWNubO9JUIdlfrVhssU38xoXakvQeSDjAJkUUhfZcvmC2vNo1X6Wg== dependencies: - "@sd-jwt/types" "0.2.0" - "@sd-jwt/utils" "0.2.0" + "@sd-jwt/types" "0.2.1" + "@sd-jwt/utils" "0.2.1" "@sd-jwt/present@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@sd-jwt/present/-/present-0.2.0.tgz#01ecbd09dd21287be892b36d754a79c8629387f2" - integrity sha512-6xDBiB+UqCwW8k7O7OUJ7BgC/8zcO+AD5ZX1k4I6yjDM9vscgPulSVxT/yUH+Aov3cZ/BKvfKC0qDEZkHmP/kg== + version "0.2.1" + resolved "https://registry.yarnpkg.com/@sd-jwt/present/-/present-0.2.1.tgz#ff9958626b271a60d539dd1e601763ff33c024e8" + integrity sha512-yWIAR2C/q1jNUwzAeUlUcf3WCTEcSSGo9pltHW5AXptELjyaWGSmC5p6o9ucDXHvBnicfPONhe5OdUCSpiCntw== dependencies: - "@sd-jwt/types" "0.2.0" - "@sd-jwt/utils" "0.2.0" + "@sd-jwt/types" "0.2.1" + "@sd-jwt/utils" "0.2.1" -"@sd-jwt/types@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@sd-jwt/types/-/types-0.2.0.tgz#3cb50392e1b76ce69453f403c71c937a6e202352" - integrity sha512-16WFRcL/maG0/JxN9UCSx07/vJ2SDbGscv9gDLmFLgJzhJcGPer41XfI6aDfVARYP430wHFixChfY/n7qC1L/Q== +"@sd-jwt/types@0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@sd-jwt/types/-/types-0.2.1.tgz#e1e6b47728dffa90ed244e15e2253bd01793cb96" + integrity sha512-nbNik/cq6UIMsN144FcgPZQzaqIsjEEj307j3ZSFORkQBR4Tsmcj54aswTuNh0Z0z/4aSbfw14vOKBZvRWyVLQ== -"@sd-jwt/utils@0.2.0", "@sd-jwt/utils@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@sd-jwt/utils/-/utils-0.2.0.tgz#ef52b744116e874f72ec01978f0631ad5a131eb7" - integrity sha512-oHCfRYVHCb5RNwdq3eHAt7P9d7TsEaSM1TTux+xl1I9PeQGLtZETnto9Gchtzn8FlTrMdVsLlcuAcK6Viwj1Qw== +"@sd-jwt/utils@0.2.1", "@sd-jwt/utils@^0.2.0": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@sd-jwt/utils/-/utils-0.2.1.tgz#35ad83232eab2de911e765d93222acd871982a5e" + integrity sha512-9eRrge44dhE3fenawR/RZGxP5iuW9DtgdOVANu/JK5PEl80r0fDsMwm/gDjuv8OgLDCmQ6uSaVte1lYaTG71bQ== dependencies: - "@sd-jwt/types" "0.2.0" + "@sd-jwt/types" "0.2.1" buffer "*" "@segment/loosely-validate-event@^2.0.0": @@ -3399,10 +3383,10 @@ component-type "^1.2.1" join-component "^1.1.0" -"@sideway/address@^4.1.4": - version "4.1.4" - resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" - integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== +"@sideway/address@^4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" + integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q== dependencies: "@hapi/hoek" "^9.0.0" @@ -3502,17 +3486,16 @@ str2buf "^1.3.0" webcrypto-shim "^0.1.7" -"@sphereon/oid4vci-client@0.8.2-unstable.65": - version "0.8.2-unstable.65" - resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-client/-/oid4vci-client-0.8.2-unstable.65.tgz#f87864b9a05ae55862fccadafe24c2439b34d9c6" - integrity sha512-xwV0eVVMWDGzKj7SERVKOqSjgxXD1fHnKD4TC6UG+gV+eA+OrvUs+LS7gMYV9HSEDGtOImLBCfwa1I4FW7IbPg== +"@sphereon/oid4vci-client@file:../Sphereon-Opensource/OID4VCI-client/packages/client/sphereon-oid4vci-client-0.40.9-bram.tgz": + version "0.40.9-bram" + resolved "file:../Sphereon-Opensource/OID4VCI-client/packages/client/sphereon-oid4vci-client-0.40.9-bram.tgz#f85f3b11eb0b80840ffdae2e59b69c2d0dec6eb8" dependencies: - "@sphereon/oid4vci-common" "0.8.2-unstable.65+2bc039c" + "@sphereon/oid4vci-common" "0.8.1" "@sphereon/ssi-types" "^0.18.1" cross-fetch "^3.1.8" debug "^4.3.4" -"@sphereon/oid4vci-common@0.8.2-unstable.65", "@sphereon/oid4vci-common@0.8.2-unstable.65+2bc039c": +"@sphereon/oid4vci-common@0.8.1", "@sphereon/oid4vci-common@0.8.2-unstable.65": version "0.8.2-unstable.65" resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-common/-/oid4vci-common-0.8.2-unstable.65.tgz#40c96106b21407a23141e0462e2b2fc3ed0f3082" integrity sha512-95QOoprtVsnrfZ9svDodRz8fXBxiWOLON59mBcS9D8F4VuDpMYRfeNhdJVbSB7A+mNdUIEL3gdnaHozDkWHYUQ== @@ -3523,6 +3506,17 @@ sha.js "^2.4.11" uint8arrays "3.1.1" +"@sphereon/oid4vci-common@0.8.2-unstable.75": + version "0.8.2-unstable.75" + resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-common/-/oid4vci-common-0.8.2-unstable.75.tgz#2e5c6c1a0a5b9a096e38b1fddd6a10878b462fee" + integrity sha512-Vy+RvE1BKDmXVfJ+nplGSWM3D+4aSkNif05SQHQLvdUkiF6rVimrkBihiyrVNh30ARIPXmxlAsqCrd2vfavlWg== + dependencies: + "@sphereon/ssi-types" "^0.18.1" + cross-fetch "^3.1.8" + jwt-decode "^3.1.2" + sha.js "^2.4.11" + uint8arrays "3.1.1" + "@sphereon/pex-models@2.2.0", "@sphereon/pex-models@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@sphereon/pex-models/-/pex-models-2.2.0.tgz#32013fff43d4f47df03e213792a9bcc6866a1f06" @@ -3736,7 +3730,7 @@ url-parse "^1.5.10" yaml "^2.2.2" -"@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.35": +"@sphereon/ssi-sdk.contact-manager@0.18.1", "@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.35": version "0.18.2-unstable.35" resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.contact-manager/-/ssi-sdk.contact-manager-0.18.2-unstable.35.tgz#865c8a7720ce621fffa9e96a3b273963d818b7ab" integrity sha512-18G+P6HzNx8OxD/TJw0Zy55p5unHPuMPobtMZQC3q7WI7KD0Cog1EFSKYK4ruFqYiuBY5u9Gd0lxubD47XKhtA== @@ -3745,7 +3739,7 @@ cross-fetch "^3.1.8" typeorm "^0.3.12" -"@sphereon/ssi-sdk.core@0.17.1", "@sphereon/ssi-sdk.core@0.18.2-unstable.35", "@sphereon/ssi-sdk.core@0.18.2-unstable.35+089ea379": +"@sphereon/ssi-sdk.core@0.17.1", "@sphereon/ssi-sdk.core@0.18.1", "@sphereon/ssi-sdk.core@0.18.2-unstable.35", "@sphereon/ssi-sdk.core@0.18.2-unstable.35+089ea379": version "0.18.2-unstable.35" resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.core/-/ssi-sdk.core-0.18.2-unstable.35.tgz#acbacf3253f612a440b0ed254cc7fc4bf98b2f3c" integrity sha512-J1k0ev7SdPiFrxdjtIg48a154MJCxq2B4hWHb9igrHNK7jqbmwR5O/2R1ayXl4XRI7HKigmdlyhX2WU9hQ6oKA== @@ -3757,7 +3751,7 @@ image-size "1.0.2" uint8arrays "3.1.1" -"@sphereon/ssi-sdk.data-store@0.18.2-unstable.35", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.35+089ea379": +"@sphereon/ssi-sdk.data-store@0.18.1", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.35", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.35+089ea379": version "0.18.2-unstable.35" resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.data-store/-/ssi-sdk.data-store-0.18.2-unstable.35.tgz#fbe51ca062a452a5d94360306a76b9b6bab9fafc" integrity sha512-P4iCKCLoyAIbAvslOzSajgzfhzmMQHsRF2OBCsHLCGSbxGQPaKRIDuPJdSHmmlisx92OKASVXTAL6evrBLf2gA== @@ -3769,6 +3763,16 @@ debug "^4.3.4" typeorm "^0.3.12" +"@sphereon/ssi-sdk.issuance-branding@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.issuance-branding/-/ssi-sdk.issuance-branding-0.18.1.tgz#0929a018f69551407703c9a58eef3bae06a9bd48" + integrity sha512-ibS1IuZnTyCq+VtGnttpAiYjGIQIihlfzSzyPy5MmvM+yeYI+BIEfM7ix85Mkt90AlWRtiLvgJBoinI+3Rja0g== + dependencies: + "@sphereon/ssi-sdk.core" "0.18.1" + "@sphereon/ssi-sdk.data-store" "0.18.1" + debug "^4.3.4" + typeorm "^0.3.12" + "@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.35": version "0.18.2-unstable.35" resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.issuance-branding/-/ssi-sdk.issuance-branding-0.18.2-unstable.35.tgz#c5c25636b8a33ed02754ff81c0a45625ca300ff6" @@ -3791,6 +3795,24 @@ typeorm "^0.3.12" uint8arrays "^3.1.1" +"@sphereon/ssi-sdk.oid4vci-holder@file:../Sphereon-Opensource/ssi-sdk/packages/oid4vci-holder/sphereon-ssi-sdk.oid4vci-holder-0.127.28-bram.tgz": + version "0.127.28-bram" + resolved "file:../Sphereon-Opensource/ssi-sdk/packages/oid4vci-holder/sphereon-ssi-sdk.oid4vci-holder-0.127.28-bram.tgz#3fda9fd8b9a388a566e033a8231404797804afad" + dependencies: + "@sphereon/oid4vci-client" "file:../Sphereon-Opensource/OID4VCI-client/packages/client/sphereon-oid4vci-client-0.40.9-bram.tgz" + "@sphereon/oid4vci-common" "0.8.2-unstable.65" + "@sphereon/ssi-sdk.contact-manager" "0.18.1" + "@sphereon/ssi-sdk.data-store" "0.18.1" + "@sphereon/ssi-sdk.issuance-branding" "0.18.1" + "@sphereon/ssi-types" "0.18.1" + "@veramo/core" "4.2.0" + "@veramo/data-store" "4.2.0" + "@veramo/utils" "4.2.0" + i18n-js "^3.8.0" + lodash.memoize "^4.1.2" + uuid "^9.0.1" + xstate "^4.38.3" + "@sphereon/ssi-sdk.presentation-exchange@0.18.2-unstable.35+089ea379": version "0.18.2-unstable.35" resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.presentation-exchange/-/ssi-sdk.presentation-exchange-0.18.2-unstable.35.tgz#183418c490e914369baa1357dbae8dac8cd5e02d" @@ -4792,7 +4814,7 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^1.0.0": +"@types/estree@*", "@types/estree@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== @@ -4842,9 +4864,9 @@ "@types/istanbul-lib-report" "*" "@types/jest@^29.2.1": - version "29.5.11" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.11.tgz#0c13aa0da7d0929f078ab080ae5d4ced80fa2f2c" - integrity sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ== + version "29.5.12" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" + integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== dependencies: expect "^29.0.0" pretty-format "^29.0.0" @@ -4886,9 +4908,9 @@ integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== "@types/node@*": - version "20.11.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.5.tgz#be10c622ca7fcaa3cf226cf80166abc31389d86e" - integrity sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w== + version "20.11.17" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.17.tgz#cdd642d0e62ef3a861f88ddbc2b61e32578a9292" + integrity sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw== dependencies: undici-types "~5.26.4" @@ -4954,9 +4976,9 @@ integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== "@types/semver@^7.3.12": - version "7.5.6" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339" - integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== + version "7.5.7" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.7.tgz#326f5fdda70d13580777bcaa1bc6fa772a5aef0e" + integrity sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg== "@types/stack-utils@^2.0.0": version "2.0.3" @@ -4987,14 +5009,14 @@ integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== "@types/uuid@^9.0.6": - version "9.0.7" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.7.tgz#b14cebc75455eeeb160d5fe23c2fcc0c64f724d8" - integrity sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g== + version "9.0.8" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" + integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== "@types/validator@^13.11.8": - version "13.11.8" - resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.11.8.tgz#bb1162ec0fe6f87c95ca812f15b996fcc5e1e2dc" - integrity sha512-c/hzNDBh7eRF+KbCf+OoZxKbnkpaK/cKp9iLQWqB7muXtM+MtL9SUUH8vCFcLn6dH1Qm05jiexK0ofWY7TfOhQ== + version "13.11.9" + resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.11.9.tgz#adfe96520b437a0eaa798a475877bf2f75ee402d" + integrity sha512-FCTsikRozryfayPuiI46QzH3fnrOoctTjvOYZkho9BTFLCOZ2rgZJHMOVgCOfttjPJcgOx52EpkY0CMfy87MIw== "@types/yargs-parser@*": version "21.0.3" @@ -5873,13 +5895,13 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" + call-bind "^1.0.5" + is-array-buffer "^3.0.4" array-find-index@^1.0.1: version "1.0.2" @@ -5907,16 +5929,27 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.findlastindex@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" - integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== +array.prototype.filter@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array.prototype.filter/-/array.prototype.filter-1.0.3.tgz#423771edeb417ff5914111fff4277ea0624c0d0e" + integrity sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw== dependencies: call-bind "^1.0.2" define-properties "^1.2.0" es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.7" + +array.prototype.findlastindex@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz#d1c50f0b3a9da191981ff8942a0aedd82794404f" + integrity sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.3.0" + es-shim-unscopables "^1.0.2" array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: version "1.3.2" @@ -5950,27 +5983,28 @@ array.prototype.reduce@^1.0.6: is-string "^1.0.7" array.prototype.tosorted@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz#620eff7442503d66c799d95503f82b475745cefd" - integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== + version "1.1.3" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz#c8c89348337e51b8a3c48a9227f9ce93ceedcba8" + integrity sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.1.0" + es-shim-unscopables "^1.0.2" -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" is-shared-array-buffer "^1.0.2" arrify@^1.0.1: @@ -6065,10 +6099,10 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== +available-typed-arrays@^1.0.5, available-typed-arrays@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz#ac812d8ce5a6b976d738e1c45f08d0b00bc7d725" + integrity sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg== await-lock@^2.0.1: version "2.2.2" @@ -6139,7 +6173,7 @@ babel-plugin-module-resolver@^4.1.0: reselect "^4.0.0" resolve "^1.13.1" -babel-plugin-polyfill-corejs2@^0.4.7: +babel-plugin-polyfill-corejs2@^0.4.8: version "0.4.8" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz#dbcc3c8ca758a290d47c3c6a490d59429b0d2269" integrity sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg== @@ -6148,15 +6182,15 @@ babel-plugin-polyfill-corejs2@^0.4.7: "@babel/helper-define-polyfill-provider" "^0.5.0" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.8.7: - version "0.8.7" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz#941855aa7fdaac06ed24c730a93450d2b2b76d04" - integrity sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA== +babel-plugin-polyfill-corejs3@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz#9eea32349d94556c2ad3ab9b82ebb27d4bf04a81" + integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.4" - core-js-compat "^3.33.1" + "@babel/helper-define-polyfill-provider" "^0.5.0" + core-js-compat "^3.34.0" -babel-plugin-polyfill-regenerator@^0.5.4: +babel-plugin-polyfill-regenerator@^0.5.5: version "0.5.5" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz#8b0c8fc6434239e5d7b8a9d1f832bb2b0310f06a" integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== @@ -6532,13 +6566,13 @@ browserify-aes@^1.0.6: inherits "^2.0.1" safe-buffer "^5.0.1" -browserslist@^4.14.5, browserslist@^4.22.2: - version "4.22.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" - integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== +browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.22.3: + version "4.22.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.3.tgz#299d11b7e947a6b843981392721169e27d60c5a6" + integrity sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A== dependencies: - caniuse-lite "^1.0.30001565" - electron-to-chromium "^1.4.601" + caniuse-lite "^1.0.30001580" + electron-to-chromium "^1.4.648" node-releases "^2.0.14" update-browserslist-db "^1.0.13" @@ -6655,14 +6689,16 @@ cacache@^15.2.0, cacache@^15.3.0: tar "^6.0.2" unique-filename "^1.1.1" -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" caller-callsite@^2.0.0: version "2.0.0" @@ -6717,10 +6753,10 @@ camelize@^1.0.0: resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== -caniuse-lite@^1.0.30001565: - version "1.0.30001579" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz#45c065216110f46d6274311a4b3fcf6278e0852a" - integrity sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA== +caniuse-lite@^1.0.30001580: + version "1.0.30001587" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz#a0bce920155fa56a1885a69c74e1163fc34b4881" + integrity sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA== canonicalize@1.0.1: version "1.0.1" @@ -7170,11 +7206,11 @@ convert-source-map@^2.0.0: integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== cookie-session@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cookie-session/-/cookie-session-2.0.0.tgz#d07aa27822f43619e4342df1342268c849833089" - integrity sha512-hKvgoThbw00zQOleSlUr2qpvuNweoqBtxrmx0UFosx6AGi9lYtLoA+RbsvknrEX8Pr6MDbdWAb2j6SnMn+lPsg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/cookie-session/-/cookie-session-2.1.0.tgz#ae30b566b2f9f2d8ca2c4936513e6bf181830558" + integrity sha512-u73BDmR8QLGcs+Lprs0cfbcAPKl2HnPcjpwRXT41sEV4DRJ2+W0vJEEZkG31ofkx+HZflA70siRIjiTdIodmOQ== dependencies: - cookies "0.8.0" + cookies "0.9.1" debug "3.2.7" on-headers "~1.0.2" safe-buffer "5.2.1" @@ -7184,30 +7220,35 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== +cookie-signature@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.7.tgz#ab5dd7ab757c54e60f37ef6550f481c426d10454" + integrity sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA== cookie@0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -cookies@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" - integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow== +cookie@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" + integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== + +cookies@0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.9.1.tgz#3ffed6f60bb4fb5f146feeedba50acc418af67e3" + integrity sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw== dependencies: depd "~2.0.0" keygrip "~1.1.0" -core-js-compat@^3.31.0, core-js-compat@^3.33.1: - version "3.35.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.35.1.tgz#215247d7edb9e830efa4218ff719beb2803555e2" - integrity sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw== +core-js-compat@^3.31.0, core-js-compat@^3.34.0: + version "3.36.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.0.tgz#087679119bc2fdbdefad0d45d8e5d307d45ba190" + integrity sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw== dependencies: - browserslist "^4.22.2" + browserslist "^4.22.3" core-util-is@~1.0.0: version "1.0.3" @@ -7614,14 +7655,14 @@ deferred-leveldown@~0.2.0: dependencies: abstract-leveldown "~0.12.1" -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== +define-data-property@^1.0.1, define-data-property@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== dependencies: - get-intrinsic "^1.2.1" + es-define-property "^1.0.0" + es-errors "^1.3.0" gopd "^1.0.1" - has-property-descriptors "^1.0.0" define-lazy-prop@^2.0.0: version "2.0.0" @@ -7856,9 +7897,9 @@ dotenv-flow@^3.2.0: dotenv "^8.6.0" dotenv@^16.0.3, dotenv@^16.3.1: - version "16.3.2" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.2.tgz#3cb611ce5a63002dbabf7c281bc331f69d28f03f" - integrity sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ== + version "16.4.4" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.4.tgz#a26e7bb95ebd36272ebb56edb80b826aecf224c1" + integrity sha512-XvPXc8XAQThSjAbY6cQ/9PcBXmFoWuw1sQ3b8HqUCR6ziGXjkTi//kB9SWa2UwqlgdAIuRqAa/9hVljzPehbYg== dotenv@^8.6.0: version "8.6.0" @@ -7901,10 +7942,10 @@ eip-712-types-generation@^0.1.6: dependencies: json-canonicalize "^1.0.4" -electron-to-chromium@^1.4.601: - version "1.4.640" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.640.tgz#76290a36fa4b5f1f4cadaf1fc582478ebb3ac246" - integrity sha512-z/6oZ/Muqk4BaE7P69bXhUhpJbUM9ZJeka43ZwxsDshKtePns4mhBlh8bU5+yrnOnz3fhG82XLzGUXazOmsWnA== +electron-to-chromium@^1.4.648: + version "1.4.668" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.668.tgz#5cfed14f3240cdc70a359a49790cb295b1f097f1" + integrity sha512-ZOBocMYCehr9W31+GpMclR+KBaDZOoAEabLdhpZ8oU1JFDwIaFY0UDbpXVEUFc0BIP2O2Qn3rkfCjQmMR4T/bQ== elliptic@6.5.4, elliptic@^6.4.1, elliptic@^6.5.2, elliptic@^6.5.4: version "6.5.4" @@ -7982,9 +8023,9 @@ env-paths@^2.2.0: integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== envinfo@^7.10.0, envinfo@^7.7.2: - version "7.11.0" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.0.tgz#c3793f44284a55ff8c82faf1ffd91bc6478ea01f" - integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg== + version "7.11.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.1.tgz#2ffef77591057081b0129a8fd8cf6118da1b94e1" + integrity sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg== eol@^0.9.1: version "0.9.1" @@ -8025,82 +8066,97 @@ errorhandler@^1.5.0, errorhandler@^1.5.1: accepts "~1.3.7" escape-html "~1.0.3" -es-abstract@^1.17.2, es-abstract@^1.22.1: - version "1.22.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" - integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.5" - es-set-tostringtag "^2.0.1" +es-abstract@^1.17.2, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.22.4: + version "1.22.4" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.4.tgz#26eb2e7538c3271141f5754d31aabfdb215f27bf" + integrity sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.6" + call-bind "^1.0.7" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.2" es-to-primitive "^1.2.1" function.prototype.name "^1.1.6" - get-intrinsic "^1.2.2" - get-symbol-description "^1.0.0" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" globalthis "^1.0.3" gopd "^1.0.1" - has-property-descriptors "^1.0.0" + has-property-descriptors "^1.0.2" has-proto "^1.0.1" has-symbols "^1.0.3" - hasown "^2.0.0" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" + hasown "^2.0.1" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" is-callable "^1.2.7" is-negative-zero "^2.0.2" is-regex "^1.1.4" is-shared-array-buffer "^1.0.2" is-string "^1.0.7" - is-typed-array "^1.1.12" + is-typed-array "^1.1.13" is-weakref "^1.0.2" object-inspect "^1.13.1" object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.0" + safe-regex-test "^1.0.3" string.prototype.trim "^1.2.8" string.prototype.trimend "^1.0.7" string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" + typed-array-buffer "^1.0.1" typed-array-byte-length "^1.0.0" typed-array-byte-offset "^1.0.0" typed-array-length "^1.0.4" unbox-primitive "^1.0.2" - which-typed-array "^1.1.13" + which-typed-array "^1.1.14" es-array-method-boxes-properly@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.0.0, es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + es-iterator-helpers@^1.0.12: - version "1.0.15" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz#bd81d275ac766431d19305923707c3efd9f1ae40" - integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g== + version "1.0.17" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz#123d1315780df15b34eb181022da43e734388bb8" + integrity sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ== dependencies: asynciterator.prototype "^1.0.0" - call-bind "^1.0.2" + call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.22.1" - es-set-tostringtag "^2.0.1" - function-bind "^1.1.1" - get-intrinsic "^1.2.1" + es-abstract "^1.22.4" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.2" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" globalthis "^1.0.3" - has-property-descriptors "^1.0.0" + has-property-descriptors "^1.0.2" has-proto "^1.0.1" has-symbols "^1.0.3" - internal-slot "^1.0.5" + internal-slot "^1.0.7" iterator.prototype "^1.1.2" - safe-array-concat "^1.0.1" + safe-array-concat "^1.1.0" es-module-lexer@^1.2.1: version "1.4.1" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== -es-set-tostringtag@^2.0.1: +es-set-tostringtag@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== @@ -8109,7 +8165,7 @@ es-set-tostringtag@^2.0.1: has-tostringtag "^1.0.0" hasown "^2.0.0" -es-shim-unscopables@^1.0.0: +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== @@ -8126,9 +8182,9 @@ es-to-primitive@^1.2.1: is-symbol "^1.0.2" escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== escape-html@~1.0.3: version "1.0.3" @@ -8418,14 +8474,14 @@ ethereum-checksum-address@0.0.2: meow "^5.0.0" ethereum-cryptography@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.1.2.tgz#18fa7108622e56481157a5cb7c01c0c6a672eb67" - integrity sha512-Z5Ba0T0ImZ8fqXrJbpHcbpAvIswRte2wGNR/KePnu8GbbvgJ47lMxT/ZZPG6i9Jaht4azPDop4HaM00J0J59ug== + version "2.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.1.3.tgz#1352270ed3b339fe25af5ceeadcf1b9c8e30768a" + integrity sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA== dependencies: - "@noble/curves" "1.1.0" - "@noble/hashes" "1.3.1" - "@scure/bip32" "1.3.1" - "@scure/bip39" "1.2.1" + "@noble/curves" "1.3.0" + "@noble/hashes" "1.3.3" + "@scure/bip32" "1.3.3" + "@scure/bip39" "1.2.2" ethereum-public-key-to-address@0.0.2: version "0.0.2" @@ -8725,12 +8781,12 @@ expo@^48.0.0: uuid "^3.4.0" express-session@^1.17.3: - version "1.17.3" - resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.17.3.tgz#14b997a15ed43e5949cb1d073725675dd2777f36" - integrity sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw== + version "1.18.0" + resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.18.0.tgz#a6ae39d9091f2efba5f20fc5c65a3ce7c9ce16a3" + integrity sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ== dependencies: - cookie "0.4.2" - cookie-signature "1.0.6" + cookie "0.6.0" + cookie-signature "1.0.7" debug "2.6.9" depd "~2.0.0" on-headers "~1.0.2" @@ -8847,16 +8903,16 @@ fast-text-encoding@^1.0.3, fast-text-encoding@^1.0.6: integrity sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w== fast-xml-parser@^4.0.12, fast-xml-parser@^4.2.4: - version "4.3.3" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.3.tgz#aeaf5778392329f17168c40c51bcbfec8ff965be" - integrity sha512-coV/D1MhrShMvU6D0I+VAK3umz6hUaxxhL0yp/9RjfiYUfAv14rDhGQL+PLForhMdr0wq3PiV07WtkkNjJjNHg== + version "4.3.4" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.4.tgz#385cc256ad7bbc57b91515a38a22502a9e1fca0d" + integrity sha512-utnwm92SyozgA3hhH2I8qldf2lBqm6qHOICawRNRFu1qMe3+oqr+GcXjGqTmXTMGE5T4eC03kr/rlh5C1IRdZA== dependencies: strnum "^1.0.5" fastq@^1.6.0: - version "1.16.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320" - integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== dependencies: reusify "^1.0.4" @@ -9040,9 +9096,9 @@ flow-enums-runtime@^0.0.6: integrity sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw== flow-parser@0.*: - version "0.227.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.227.0.tgz#e50b65be9dc6810438c975e816a68005fbcd5107" - integrity sha512-nOygtGKcX/siZK/lFzpfdHEfOkfGcTW7rNroR1Zsz6T/JxSahPALXVt5qVHq/fgvMJuv096BTKbgxN3PzVBaDA== + version "0.228.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.228.0.tgz#0b801507c8cf44257338596b49bd0904caea2026" + integrity sha512-xPWkzCO07AnS8X+fQFpWm+tJ+C7aeaiVzJ+rSepbkCXUvUJ6l6squEl63axoMcixyH4wLjmypOzq/+zTD0O93w== flow-parser@^0.185.0: version "0.185.2" @@ -9198,7 +9254,7 @@ fsevents@^2.3.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -function-bind@^1.1.1, function-bind@^1.1.2: +function-bind@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== @@ -9254,11 +9310,12 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== +get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== dependencies: + es-errors "^1.3.0" function-bind "^1.1.2" has-proto "^1.0.1" has-symbols "^1.0.3" @@ -9286,13 +9343,14 @@ get-stream@^6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" getenv@^1.0.0: version "1.0.0" @@ -9455,12 +9513,12 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: - get-intrinsic "^1.2.2" + es-define-property "^1.0.0" has-proto@^1.0.1: version "1.0.1" @@ -9472,12 +9530,12 @@ has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== +has-tostringtag@^1.0.0, has-tostringtag@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: - has-symbols "^1.0.2" + has-symbols "^1.0.3" has-unicode@^2.0.1: version "2.0.1" @@ -9501,10 +9559,10 @@ hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== +hasown@^2.0.0, hasown@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.1.tgz#26f48f039de2c0f8d3356c223fb8d50253519faa" + integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== dependencies: function-bind "^1.1.2" @@ -9690,9 +9748,9 @@ ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore@^5.0.5, ignore@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" - integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== + version "5.3.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== image-size@1.0.2: version "1.0.2" @@ -9803,12 +9861,12 @@ internal-ip@4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -internal-slot@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== +internal-slot@^1.0.5, internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== dependencies: - get-intrinsic "^1.2.2" + es-errors "^1.3.0" hasown "^2.0.0" side-channel "^1.0.4" @@ -9819,6 +9877,14 @@ invariant@*, invariant@2.2.4, invariant@^2.2.4: dependencies: loose-envify "^1.0.0" +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" + ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" @@ -9829,11 +9895,6 @@ ip@^1.1.5: resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== -ip@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" - integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== - ipaddr.js@1.9.1, ipaddr.js@^1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" @@ -9847,14 +9908,13 @@ is-arguments@^1.0.4, is-arguments@^1.1.1: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== dependencies: call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" + get-intrinsic "^1.2.1" is-arrayish@^0.2.1: version "0.2.1" @@ -10117,12 +10177,12 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.3, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== +is-typed-array@^1.1.10, is-typed-array@^1.1.13, is-typed-array@^1.1.3, is-typed-array@^1.1.9: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== dependencies: - which-typed-array "^1.1.11" + which-typed-array "^1.1.14" is-unicode-supported@^0.1.0: version "0.1.0" @@ -10751,13 +10811,13 @@ jimp-compact@0.16.1: integrity sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww== joi@^17.2.1: - version "17.12.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.12.0.tgz#a3fb5715f198beb0471cd551dd26792089c308d5" - integrity sha512-HSLsmSmXz+PV9PYoi3p7cgIbj06WnEBNT28n+bbBNcPZXZFqCzzvGqpTBPujx/Z0nh1+KNQPDrNgdmQ8dq0qYw== + version "17.12.1" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.12.1.tgz#3347ecf4cd3301962d42191c021b165eef1f395b" + integrity sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ== dependencies: "@hapi/hoek" "^9.3.0" "@hapi/topo" "^5.1.0" - "@sideway/address" "^4.1.4" + "@sideway/address" "^4.1.5" "@sideway/formula" "^3.0.1" "@sideway/pinpoint" "^2.0.0" @@ -10796,6 +10856,11 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + jsc-android@^250231.0.0: version "250231.0.0" resolved "https://registry.yarnpkg.com/jsc-android/-/jsc-android-250231.0.0.tgz#91720f8df382a108872fa4b3f558f33ba5e95262" @@ -11284,9 +11349,9 @@ levn@~0.3.0: type-check "~0.3.2" libphonenumber-js@^1.10.53: - version "1.10.54" - resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.10.54.tgz#8dfba112f49d1b9c2a160e55f9697f22e50f0841" - integrity sha512-P+38dUgJsmh0gzoRDoM4F5jLbyfztkU6PY6eSK6S5HwTi/LPvnwXqVCQZlAy1FxZ5c48q25QhxGQ0pq+WQcSlQ== + version "1.10.55" + resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.10.55.tgz#ec864e369bf7babde02021d06b5f2433d7e9c78e" + integrity sha512-MrTg2JFLscgmTY6/oT9vopYETlgUls/FU6OaeeamGwk4LFxjIgOUML/ZSZICgR0LPYXaonVJo40lzMvaaTJlQA== lighthouse-logger@^1.0.0: version "1.4.2" @@ -11445,9 +11510,9 @@ lru-cache@^6.0.0: yallist "^4.0.0" "lru-cache@^9.1.1 || ^10.0.0": - version "10.1.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484" - integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== + version "10.2.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" + integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== ltgt@^2.1.3: version "2.2.1" @@ -11653,10 +11718,10 @@ metro-babel-transformer@0.73.9: metro-source-map "0.73.9" nullthrows "^1.1.1" -metro-babel-transformer@0.80.4: - version "0.80.4" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.80.4.tgz#67dd300dd794d35ce24e22c17f317750669dd2b2" - integrity sha512-QP1kjYLap4O3w9tA4bYO8iyuNpR65If5Z97Ku37O4CwQPAwQaTmg67g4OdABS4BVK10fsxdExKp+fC37XirPow== +metro-babel-transformer@0.80.5: + version "0.80.5" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.80.5.tgz#a31bdafe22c63d2548c78a41fd902bf2a98af681" + integrity sha512-sxH6hcWCorhTbk4kaShCWsadzu99WBL4Nvq4m/sDTbp32//iGuxtAnUK+ZV+6IEygr2u9Z0/4XoZ8Sbcl71MpA== dependencies: "@babel/core" "^7.20.0" hermes-parser "0.18.2" @@ -11667,10 +11732,10 @@ metro-cache-key@0.73.10: resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.73.10.tgz#8d63591187d295b62a80aed64a87864b1e9d67a2" integrity sha512-JMVDl/EREDiUW//cIcUzRjKSwE2AFxVWk47cFBer+KA4ohXIG2CQPEquT56hOw1Y1s6gKNxxs1OlAOEsubrFjw== -metro-cache-key@0.80.4: - version "0.80.4" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.80.4.tgz#dc92ca7aa251b9f6ed232fef98a4649fcc5d614e" - integrity sha512-okOOSRFou7Mxaaigoi+KxdFIU/ZJtvDCC6l8BYKsdMx86JDlVdvtIgFU4tFrY1yEkv0wnn7WH0X3xSz4mHKwoQ== +metro-cache-key@0.80.5: + version "0.80.5" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.80.5.tgz#3fd0ce5a360e0455dc8b68a659c60abde3edac1d" + integrity sha512-fr3QLZUarsB3tRbVcmr34kCBsTHk0Sh9JXGvBY/w3b2lbre+Lq5gtgLyFElHPecGF7o4z1eK9r3ubxtScHWcbA== metro-cache@0.73.10: version "0.73.10" @@ -11680,12 +11745,12 @@ metro-cache@0.73.10: metro-core "0.73.10" rimraf "^3.0.2" -metro-cache@0.80.4: - version "0.80.4" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.80.4.tgz#3bfe8176353dd1e44fef4361339bd8ee992d5900" - integrity sha512-Dj+GoYt4PvsnnE4GdXhqV9PxEF7GPilY5NPeoTgptWZLlaDuTT2+cJQoDOOit1SfRjnF0zqABtVvB6GGBWdtaQ== +metro-cache@0.80.5: + version "0.80.5" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.80.5.tgz#adc2e48d87312d68f305f830b22359cb4362ce4b" + integrity sha512-2u+dQ4PZwmC7eZo9uMBNhQQMig9f+w4QWBZwXCdVy/RYOHM0eObgGdMEOwODo73uxie82T9lWzxr3aZOZ+Nqtw== dependencies: - metro-core "0.80.4" + metro-core "0.80.5" rimraf "^3.0.2" metro-config@0.73.10: @@ -11700,18 +11765,18 @@ metro-config@0.73.10: metro-core "0.73.10" metro-runtime "0.73.10" -metro-config@0.80.4, metro-config@^0.80.3: - version "0.80.4" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.80.4.tgz#f14fe1465bf8812cd9a930f9a1667350161050cf" - integrity sha512-X3/3tleFYB4SdoxXg8uJ+qc8eITKiLnXs3Ev6pihM4jIM5JD89riwUsSLKVsovfZs8ETqKtjevzfe6jQ2O5NtQ== +metro-config@0.80.5, metro-config@^0.80.3: + version "0.80.5" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.80.5.tgz#859e2ce307372f583bc8ebfe69bd233dd9328a8b" + integrity sha512-elqo/lwvF+VjZ1OPyvmW/9hSiGlmcqu+rQvDKw5F5WMX48ZC+ySTD1WcaD7e97pkgAlJHVYqZ98FCjRAYOAFRQ== dependencies: connect "^3.6.5" cosmiconfig "^5.0.5" jest-validate "^29.6.3" - metro "0.80.4" - metro-cache "0.80.4" - metro-core "0.80.4" - metro-runtime "0.80.4" + metro "0.80.5" + metro-cache "0.80.5" + metro-core "0.80.5" + metro-runtime "0.80.5" metro-core@0.73.10: version "0.73.10" @@ -11721,13 +11786,13 @@ metro-core@0.73.10: lodash.throttle "^4.1.1" metro-resolver "0.73.10" -metro-core@0.80.4, metro-core@^0.80.3: - version "0.80.4" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.80.4.tgz#1421e432f2f9ec69d82ea1f19832a0544a3ce294" - integrity sha512-HRb+zydAhI7QyLpK4D6ARZsKjaBwEn+kCrJEjnVFij8wjJxIIHVilgNCETgg9NWvKJFUoZZCG7ewHkxQ9Qpd8Q== +metro-core@0.80.5, metro-core@^0.80.3: + version "0.80.5" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.80.5.tgz#3ead635dcecfa6d0b380f8a80d3e5406f70846a9" + integrity sha512-vkLuaBhnZxTVpaZO8ZJVEHzjaqSXpOdpAiztSZ+NDaYM6jEFgle3/XIbLW91jTSf2+T8Pj5yB1G7KuOX+BcVwg== dependencies: lodash.throttle "^4.1.1" - metro-resolver "0.80.4" + metro-resolver "0.80.5" metro-file-map@0.73.10: version "0.73.10" @@ -11750,10 +11815,10 @@ metro-file-map@0.73.10: optionalDependencies: fsevents "^2.3.2" -metro-file-map@0.80.4: - version "0.80.4" - resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.80.4.tgz#22d2e1fc1110490ab1a6c3ab4de4c21fef1951af" - integrity sha512-EvBC31JI5vsyebeQ8PWpGENuAWy2Ka7sLqEW7OInW+aLVWmBq02h0BNl33xRgAMz0gwvMf2nKie82hmefYF6ew== +metro-file-map@0.80.5: + version "0.80.5" + resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.80.5.tgz#1e2f0026c1a380a8802c977279018093c21b191e" + integrity sha512-bKCvJ05drjq6QhQxnDUt3I8x7bTcHo3IIKVobEr14BK++nmxFGn/BmFLRzVBlghM6an3gqwpNEYxS5qNc+VKcg== dependencies: anymatch "^3.0.3" debug "^2.2.0" @@ -11790,10 +11855,10 @@ metro-minify-terser@0.73.10: dependencies: terser "^5.15.0" -metro-minify-terser@0.80.4: - version "0.80.4" - resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.80.4.tgz#008a4874f6167a4da5d24c90d4281b56f09ba684" - integrity sha512-cuxfRZWDWGKjh+Z6t4KJkrvmV4JUKXfvQuAX7Pa7U0Mf1YJdLtoGQ5iVOu/6MkfYGXbppqGk2qmFECrRGRh0cA== +metro-minify-terser@0.80.5: + version "0.80.5" + resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.80.5.tgz#6163fc920faad46153456fcd191ccc1ce0450946" + integrity sha512-S7oZLLcab6YXUT6jYFX/ZDMN7Fq6xBGGAG8liMFU1UljX6cTcEC2u+UIafYgCLrdVexp/+ClxrIetVPZ5LtL/g== dependencies: terser "^5.15.0" @@ -11925,10 +11990,10 @@ metro-resolver@0.73.10: dependencies: absolute-path "^0.0.0" -metro-resolver@0.80.4: - version "0.80.4" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.80.4.tgz#c04f2bf3995e11ee0484a067b7a51904ccee9964" - integrity sha512-PCiVWN+d3gtWlobf8jPypwKx9T1QrZmhLJAyqIWLoOsZbpSfj1dn5h0ajCr8rYi9LNzIHm58GGYJK8VFHNn8Cw== +metro-resolver@0.80.5: + version "0.80.5" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.80.5.tgz#3915be3b2bcf4f3e9e2f24bdde8d8c9ac26bb134" + integrity sha512-haJ/Hveio3zv/Fr4eXVdKzjUeHHDogYok7OpRqPSXGhTXisNXB+sLN7CpcUrCddFRUDLnVaqQOYwhYsFndgUwA== metro-runtime@0.73.10: version "0.73.10" @@ -11946,10 +12011,10 @@ metro-runtime@0.73.9: "@babel/runtime" "^7.0.0" react-refresh "^0.4.0" -metro-runtime@0.80.4, metro-runtime@^0.80.3: - version "0.80.4" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.80.4.tgz#24fe3e332cfbe303f944fc6d5f0c28bef6704ee1" - integrity sha512-CWIvf0zmL4jKHSj81zjUAbEwjTqFQmETI0NIQvN4JNwTSHiz50WPOuHnUUcmwM6Dye/ta6KNTELnERp0tKEYYg== +metro-runtime@0.80.5, metro-runtime@^0.80.3: + version "0.80.5" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.80.5.tgz#48ac4c732be195e0ebdefb5ac5d32c7da76305ad" + integrity sha512-L0syTWJUdWzfUmKgkScr6fSBVTh6QDr8eKEkRtn40OBd8LPagrJGySBboWSgbyn9eIb4ayW3Y347HxgXBSAjmg== dependencies: "@babel/runtime" "^7.0.0" @@ -11981,17 +12046,17 @@ metro-source-map@0.73.9: source-map "^0.5.6" vlq "^1.0.0" -metro-source-map@0.80.4, metro-source-map@^0.80.3: - version "0.80.4" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.80.4.tgz#809d7d0eb36ccf912eecb4dc80ab50177f9fb5e1" - integrity sha512-x+0By55ml6IcGqY9x9HE0hyU0S+uDssrTQ0bPvuydG+iKCX85DzGnlT8k0Vs+EYgZl3KMWcvQ9TpGHW4LRL4GQ== +metro-source-map@0.80.5, metro-source-map@^0.80.3: + version "0.80.5" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.80.5.tgz#21acdc1d5417cf3009209555d84cbeb61de5d6d5" + integrity sha512-DwSF4l03mKPNqCtyQ6K23I43qzU1BViAXnuH81eYWdHglP+sDlPpY+/7rUahXEo6qXEHXfAJgVoo1sirbXbmsQ== dependencies: "@babel/traverse" "^7.20.0" "@babel/types" "^7.20.0" invariant "^2.2.4" - metro-symbolicate "0.80.4" + metro-symbolicate "0.80.5" nullthrows "^1.1.1" - ob1 "0.80.4" + ob1 "0.80.5" source-map "^0.5.6" vlq "^1.0.0" @@ -12019,13 +12084,13 @@ metro-symbolicate@0.73.9: through2 "^2.0.1" vlq "^1.0.0" -metro-symbolicate@0.80.4: - version "0.80.4" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.80.4.tgz#1c72c5c7b29941ecd95e53f2a25570e61dfd4eec" - integrity sha512-UmtH96G5TrcAgbIqdE4xA8MBS9fbZW9Pln+n7eJ0tQ0Fw0M/jzdpiZzhx3bIB2zzqbdm6Nv/kB1+aEo0WvXdyg== +metro-symbolicate@0.80.5: + version "0.80.5" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.80.5.tgz#7c253a8e05e2a8380753373ab30705d6e81094a5" + integrity sha512-IsM4mTYvmo9JvIqwEkCZ5+YeDVPST78Q17ZgljfLdHLSpIivOHp9oVoiwQ/YGbLx0xRHRIS/tKiXueWBnj3UWA== dependencies: invariant "^2.2.4" - metro-source-map "0.80.4" + metro-source-map "0.80.5" nullthrows "^1.1.1" source-map "^0.5.6" through2 "^2.0.1" @@ -12042,10 +12107,10 @@ metro-transform-plugins@0.73.10: "@babel/traverse" "^7.20.0" nullthrows "^1.1.1" -metro-transform-plugins@0.80.4: - version "0.80.4" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.80.4.tgz#fd76d62f080d556a8626ec6a92f55d033aa64283" - integrity sha512-cvmTLBA9ET64h+tgHt6prHlvOq98zBA1Glc9+wLZihPJo+Qmu9i3nQ1g4O+4aUnHivDlp+4C00BMNC+aC/buRQ== +metro-transform-plugins@0.80.5: + version "0.80.5" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.80.5.tgz#ef90d8d6522b042b832a571381f1a5a9c2c72adf" + integrity sha512-7IdlTqK/k5+qE3RvIU5QdCJUPk4tHWEqgVuYZu8exeW+s6qOJ66hGIJjXY/P7ccucqF+D4nsbAAW5unkoUdS6g== dependencies: "@babel/core" "^7.20.0" "@babel/generator" "^7.20.0" @@ -12072,21 +12137,22 @@ metro-transform-worker@0.73.10: metro-transform-plugins "0.73.10" nullthrows "^1.1.1" -metro-transform-worker@0.80.4: - version "0.80.4" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.80.4.tgz#33cab53b0cc527b627f7f7ef9c07a41dd15682d3" - integrity sha512-hLCrlxXyyaV64XQNSiyY/0jMVvGXrgXMkpJ4KwH2t4clxbxyt6TBW+4TqmgAeU9WGclY0OuQ0HzfvIZiONcUOw== +metro-transform-worker@0.80.5: + version "0.80.5" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.80.5.tgz#45b78093f5925cbbf1ecf2695114469dd49f5169" + integrity sha512-Q1oM7hfP+RBgAtzRFBDjPhArELUJF8iRCZ8OidqCpYzQJVGuJZ7InSnIf3hn1JyqiUQwv2f1LXBO78i2rAjzyA== dependencies: "@babel/core" "^7.20.0" "@babel/generator" "^7.20.0" "@babel/parser" "^7.20.0" "@babel/types" "^7.20.0" - metro "0.80.4" - metro-babel-transformer "0.80.4" - metro-cache "0.80.4" - metro-cache-key "0.80.4" - metro-source-map "0.80.4" - metro-transform-plugins "0.80.4" + metro "0.80.5" + metro-babel-transformer "0.80.5" + metro-cache "0.80.5" + metro-cache-key "0.80.5" + metro-minify-terser "0.80.5" + metro-source-map "0.80.5" + metro-transform-plugins "0.80.5" nullthrows "^1.1.1" metro@0.73.10: @@ -12146,10 +12212,10 @@ metro@0.73.10: ws "^7.5.1" yargs "^17.5.1" -metro@0.80.4, metro@^0.80.3: - version "0.80.4" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.80.4.tgz#5f8cd8f7b730418ec6e7b377611caf620be33158" - integrity sha512-fBhZKU1z44KdhS6sH6Sk97595A66EOniH+jI9OjKDu6piH1SIEqQgdWAuWfJJMzgBHcJceRRvJY1zzsOT/Zx0g== +metro@0.80.5, metro@^0.80.3: + version "0.80.5" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.80.5.tgz#94cd36df2eab434f050314a6d31529e8dc1b26df" + integrity sha512-OE/CGbOgbi8BlTN1QqJgKOBaC27dS0JBQw473JcivrpgVnqIsluROA7AavEaTVUrB9wPUZvoNVDROn5uiM2jfw== dependencies: "@babel/code-frame" "^7.0.0" "@babel/core" "^7.20.0" @@ -12172,19 +12238,18 @@ metro@0.80.4, metro@^0.80.3: jest-worker "^29.6.3" jsc-safe-url "^0.2.2" lodash.throttle "^4.1.1" - metro-babel-transformer "0.80.4" - metro-cache "0.80.4" - metro-cache-key "0.80.4" - metro-config "0.80.4" - metro-core "0.80.4" - metro-file-map "0.80.4" - metro-minify-terser "0.80.4" - metro-resolver "0.80.4" - metro-runtime "0.80.4" - metro-source-map "0.80.4" - metro-symbolicate "0.80.4" - metro-transform-plugins "0.80.4" - metro-transform-worker "0.80.4" + metro-babel-transformer "0.80.5" + metro-cache "0.80.5" + metro-cache-key "0.80.5" + metro-config "0.80.5" + metro-core "0.80.5" + metro-file-map "0.80.5" + metro-resolver "0.80.5" + metro-runtime "0.80.5" + metro-source-map "0.80.5" + metro-symbolicate "0.80.5" + metro-transform-plugins "0.80.5" + metro-transform-worker "0.80.5" mime-types "^2.1.27" node-fetch "^2.2.0" nullthrows "^1.1.1" @@ -12749,10 +12814,10 @@ ob1@0.73.9: resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.73.9.tgz#d5677a0dd3e2f16ad84231278d79424436c38c59" integrity sha512-kHOzCOFXmAM26fy7V/YuXNKne2TyRiXbFAvPBIbuedJCZZWQZHLdPzMeXJI4Egt6IcfDttRzN3jQ90wOwq1iNw== -ob1@0.80.4: - version "0.80.4" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.80.4.tgz#a2e77e2dbe144c76356c834b994e147e19bb472f" - integrity sha512-Lku8OBpq+fhF1ZdKUjbPnTNeqG+3OL0psGAEVJ8zcUiCB5/DPGR/rm3kLcjKDylzC9Rfv540/7I08+oImzfrhw== +ob1@0.80.5: + version "0.80.5" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.80.5.tgz#101f5257f7e6b75599dcd55c20bfcf2a4016c37c" + integrity sha512-zYDMnnNrFi/1Tqh0vo3PE4p97Tpl9/4MP2k2ECvkbLOZzQuAYZJLTUYVLZb7hJhbhjT+JJxAwBGS8iu5hCSd1w== object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" @@ -12764,7 +12829,7 @@ object-hash@^2.2.0: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== -object-inspect@^1.13.1, object-inspect@^1.9.0: +object-inspect@^1.13.1: version "1.13.1" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== @@ -12791,7 +12856,7 @@ object-keys@~0.2.0: indexof "~0.0.1" is "~0.2.6" -object.assign@^4.1.4: +object.assign@^4.1.4, object.assign@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== @@ -12831,14 +12896,15 @@ object.getownpropertydescriptors@^2.1.0: safe-array-concat "^1.0.0" object.groupby@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" - integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== + version "1.0.2" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.2.tgz#494800ff5bab78fd0eff2835ec859066e00192ec" + integrity sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + array.prototype.filter "^1.0.3" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.0.0" object.hasown@^1.1.2: version "1.1.3" @@ -13930,17 +13996,17 @@ react-native-url-polyfill@^1.3.0: whatwg-url-without-unicode "8.0.0-3" react-native@*: - version "0.73.2" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.73.2.tgz#74ee163c8189660d41d1da6560411da7ce41a608" - integrity sha512-7zj9tcUYpJUBdOdXY6cM8RcXYWkyql4kMyGZflW99E5EuFPoC7Ti+ZQSl7LP9ZPzGD0vMfslwyDW0I4tPWUCFw== + version "0.73.4" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.73.4.tgz#81e07d4e7b6308c4649d5fa24038c0e87b17f2e1" + integrity sha512-VtS+Yr6OOTIuJGDECIYWzNU8QpJjASQYvMtfa/Hvm/2/h5GdB6W9H9TOmh13x07Lj4AOhNMx3XSsz6TdrO4jIg== dependencies: "@jest/create-cache-key-function" "^29.6.3" - "@react-native-community/cli" "12.3.0" - "@react-native-community/cli-platform-android" "12.3.0" - "@react-native-community/cli-platform-ios" "12.3.0" + "@react-native-community/cli" "12.3.2" + "@react-native-community/cli-platform-android" "12.3.2" + "@react-native-community/cli-platform-ios" "12.3.2" "@react-native/assets-registry" "0.73.1" - "@react-native/codegen" "0.73.2" - "@react-native/community-cli-plugin" "0.73.12" + "@react-native/codegen" "0.73.3" + "@react-native/community-cli-plugin" "0.73.16" "@react-native/gradle-plugin" "0.73.4" "@react-native/js-polyfills" "0.73.1" "@react-native/normalize-colors" "0.73.2" @@ -13949,6 +14015,7 @@ react-native@*: anser "^1.4.9" ansi-regex "^5.0.0" base64-js "^1.5.1" + chalk "^4.0.0" deprecated-react-native-prop-types "^5.0.0" event-target-shim "^5.0.1" flow-enums-runtime "^0.0.6" @@ -14166,14 +14233,15 @@ reflect-metadata@^0.1.13: integrity sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A== reflect.getprototypeof@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz#aaccbf41aca3821b87bb71d9dcbc7ad0ba50a3f3" - integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw== + version "1.0.5" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz#e0bd28b597518f16edaf9c0e292c631eb13e0674" + integrity sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.0.0" + get-intrinsic "^1.2.3" globalthis "^1.0.3" which-builtin-type "^1.1.3" @@ -14206,14 +14274,15 @@ regenerator-transform@^0.15.2: dependencies: "@babel/runtime" "^7.8.4" -regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== +regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" regexpu-core@^5.3.1: version "5.3.2" @@ -14433,7 +14502,7 @@ run-parallel@^1.1.2, run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -safe-array-concat@^1.0.0, safe-array-concat@^1.0.1: +safe-array-concat@^1.0.0, safe-array-concat@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.0.tgz#8d0cae9cb806d6d1c06e08ab13d847293ebe0692" integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== @@ -14458,13 +14527,13 @@ safe-json-stringify@~1: resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== -safe-regex-test@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.2.tgz#3ba32bdb3ea35f940ee87e5087c60ee786c3f6c5" - integrity sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ== +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== dependencies: - call-bind "^1.0.5" - get-intrinsic "^1.2.2" + call-bind "^1.0.6" + es-errors "^1.3.0" is-regex "^1.1.4" safe-stable-stringify@^2.4.3: @@ -14571,9 +14640,9 @@ semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.3.5, semver@^7.3.7, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + version "7.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== dependencies: lru-cache "^6.0.0" @@ -14656,14 +14725,15 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-function-length@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1" - integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== +set-function-length@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425" + integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g== dependencies: - define-data-property "^1.1.1" + define-data-property "^1.1.2" + es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.2" + get-intrinsic "^1.2.3" gopd "^1.0.1" has-property-descriptors "^1.0.1" @@ -14746,13 +14816,14 @@ shell-quote@^1.6.1, shell-quote@^1.7.3: integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + version "1.0.5" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.5.tgz#9a84546599b48909fb6af1211708d23b1946221b" + integrity sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ== dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" + call-bind "^1.0.6" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" @@ -14848,11 +14919,11 @@ socks-proxy-agent@^6.0.0: socks "^2.6.2" socks@^2.6.2: - version "2.7.1" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" - integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== + version "2.7.3" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.3.tgz#7d8a75d7ce845c0a96f710917174dba0d543a785" + integrity sha512-vfuYK48HXCTFD03G/1/zkIls3Ebr2YNa4qU9gHDZdblHLiqhJrJGkY3+0Nx0JpN9qBhJbVObc1CNciT1bIZJxw== dependencies: - ip "^2.0.0" + ip-address "^9.0.5" smart-buffer "^4.2.0" sodium-native@^3.2.0: @@ -14902,9 +14973,9 @@ spdx-correct@^3.0.0: spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + version "2.4.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz#c07a4ede25b16e4f78e6707bbd84b15a45c19c1b" + integrity sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw== spdx-expression-parse@^3.0.0: version "3.0.1" @@ -14915,9 +14986,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.16" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" - integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== + version "3.0.17" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" + integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== split-on-first@^1.0.0: version "1.1.0" @@ -14931,6 +15002,11 @@ split@^1.0.1: dependencies: through "2" +sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -15402,7 +15478,7 @@ terminal-link@^2.1.1: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser-webpack-plugin@^5.3.7: +terser-webpack-plugin@^5.3.10: version "5.3.10" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== @@ -15709,14 +15785,14 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== +typed-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.1.tgz#0608ffe6bca71bf15a45bff0ca2604107a1325f5" + integrity sha512-RSqu1UEuSlrBhHTWC8O9FnPjOduNs4M7rJ4pRKoEjtx1zUNOPN2sSXHLDX+Y2WPbHIxbvg4JFo2DNAEfPIKWoQ== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" + call-bind "^1.0.6" + es-errors "^1.3.0" + is-typed-array "^1.1.13" typed-array-byte-length@^1.0.0: version "1.0.0" @@ -16142,16 +16218,16 @@ web-streams-polyfill@^3.0.0, web-streams-polyfill@^3.0.3: resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.2.tgz#32e26522e05128203a7de59519be3c648004343b" integrity sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ== -webcrypto-core@^1.7.7: - version "1.7.7" - resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-1.7.7.tgz#06f24b3498463e570fed64d7cab149e5437b162c" - integrity sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g== +webcrypto-core@^1.7.8: + version "1.7.8" + resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-1.7.8.tgz#056918036e846c72cfebbb04052e283f57f1114a" + integrity sha512-eBR98r9nQXTqXt/yDRtInszPMjTaSAMJAFDg2AHsgrnczawT1asx9YNBX6k5p+MekbPF4+s/UJJrr88zsTqkSg== dependencies: - "@peculiar/asn1-schema" "^2.3.6" + "@peculiar/asn1-schema" "^2.3.8" "@peculiar/json-schema" "^1.1.12" asn1js "^3.0.1" - pvtsutils "^1.3.2" - tslib "^2.4.0" + pvtsutils "^1.3.5" + tslib "^2.6.2" webcrypto-shim@^0.1.7: version "0.1.7" @@ -16179,18 +16255,18 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.76.1: - version "5.89.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" - integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== + version "5.90.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.90.1.tgz#62ab0c097d7cbe83d32523dbfbb645cdb7c3c01c" + integrity sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog== dependencies: "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.0" + "@types/estree" "^1.0.5" "@webassemblyjs/ast" "^1.11.5" "@webassemblyjs/wasm-edit" "^1.11.5" "@webassemblyjs/wasm-parser" "^1.11.5" acorn "^8.7.1" acorn-import-assertions "^1.9.0" - browserslist "^4.14.5" + browserslist "^4.21.10" chrome-trace-event "^1.0.2" enhanced-resolve "^5.15.0" es-module-lexer "^1.2.1" @@ -16204,7 +16280,7 @@ webpack@^5.76.1: neo-async "^2.6.2" schema-utils "^3.2.0" tapable "^2.1.1" - terser-webpack-plugin "^5.3.7" + terser-webpack-plugin "^5.3.10" watchpack "^2.4.0" webpack-sources "^3.2.3" @@ -16294,16 +16370,16 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== -which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2, which-typed-array@^1.1.9: - version "1.1.13" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== +which-typed-array@^1.1.14, which-typed-array@^1.1.2, which-typed-array@^1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.14.tgz#1f78a111aee1e131ca66164d8bdc3ab062c95a06" + integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" + available-typed-arrays "^1.0.6" + call-bind "^1.0.5" for-each "^0.3.3" gopd "^1.0.1" - has-tostringtag "^1.0.0" + has-tostringtag "^1.0.1" which@^1.2.9: version "1.3.1" @@ -16465,7 +16541,7 @@ xmlhttprequest@^1.8.0: resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" integrity sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA== -xstate@^4.38.2: +xstate@^4.38.2, xstate@^4.38.3: version "4.38.3" resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.38.3.tgz#4e15e7ad3aa0ca1eea2010548a5379966d8f1075" integrity sha512-SH7nAaaPQx57dx6qvfcIgqKRXIh4L0A1iYEqim4s1u7c9VoCgzZc+63FY90AKU4ZzOC2cfJzTnpO4zK7fCUzzw== From fdaa4fac1e8ca9cdbf5368f0f3d10531d0af4c1c Mon Sep 17 00:00:00 2001 From: Niels Klomp Date: Fri, 16 Feb 2024 03:21:26 +0100 Subject: [PATCH 07/10] chore: fixes --- package.json | 34 +- .../credential/OpenId4VcIssuanceProvider.ts | 180 ++++----- src/services/qrService.ts | 9 +- yarn.lock | 365 +++++++++--------- 4 files changed, 289 insertions(+), 299 deletions(-) diff --git a/package.json b/package.json index a26aacc2..c9b8b532 100644 --- a/package.json +++ b/package.json @@ -42,8 +42,8 @@ "@scure/base": "^1.1.3", "@sphereon/did-auth-siop": "0.6.0-unstable.9", "@sphereon/isomorphic-webcrypto": "2.4.0-unstable.4", - "@sphereon/oid4vci-client": "0.8.2-unstable.75", - "@sphereon/oid4vci-common": "0.8.2-unstable.75", + "@sphereon/oid4vci-client": "0.8.2-next.88", + "@sphereon/oid4vci-common": "0.8.2-next.88", "@sphereon/pex": "3.2.1-unstable.7", "@sphereon/pex-models": "^2.2.0", "@sphereon/react-native-argon2": "2.0.9", @@ -55,15 +55,15 @@ "@sphereon/ssi-sdk-ext.did-utils": "0.16.1-next.2", "@sphereon/ssi-sdk-ext.key-manager": "0.16.1-next.2", "@sphereon/ssi-sdk-ext.kms-local": "0.16.1-next.2", - "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.46", - "@sphereon/ssi-sdk.core": "0.18.2-unstable.46", - "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.46", - "@sphereon/ssi-sdk.issuance-branding": "0.18.2-unstable.46", - "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.18.2-unstable.46", - "@sphereon/ssi-sdk.vc-handler-ld-local": "0.18.2-unstable.46", - "@sphereon/ssi-sdk.event-logger": "0.18.2-unstable.46", - "@sphereon/ssi-sdk.oid4vci-holder": "file://C:\\Git\\Sphereon-Opensource\\ssi-sdk\\packages\\oid4vci-holder\\sphereon-ssi-sdk.oid4vci-holder-0.127.28-bram.tgz", - "@sphereon/ssi-types": "0.18.2-unstable.46", + "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.51", + "@sphereon/ssi-sdk.core": "0.18.2-unstable.51", + "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.51", + "@sphereon/ssi-sdk.issuance-branding": "0.18.2-unstable.51", + "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.18.2-unstable.51", + "@sphereon/ssi-sdk.vc-handler-ld-local": "0.18.2-unstable.51", + "@sphereon/ssi-sdk.event-logger": "0.18.2-unstable.51", + "@sphereon/ssi-sdk.oid4vci-holder": "0.18.2-unstable.51", + "@sphereon/ssi-types": "0.18.2-unstable.51", "@sphereon/ui-components.core": "0.1.3-unstable.104", "@sphereon/ui-components.ssi-react-native": "0.1.3-unstable.104", "@transmute/lds-ecdsa-secp256k1-recovery2020": "^0.0.7", @@ -247,15 +247,15 @@ "ajv": "^8.12.0", "@sphereon/isomorphic-argon2": "1.0.1", "@sphereon/did-auth-siop": "0.6.0-unstable.9", - "@sphereon/ssi-types": "0.18.2-unstable.46", - "@sphereon/ssi-sdk.core": "0.18.2-unstable.46", + "@sphereon/ssi-types": "0.18.2-unstable.51", + "@sphereon/ssi-sdk.core": "0.18.2-unstable.51", "@sphereon/ssi-sdk-ext.did-utils": "0.16.1-next.2", "@sphereon/ssi-sdk-ext.kms-local": "0.16.1-next.2", "@sphereon/ssi-sdk-ext.key-manager": "0.16.1-next.2", - "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.46", - "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.46", - "@sphereon/oid4vci-client": "0.8.2-unstable.75", - "@sphereon/oid4vci-common": "0.8.2-unstable.75", + "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.51", + "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.51", + "@sphereon/oid4vci-client": "0.8.2-next.88", + "@sphereon/oid4vci-common": "0.8.2-next.88", "@sphereon/pex": "3.2.1-unstable.7", "@sphereon/pex-models": "2.2.0", "@mattrglobal/bbs-signatures": "npm:@animo-id/react-native-bbs-signatures@^0.1.0", diff --git a/src/providers/credential/OpenId4VcIssuanceProvider.ts b/src/providers/credential/OpenId4VcIssuanceProvider.ts index a5bc5165..7cfc8ebb 100644 --- a/src/providers/credential/OpenId4VcIssuanceProvider.ts +++ b/src/providers/credential/OpenId4VcIssuanceProvider.ts @@ -3,6 +3,7 @@ import { AccessTokenResponse, AuthorizationResponse, CredentialOfferFormat, + CredentialOfferFormatJwtVcJson, CredentialResponse, CredentialsSupportedDisplay, CredentialSupported, @@ -14,15 +15,18 @@ import { ProofOfPossessionCallbacks, toAuthorizationResponsePayload, } from '@sphereon/oid4vci-common'; +import {CredentialOfferFormatJwtVcJsonLdAndLdpVc} from '@sphereon/oid4vci-common/lib/types/Generic.types'; import {KeyUse} from '@sphereon/ssi-sdk-ext.did-resolver-jwk'; import {getFirstKeyWithRelation} from '@sphereon/ssi-sdk-ext.did-utils'; import {IBasicCredentialLocaleBranding} from '@sphereon/ssi-sdk.data-store'; import {GetCredentialsArgs} from '@sphereon/ssi-sdk.oid4vci-holder'; import {IIdentifier} from '@veramo/core'; import {_ExtendedIKey} from '@veramo/utils'; +import Debug, {Debugger} from 'debug'; import {JWTHeader} from 'did-jwt'; import {DIDDocument} from 'did-resolver'; import {v4 as uuidv4} from 'uuid'; +import {APP_ID} from '../../@config/constants'; import {agentContext, ibCredentialLocaleBrandingFrom} from '../../agent'; import {translate} from '../../localization/Localization'; import {getOrCreatePrimaryIdentifier} from '../../services/identityService'; @@ -40,6 +44,8 @@ import { import {KeyTypeFromCryptographicSuite, SignatureAlgorithmFromKey} from '../../utils'; import {credentialLocaleBrandingFrom} from '../../utils/mappers/branding/OIDC4VCIBrandingMapper'; +const debug: Debugger = Debug(`${APP_ID}:openid4vci`); + // TODO these preferences need to come from the user export const vcFormatPreferences = ['jwt_vc_json', 'jwt_vc', 'ldp_vc']; @@ -155,7 +161,7 @@ class OpenId4VcIssuanceProvider { private _serverMetadata?: EndpointMetadataResult; private _credentialsSupported?: Array; private _issuanceOpts?: Array; - private _accessTokenResponse?: AccessTokenResponse; + // private _accessTokenResponse?: AccessTokenResponse; private _credentialBranding?: Map>; private _issuerBranding?: Array; private _authorizationCodeResponse?: AuthorizationResponse; @@ -199,9 +205,9 @@ class OpenId4VcIssuanceProvider { return this._issuerBranding; } - get accessTokenResponse(): AccessTokenResponse | undefined { + /* get accessTokenResponse(): AccessTokenResponse | undefined { return this._accessTokenResponse; - } + }*/ public static initiationFromUri = async ({uri}: IGetIssuanceInitiationFromUriArgs): Promise => { if (!uri || !(uri.startsWith(QrTypesEnum.OPENID_INITIATE_ISSUANCE) || uri.startsWith(QrTypesEnum.OPENID_CREDENTIAL_OFFER))) { @@ -229,7 +235,6 @@ class OpenId4VcIssuanceProvider { } const matches: IServerMetadataAndCryptoMatchingResponse = await this.getServerMetadataAndPerformCryptoMatching(client); - const selectedCredentials = credentials; const credentialResponses: Array = []; // const initTypes = this.client.getCredentialTypes(); for (const issuanceOpt of matches.issuanceOpts) { @@ -256,10 +261,12 @@ class OpenId4VcIssuanceProvider { }; private getIdentifier = async ({issuanceOpt}: {issuanceOpt: IIssuanceOpts}) => { - const identifier = await getOrCreatePrimaryIdentifier({ - method: issuanceOpt.didMethod, - createOpts: {options: {type: issuanceOpt.keyType, use: KeyUse.Signature, codecName: issuanceOpt.codecName}}, - }); + const identifier = + issuanceOpt.identifier ?? + (await getOrCreatePrimaryIdentifier({ + method: issuanceOpt.didMethod, + createOpts: {options: {type: issuanceOpt.keyType, use: KeyUse.Signature, codecName: issuanceOpt.codecName}}, + })); const key: _ExtendedIKey = await this.getAuthenticationKey(identifier); const kid: string = key.meta.verificationMethod.id; return {identifier, key, kid}; @@ -291,22 +298,13 @@ class OpenId4VcIssuanceProvider { if (!issuanceOpt) { return Promise.reject(Error(`Cannot get credential issuance options`)); } - const identifier = - issuanceOpt.identifier ?? - (await getOrCreatePrimaryIdentifier({ - method: issuanceOpt.didMethod, - createOpts: {options: {type: issuanceOpt.keyType, use: KeyUse.Signature}}, - })); - const key: _ExtendedIKey = - (await getFirstKeyWithRelation(identifier, agentContext, 'authentication', false)) || - ((await getFirstKeyWithRelation(identifier, agentContext, 'verificationMethod', true)) as _ExtendedIKey); - const kid: string = key.meta.verificationMethod.id; + const {identifier, key, kid} = await this.getIdentifier({issuanceOpt}); const alg: SignatureAlgorithmEnum = SignatureAlgorithmFromKey(key); const callbacks: ProofOfPossessionCallbacks = { signCallback: (jwt: Jwt, kid?: string) => { let iss = jwt.payload.iss; - if (this.client.isEBSI()) { + if (clientInstance.isEBSI()) { iss = jwt.header.kid?.split('#')[0]; } if (!iss) { @@ -330,7 +328,7 @@ class OpenId4VcIssuanceProvider { try { // We need to make sure we have acquired the access token - await this.acquireAccessToken({pin, authorizationResponse: this.authorizationCodeResponse, client: clientInstance}); + await clientInstance.acquireAccessToken({pin, authorizationResponse: this.authorizationCodeResponse}); // @ts-ignore debug(`credential type: ${JSON.stringify(issuanceOpt.types)}, format: ${issuanceOpt.format}, kid: ${kid}, alg: ${alg}`); @@ -361,70 +359,7 @@ class OpenId4VcIssuanceProvider { this._serverMetadata = await clientInstance.retrieveServerMetadata(); } if (!this._credentialsSupported || this._credentialsSupported.length === 0) { - // todo: remove format here. This is just a temp hack for V11+ issuance of only one credential. Having a single array with formats for multiple credentials will not work. This should be handled in VCI itself - let format: string[] | undefined = undefined; - if (clientInstance.version() > OpenId4VCIVersion.VER_1_0_09 && typeof clientInstance.credentialOffer?.credential_offer === 'object') { - format = clientInstance - .credentialOffer!.credential_offer.credentials // TODO null ref - .filter((format: string | CredentialOfferFormat): boolean => typeof format !== 'string') - .map((format: string | CredentialOfferFormat) => (format as CredentialOfferFormat).format); - if (format.length === 0) { - format = undefined; // Otherwise we would match nothing - } - } - // This restricts to initiation types when there is an offer - this._credentialsSupported = await this.getPreferredCredentialFormats( - clientInstance.getCredentialsSupported(!!clientInstance.credentialOffer?.credential_offer, format), - ); - if (!this._credentialsSupported || this._credentialsSupported.length === 0) { - this._credentialsSupported = clientInstance.credentialOffer?.credential_offer.credentials - .filter((format: string | CredentialOfferFormat): boolean => typeof format !== 'string') - .map(cred => { - return { - format: (cred).format, - // @ts-ignore - types: (cred).types, - } as CredentialSupported; - }); - } - } - }; - - public async setCredentialsSupported() { - if (!this._credentialsSupported || this._credentialsSupported.length === 0) { - // todo: remove format here. This is just a temp hack for V11+ issuance of only one credential. Having a single array with formats for multiple credentials will not work. This should be handled in VCI itself - let format: string[] | undefined = undefined; - if (this._client.version() > OpenId4VCIVersion.VER_1_0_09 && typeof this._client.credentialOffer?.credential_offer === 'object') { - format = this._client.credentialOffer.credential_offer.credentials - .filter((format: string | CredentialOfferFormat): boolean => typeof format !== 'string') - .map((format: string | CredentialOfferFormat) => (format as CredentialOfferFormat).format); - if (format.length === 0) { - format = undefined; // Otherwise we would match nothing - } - } - // This restricts to initiation types when there is an offer - this._credentialsSupported = await this.getPreferredCredentialFormats( - this._client.getCredentialsSupported(!!this._client.credentialOffer?.credential_offer, format), - ); - if (!this._credentialsSupported || this._credentialsSupported.length === 0) { - this._credentialsSupported = this._client.credentialOffer?.credential_offer.credentials - .filter((format: string | CredentialOfferFormat): boolean => typeof format !== 'string') - .map(cred => { - return { - format: (cred).format, - types: (cred).types, - } as CredentialSupported; - }); - } - } - } - - public getServerMetadataAndPerformCryptoMatching = async (): Promise => { - if (!this._serverMetadata) { - this._serverMetadata = await this._client.retrieveServerMetadata(); - } - if (!this._credentialsSupported || this._credentialsSupported.length === 0) { - await this.setCredentialsSupported(); + await this.setCredentialsSupported(clientInstance); } if (!this._issuerBranding) { @@ -466,18 +401,51 @@ class OpenId4VcIssuanceProvider { serverMetadata: this._serverMetadata, // @ts-ignore credentialsSupported: this._credentialsSupported, - issuanceOpts: await this.getIssuanceOpts(), + issuanceOpts: await this.getIssuanceOpts({client: clientInstance}), credentialBranding: this._credentialBranding, }; }; + public async setCredentialsSupported(client?: OpenID4VCIClient) { + const clientInstance = client ?? this.client; + if (!this._credentialsSupported || this._credentialsSupported.length === 0) { + // todo: remove format here. This is just a temp hack for V11+ issuance of only one credential. Having a single array with formats for multiple credentials will not work. This should be handled in VCI itself + let format: string[] | undefined = undefined; + if (clientInstance.version() > OpenId4VCIVersion.VER_1_0_09 && typeof clientInstance.credentialOffer?.credential_offer === 'object') { + format = clientInstance.credentialOffer.credential_offer.credentials + .filter((format: string | CredentialOfferFormat): boolean => typeof format !== 'string') + .map((format: string | CredentialOfferFormat) => (format as CredentialOfferFormat).format); + if (format.length === 0) { + format = undefined; // Otherwise we would match nothing + } + } + // This restricts to initiation types when there is an offer + this._credentialsSupported = await this.getPreferredCredentialFormats( + clientInstance.getCredentialsSupported(!!clientInstance.credentialOffer?.credential_offer, format), + ); + if (!this._credentialsSupported || this._credentialsSupported.length === 0) { + this._credentialsSupported = clientInstance.credentialOffer?.credential_offer.credentials + .filter((format: string | CredentialOfferFormat): boolean => typeof format !== 'string') + .map(cred => { + return { + format: (cred).format, + // todo: Move this to VCI lib. A function to get the types from an offer formet, including older versions of the spec + types: (cred).credential_definition?.types ?? (cred).types, + } as CredentialSupported; + }); + } + } + } + + /* + + // FIXME: Why is this needed at all? We only delegate to the client, which internally also keeps track of the access token public acquireAccessToken = async (opts: { pin?: string; clientId?: string; authorizationResponse?: AuthorizationResponse; client?: OpenID4VCIClient; - }): Promise => { - console.log('CALLING: acquireAccessToken'); + }): Promise => { console.log('CALLING: acquireAccessToken'); const {pin, client} = opts; @@ -498,6 +466,7 @@ class OpenId4VcIssuanceProvider { } return this._accessTokenResponse; }; +*/ private getPreferredCredentialFormats = async (credentials: Array): Promise> => { // Group credentials based on types as we now have multiple entries for one vc with different formats @@ -529,7 +498,8 @@ class OpenId4VcIssuanceProvider { return preferredCredentials; }; - private getIssuanceOpts = async (): Promise> => { + private getIssuanceOpts = async (opts?: {client: OpenID4VCIClient}): Promise> => { + const client = opts?.client ?? this.client; if (this._issuanceOpts && this._issuanceOpts.length > 0) { return this._issuanceOpts; } @@ -540,25 +510,25 @@ class OpenId4VcIssuanceProvider { for (const credentialSupported of this._credentialsSupported) { if (!this._serverMetadata?.credentialIssuerMetadata) { - issuanceOpts.push(this.defaultIssuanceOpts(credentialSupported)); + issuanceOpts.push(this.defaultIssuanceOpts(credentialSupported, {client})); continue; } - const cryptographicSuite: string = await this.getIssuanceCryptoSuite({credentialSupported}); - const didMethod: SupportedDidMethodEnum = await this.getIssuanceDidMethod(credentialSupported); + const cryptographicSuite: string = await this.getIssuanceCryptoSuite({credentialSupported, client}); + const didMethod: SupportedDidMethodEnum = await this.getIssuanceDidMethod({credentialSupported, client}); const issuanceOpt = { ...credentialSupported, didMethod, format: credentialSupported.format, - keyType: this.client.isEBSI() ? 'Secp256r1' : KeyTypeFromCryptographicSuite(cryptographicSuite), - ...(this.client.isEBSI() && {codecName: 'EBSI'}), + keyType: client.isEBSI() ? 'Secp256r1' : KeyTypeFromCryptographicSuite(cryptographicSuite), + ...(client.isEBSI() && {codecName: 'EBSI'}), } as IIssuanceOpts; const identifierOpts = await this.getIdentifier({issuanceOpt}); - if (!this.client.clientId || this.client.clientId) { + if (!client.clientId) { // FIXME: We really should fetch server metadata. Have user select required credentials. Take the first cred to determine a kid when no clientId is present and set that. // Needs a preference service for crypto, keys, dids, and clientId, with ecosystem support console.log(`################################Setting client id to ${identifierOpts.identifier.did}`); - this.client.clientId = identifierOpts.identifier.did; + client.clientId = identifierOpts.identifier.did; } issuanceOpts.push({...issuanceOpt, ...identifierOpts}); @@ -569,7 +539,8 @@ class OpenId4VcIssuanceProvider { return this._issuanceOpts; }; - private defaultIssuanceOpts(credentialSupported: CredentialSupported): IIssuanceOpts { + private defaultIssuanceOpts(credentialSupported: CredentialSupported, opts?: {client: OpenID4VCIClient}): IIssuanceOpts { + const client = opts?.client ?? this.client; console.log( `WARNING: Reverting to default for key/signature suites for credential type '${JSON.stringify( // @ts-ignore @@ -578,7 +549,7 @@ class OpenId4VcIssuanceProvider { ); const issuanceOpt = { ...credentialSupported, - didMethod: this.client.isEBSI() ? SupportedDidMethodEnum.DID_KEY : SupportedDidMethodEnum.DID_JWK, + didMethod: client.isEBSI() ? SupportedDidMethodEnum.DID_KEY : SupportedDidMethodEnum.DID_JWK, keyType: 'Secp256r1', } as IIssuanceOpts; const identifierOpts = this.getIdentifier({issuanceOpt}); @@ -586,7 +557,9 @@ class OpenId4VcIssuanceProvider { return {...issuanceOpt, ...identifierOpts}; } - private getIssuanceCryptoSuite = async ({credentialSupported}: {credentialSupported: CredentialSupported}): Promise => { + private getIssuanceCryptoSuite = async (opts: {credentialSupported: CredentialSupported; client?: OpenID4VCIClient}): Promise => { + const {credentialSupported} = opts; + const client = opts?.client ?? this.client; const suites_supported: Array = credentialSupported.cryptographic_suites_supported ?? []; // TODO: Return array, so the wallet/user could choose @@ -601,7 +574,7 @@ class OpenId4VcIssuanceProvider { if (supportedPreferences.length > 0) { return supportedPreferences[0]; - } else if (this.client.isEBSI()) { + } else if (client.isEBSI()) { return SignatureAlgorithmEnum.ES256; } @@ -630,7 +603,12 @@ class OpenId4VcIssuanceProvider { } }; - private getIssuanceDidMethod = async (credentialSupported: CredentialSupported): Promise => { + private getIssuanceDidMethod = async (opts: { + credentialSupported: CredentialSupported; + client?: OpenID4VCIClient; + }): Promise => { + const {credentialSupported} = opts; + const client = opts.client ?? this.client; const {format, cryptographic_binding_methods_supported} = credentialSupported; if (cryptographic_binding_methods_supported && Array.isArray(cryptographic_binding_methods_supported)) { const method: SupportedDidMethodEnum | undefined = didMethodPreferences.find((method: SupportedDidMethodEnum) => @@ -643,7 +621,7 @@ class OpenId4VcIssuanceProvider { } } - if (this.client.isEBSI()) { + if (client.isEBSI()) { return SupportedDidMethodEnum.DID_KEY; } if (!format || (format.includes('jwt') && !format?.includes('jwt_vc_json_ld'))) { diff --git a/src/services/qrService.ts b/src/services/qrService.ts index 07d8b74e..257a8214 100644 --- a/src/services/qrService.ts +++ b/src/services/qrService.ts @@ -1,14 +1,15 @@ import {VerifiedAuthorizationRequest} from '@sphereon/did-auth-siop'; -import {convertURIToJsonObject, CredentialOfferClient, OpenID4VCIClient, OpenID4VCIClientState} from '@sphereon/oid4vci-client'; +import {convertURIToJsonObject, CredentialOfferClient} from '@sphereon/oid4vci-client'; import {ConnectionTypeEnum, DidAuthConfig, NonPersistedConnection} from '@sphereon/ssi-sdk.data-store'; import {IIdentifier} from '@veramo/core'; import Debug, {Debugger} from 'debug'; import {URL} from 'react-native-url-polyfill'; import {v4 as uuidv4} from 'uuid'; import {APP_ID} from '../@config/constants'; +import {oid4vciHolderGetMachineInterpreter} from '../agent'; import {translate} from '../localization/Localization'; -import {OID4VCIMachine} from '../machines/oid4vciMachine'; import {SiopV2Machine} from '../machines/siopV2Machine'; +import {oid4vciStateNavigationListener} from '../navigation/machines/oid4vciStateNavigation'; import {siopGetRequest} from '../providers/authentication/SIOPv2Provider'; import JwtVcPresentationProfileProvider from '../providers/credential/JwtVcPresentationProfileProvider'; import { @@ -22,13 +23,11 @@ import { ScreenRoutesEnum, ToastTypeEnum, } from '../types'; -import {OID4VCIMachineEvents, OID4VCIMachineInterpreter} from '../types/machines/oid4vci'; +import {OID4VCIMachineInterpreter} from '../types/machines/oid4vci'; import {SiopV2MachineInterpreter} from '../types/machines/siopV2'; import {showToast} from '../utils'; import {authenticate} from './authenticationService'; import {getOrCreatePrimaryIdentifier} from './identityService'; -import {oid4vciStateNavigationListener} from '../navigation/machines/oid4vciStateNavigation'; -import {oid4vciHolderGetMachineInterpreter} from '../agent'; const debug: Debugger = Debug(`${APP_ID}:qrService`); diff --git a/yarn.lock b/yarn.lock index 712fed36..d398ed1e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3419,14 +3419,14 @@ dependencies: "@sinonjs/commons" "^3.0.0" -"@sphereon/did-auth-siop@0.6.0-unstable.7", "@sphereon/did-auth-siop@0.6.0-unstable.8": - version "0.6.0-unstable.7" - resolved "https://registry.yarnpkg.com/@sphereon/did-auth-siop/-/did-auth-siop-0.6.0-unstable.7.tgz#88a201f7f2fb862dadfff3f54b9e425868b5987a" - integrity sha512-u1T8PCs90vZHTfxx50b0Gc43GXJgRXJwaffEaXpTYT2mXvlrOEL08Hf5HvcLTuT6ZbLGuSxwFB7XmlcSt7F3fQ== +"@sphereon/did-auth-siop@0.6.0-unstable.9": + version "0.6.0-unstable.9" + resolved "https://registry.yarnpkg.com/@sphereon/did-auth-siop/-/did-auth-siop-0.6.0-unstable.9.tgz#9f2ff111900f401911b692bc0b3cc74dcc313ef3" + integrity sha512-1i64Z+guXLrkpHKuYUhwYSTPQtQ4/JpQEAEsgv7j47mZgnlappuO18juWHlKLNwmzYyhKzTdt7zaTTeP+wjeWA== dependencies: "@astronautlabs/jsonpath" "^1.1.2" "@sphereon/did-uni-client" "^0.6.1" - "@sphereon/pex" "^3.1.0" + "@sphereon/pex" "^3.2.0" "@sphereon/pex-models" "^2.2.0" "@sphereon/ssi-types" "0.18.1" "@sphereon/wellknown-dids-client" "^0.1.3" @@ -3486,30 +3486,20 @@ str2buf "^1.3.0" webcrypto-shim "^0.1.7" -"@sphereon/oid4vci-client@file:../Sphereon-Opensource/OID4VCI-client/packages/client/sphereon-oid4vci-client-0.40.9-bram.tgz": - version "0.40.9-bram" - resolved "file:../Sphereon-Opensource/OID4VCI-client/packages/client/sphereon-oid4vci-client-0.40.9-bram.tgz#f85f3b11eb0b80840ffdae2e59b69c2d0dec6eb8" +"@sphereon/oid4vci-client@0.8.2-next.88": + version "0.8.2-next.88" + resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-client/-/oid4vci-client-0.8.2-next.88.tgz#ce811aedc2fec6f6ce1f9efd051c676c2401abcb" + integrity sha512-MoIbeLSJdjNyZ7XsiNBStAse8PCkg/5+um/xagWovfD2qE9C0vk/h9W30vLck06MHet0/YVZ9QvFgWxWaN5/+Q== dependencies: - "@sphereon/oid4vci-common" "0.8.1" + "@sphereon/oid4vci-common" "0.8.2-next.88+78abccf" "@sphereon/ssi-types" "^0.18.1" cross-fetch "^3.1.8" debug "^4.3.4" -"@sphereon/oid4vci-common@0.8.1", "@sphereon/oid4vci-common@0.8.2-unstable.65": - version "0.8.2-unstable.65" - resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-common/-/oid4vci-common-0.8.2-unstable.65.tgz#40c96106b21407a23141e0462e2b2fc3ed0f3082" - integrity sha512-95QOoprtVsnrfZ9svDodRz8fXBxiWOLON59mBcS9D8F4VuDpMYRfeNhdJVbSB7A+mNdUIEL3gdnaHozDkWHYUQ== - dependencies: - "@sphereon/ssi-types" "^0.18.1" - cross-fetch "^3.1.8" - jwt-decode "^3.1.2" - sha.js "^2.4.11" - uint8arrays "3.1.1" - -"@sphereon/oid4vci-common@0.8.2-unstable.75": - version "0.8.2-unstable.75" - resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-common/-/oid4vci-common-0.8.2-unstable.75.tgz#2e5c6c1a0a5b9a096e38b1fddd6a10878b462fee" - integrity sha512-Vy+RvE1BKDmXVfJ+nplGSWM3D+4aSkNif05SQHQLvdUkiF6rVimrkBihiyrVNh30ARIPXmxlAsqCrd2vfavlWg== +"@sphereon/oid4vci-common@0.8.2-next.88", "@sphereon/oid4vci-common@0.8.2-next.88+78abccf": + version "0.8.2-next.88" + resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-common/-/oid4vci-common-0.8.2-next.88.tgz#696ee7bb4e8c8df5e6340439e2253272b1c4f3b6" + integrity sha512-paEEjZZt3DnF0UXIVvS1tev+Rkpl00i2FPVdqG33fAc2/tStk0fhtDAF/YLTxpmyespNoWs3CDw0bJmYtx560w== dependencies: "@sphereon/ssi-types" "^0.18.1" cross-fetch "^3.1.8" @@ -3522,7 +3512,7 @@ resolved "https://registry.yarnpkg.com/@sphereon/pex-models/-/pex-models-2.2.0.tgz#32013fff43d4f47df03e213792a9bcc6866a1f06" integrity sha512-dGDRdoxJj+P0TRqu0R8R0/IdIzrCya1MsnxIFbcmSW3rjPsbwXbV0EojEfxXGD5LhqsUJiuAffMtyE2dtVI/XQ== -"@sphereon/pex@3.2.1-unstable.7", "@sphereon/pex@^3.1.0", "@sphereon/pex@^3.2.0": +"@sphereon/pex@3.2.1-unstable.7", "@sphereon/pex@^3.2.0": version "3.2.1-unstable.7" resolved "https://registry.yarnpkg.com/@sphereon/pex/-/pex-3.2.1-unstable.7.tgz#218d39c2311e5d542258607883185cacc3e6e862" integrity sha512-X55PUfZL5gZ/mJinNS+eQ/iUKuFmNA6PP8NU14p4SemZbt/8kn67XYM6Nl/hYSFDysx64daPMRfPTkopKAfT+Q== @@ -3544,10 +3534,10 @@ resolved "https://registry.yarnpkg.com/@sphereon/react-native-argon2/-/react-native-argon2-2.0.9.tgz#88d68d079a65ecc01501718c35a30f0a58558d21" integrity sha512-mXcp3meaKbv5TpEPxItZ1ZuRqkdNf8vjx3EM+GqNVQ8QQF9pbD3jw6wQfuFRPc+8kN+m9GEiVVbd9I0m50OPBg== -"@sphereon/ssi-express-support@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-express-support/-/ssi-express-support-0.18.2-unstable.35.tgz#e6feab8bd5c79e71d8cbd70b798f370f27912434" - integrity sha512-czrrY8nnbrbWbauHInrUlOOK68nvBsbUkn/WepKmtAo1eCpX48JGWfZAmhWtmEitPME0kw5/v3HRt52uVQTzSw== +"@sphereon/ssi-express-support@0.18.2-unstable.51+a2d97f40": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-express-support/-/ssi-express-support-0.18.2-unstable.51.tgz#cc8df7ae9db2db12fd921b8120a0a618f5d22796" + integrity sha512-puc+DJo1j8FxlXylbO2tO4P6iuZ4zUI1KDVW9qx8X00ohUG3il0hvIX24DfefpAXGfKmmqmPemchNBCbAJxGzA== dependencies: body-parser "^1.20.2" casbin "^5.26.1" @@ -3563,14 +3553,14 @@ qs "^6.11.2" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk-ext.did-provider-jwk@0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-provider-jwk/-/ssi-sdk-ext.did-provider-jwk-0.16.0.tgz#7fc7ae04ff9fbd3796a65e2aa43cfc9d770e2580" - integrity sha512-cTwtCl5Cw/ziXdabM28obJu2ifsDw2cwz3eDiBl6xaSn9hCtZ7361QIxws4y84UjeSHQhyGsSLNOFzwFWon+Nw== +"@sphereon/ssi-sdk-ext.did-provider-jwk@0.16.1-next.2": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-provider-jwk/-/ssi-sdk-ext.did-provider-jwk-0.16.1-next.2.tgz#0329e4b08b83591b4be81af7f0ccc3886191d6d4" + integrity sha512-y0N5vooGqOblPAN2chc2fOieTgbL5+Ffl4RPB3fIE8xJKbffJQqpXrDyEZB1UuMSJrTcZ9XxhN2YWs5Ks51rXA== dependencies: "@ethersproject/random" "^5.7.0" - "@sphereon/ssi-sdk-ext.did-utils" "^0.16.0" - "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" + "@sphereon/ssi-sdk-ext.did-utils" "^0.16.1-next.2+2f5bf1f" + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.1-next.2+2f5bf1f" "@sphereon/ssi-types" "0.17.1" "@stablelib/ed25519" "^1.0.3" "@veramo/core" "4.2.0" @@ -3580,13 +3570,13 @@ did-resolver "^4.1.0" elliptic "^6.5.4" -"@sphereon/ssi-sdk-ext.did-provider-key@0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-provider-key/-/ssi-sdk-ext.did-provider-key-0.16.0.tgz#272231d9de62fca1e1153043c22570d55972dcd0" - integrity sha512-txJM50j56VXd7ZOcbwUaEv8RZ6nMAXPJjAFcDX9+T9FwRNr2UgOodsGeic4WNXdClj9hDVCz9f8XFY8Bg5iz2w== +"@sphereon/ssi-sdk-ext.did-provider-key@0.16.1-next.2": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-provider-key/-/ssi-sdk-ext.did-provider-key-0.16.1-next.2.tgz#afb18067b0873e6f83e62f9a0ed58632c13008bb" + integrity sha512-X791mlXymKp+zbsIkGF6VMTh2XoYjaL9ws8hyVa6W5Uo0qhBSCNUuGiSQEFjR3KRQpMXVOZNSPFHMm9B2S/HRQ== dependencies: - "@sphereon/ssi-sdk-ext.did-resolver-key" "^0.16.0" - "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" + "@sphereon/ssi-sdk-ext.did-resolver-key" "^0.16.1-next.2+2f5bf1f" + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.1-next.2+2f5bf1f" "@transmute/did-key-bls12381" "0.3.0-unstable.10" "@veramo/core" "4.2.0" "@veramo/did-manager" "4.2.0" @@ -3596,19 +3586,19 @@ multicodec "^3.2.1" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk-ext.did-resolver-ebsi@^0.15.1-next.13": - version "0.15.1-unstable.11" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-ebsi/-/ssi-sdk-ext.did-resolver-ebsi-0.15.1-unstable.11.tgz#3ca7b8fd74d89ffd8604f8e26dcbc5e76e4ed776" - integrity sha512-AMK0xxUEE3+Zyy6HNd26qifHFmcYE5itsNlu8xh6kwtPKhp3Z2haP1NkweKJyJ2qb3zb8gIfRiVzLqTPdfo4Sg== +"@sphereon/ssi-sdk-ext.did-resolver-ebsi@0.16.1-next.2": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-ebsi/-/ssi-sdk-ext.did-resolver-ebsi-0.16.1-next.2.tgz#6ae07d7c6e8bbc372a4693496a3beae22f1a6fd4" + integrity sha512-bFgX3J3BG8G138xzf28QEceanpt+jMDoKAQEdkmoxoNGkVZVUC0eBdM0nph75Oj9Drd+4DSDWAIHGczu3DWisg== dependencies: cross-fetch "^3.1.8" did-resolver "^4.1.0" dotenv "^16.3.1" -"@sphereon/ssi-sdk-ext.did-resolver-jwk@0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-jwk/-/ssi-sdk-ext.did-resolver-jwk-0.16.0.tgz#09a0e03df83eb435bd375aba7905d3c7417df5cb" - integrity sha512-lRqyd9vbmPCSojvCByHTmHhIRfilmMLu6ypE8YLMPIXCwiJ3NmlaEsmpMCsx1zC/s6jESgQS2RGWv5Ec41actg== +"@sphereon/ssi-sdk-ext.did-resolver-jwk@0.16.1-next.2": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-jwk/-/ssi-sdk-ext.did-resolver-jwk-0.16.1-next.2.tgz#9ee473643bbb7b89921090c9db2342ecb9422e67" + integrity sha512-b1PtzEvKbI5cM/i8taTKxS/agIjZfn3aZdlfFybYUUQvws/in+1OlgopF0f9HWcHmIgUpFQNhJc93bZhSE68Bg== dependencies: "@sphereon/ssi-types" "0.17.1" base64url "^3.0.1" @@ -3616,12 +3606,12 @@ did-resolver "^4.1.0" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk-ext.did-resolver-key@0.16.0", "@sphereon/ssi-sdk-ext.did-resolver-key@^0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-key/-/ssi-sdk-ext.did-resolver-key-0.16.0.tgz#9f7e736bd0384eb965b3f46535b2aa91a4f4299d" - integrity sha512-42GJreQCcDhyXn4XjcLOZVPYem60+GbKfHSYawby68fxMM6pOyiplj+fBHNOsUzgCUhK0ksCECxWxnjkrehGzA== +"@sphereon/ssi-sdk-ext.did-resolver-key@0.16.1-next.2": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-key/-/ssi-sdk-ext.did-resolver-key-0.16.1-next.2.tgz#04f5afdc217d76e887c03db898f788be4d137782" + integrity sha512-WLfyIaIldscBKU4IVfHu2Wy+mTsK/1l6oC8CPlYM1+3aCJJctH7l8V5QI6MbeOK/tOLBc4UfSU2slZMMTZM66Q== dependencies: - "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.1-next.2+2f5bf1f" "@stablelib/ed25519" "^1.0.3" bigint-mod-arith "^3.3.1" did-resolver "^4.1.0" @@ -3633,14 +3623,31 @@ varint "^6.0.0" web-encoding "^1.1.5" -"@sphereon/ssi-sdk-ext.did-utils@0.15.0", "@sphereon/ssi-sdk-ext.did-utils@0.16.0", "@sphereon/ssi-sdk-ext.did-utils@^0.15.0", "@sphereon/ssi-sdk-ext.did-utils@^0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-utils/-/ssi-sdk-ext.did-utils-0.16.0.tgz#6b8d24b74a322f3231f48ec21efc3df9709b0146" - integrity sha512-v7Uy0OqrxglxA3kG8rBUbE6mI7NXK5Fl3moO+7+waXu1R120kJKEyHGDKJaU5BN8Mlr2AURfguBdw2ls0yxYIw== +"@sphereon/ssi-sdk-ext.did-resolver-key@^0.16.1-next.2+2f5bf1f": + version "0.16.1-next.5" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-resolver-key/-/ssi-sdk-ext.did-resolver-key-0.16.1-next.5.tgz#8a009ffce4c2de35deab9b8e46bc51f37469fa4a" + integrity sha512-rb3Gu/x0NDVTZ3fw1TocwzYmjjrlNx7+c+uNOZjK2dfsQU6OoFnBG8+sv+FdVQfgJxlcfvBXrCUFimBApzDIhQ== + dependencies: + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.1-next.5+fdc12e6" + "@stablelib/ed25519" "^1.0.3" + bigint-mod-arith "^3.3.1" + did-resolver "^4.1.0" + enhanced-resolve "^5.15.0" + lodash.isplainobject "^4.0.6" + multiformats "^9.9.0" + nist-weierstrauss "^1.6.1" + uint8arrays "^3.1.1" + varint "^6.0.0" + web-encoding "^1.1.5" + +"@sphereon/ssi-sdk-ext.did-utils@0.15.0", "@sphereon/ssi-sdk-ext.did-utils@0.16.1-next.2", "@sphereon/ssi-sdk-ext.did-utils@^0.15.0", "@sphereon/ssi-sdk-ext.did-utils@^0.16.1-next.2+2f5bf1f": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.did-utils/-/ssi-sdk-ext.did-utils-0.16.1-next.2.tgz#5397a27a4bb4c7d5184b981f007b7e9ef5ddfe14" + integrity sha512-nZJSPfFNvUaIbfHMx69vhrlEP8w6PVhUTBDpmUjZFqyl13ASLUsU34r1k2z+4JMv6gGiBPZPLU7Yf+3CQrdSng== dependencies: "@ethersproject/transactions" "^5.7.0" "@sphereon/did-uni-client" "^0.6.0" - "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.1-next.2+2f5bf1f" "@sphereon/ssi-sdk.core" "0.17.1" "@stablelib/ed25519" "^1.0.3" "@veramo/core" "4.2.0" @@ -3650,13 +3657,13 @@ elliptic "^6.5.4" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk-ext.key-manager@0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.key-manager/-/ssi-sdk-ext.key-manager-0.16.0.tgz#6ff3f48c93dc0bdcd8cf61a3ab66c225d84fa8f9" - integrity sha512-ElCO0NxTjcXjRKSx5UEiaQAW6LWkMYKI4zzcWNLMDyNnxN96ERFGaI5UsMc6EmG3SXC1NyctSvOc5lTNWjagrw== +"@sphereon/ssi-sdk-ext.key-manager@0.16.1-next.2": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.key-manager/-/ssi-sdk-ext.key-manager-0.16.1-next.2.tgz#21b4f01b70f021e294144fb22088ebf191fefe18" + integrity sha512-1EIdYwwgYJMpXSnAzfiQzzDGIGPKCNmaAcbdFi+5XmHkKXlR3eFVGFSuLhGMoKxTUMBAWuFxWK63IExdqP2qmg== dependencies: "@mattrglobal/bbs-signatures" "^1.3.0" - "@sphereon/ssi-sdk-ext.kms-local" "^0.16.0" + "@sphereon/ssi-sdk-ext.kms-local" "^0.16.1-next.2+2f5bf1f" "@veramo/core" "4.2.0" "@veramo/key-manager" "4.2.0" @@ -3681,10 +3688,10 @@ varint "^6.0.0" web-encoding "^1.1.5" -"@sphereon/ssi-sdk-ext.key-utils@^0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.key-utils/-/ssi-sdk-ext.key-utils-0.16.0.tgz#ab9919cca3250706a219915bdac9a07ab13a40bb" - integrity sha512-gaPgoAG2R5pBdMwktPKP39QrcMUc5ny3U9fmzSdlBky0n0BCXv+ifeCSuVSFKQP5tBPeOKPyMH/JcaQWxoFzkA== +"@sphereon/ssi-sdk-ext.key-utils@^0.16.1-next.2+2f5bf1f", "@sphereon/ssi-sdk-ext.key-utils@^0.16.1-next.5+fdc12e6": + version "0.16.1-next.5" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.key-utils/-/ssi-sdk-ext.key-utils-0.16.1-next.5.tgz#47f995151cdecc3834a7ff7a9b060f5632ecb7c9" + integrity sha512-pAznCXnks9ex+bMnhWgg1I2ScbkMkKFZNsJlhXBdrWIyde0FfMhqOXJ1hU07Vf3D8iklphVRNhhIMzGFF+7INw== dependencies: "@ethersproject/random" "^5.7.0" "@sphereon/isomorphic-webcrypto" "2.4.0-unstable.4" @@ -3702,15 +3709,15 @@ varint "^6.0.0" web-encoding "^1.1.5" -"@sphereon/ssi-sdk-ext.kms-local@0.16.0", "@sphereon/ssi-sdk-ext.kms-local@^0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.kms-local/-/ssi-sdk-ext.kms-local-0.16.0.tgz#08c7913e60f69a81821b3ee34365646bc059581b" - integrity sha512-KmcMQUpoSCQeL2z7MvP0ZDplhPolt2zSkySKeV/Ypud+A/eUg1iU2bUtfv/ra8E9xxqPHe7HGhLf9IxOKdg/aw== +"@sphereon/ssi-sdk-ext.kms-local@0.16.1-next.2", "@sphereon/ssi-sdk-ext.kms-local@^0.16.1-next.2+2f5bf1f": + version "0.16.1-next.2" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk-ext.kms-local/-/ssi-sdk-ext.kms-local-0.16.1-next.2.tgz#a74bcee54ef08c73b13100e446e7a03db220a5d2" + integrity sha512-hNHKJjCGcZGUa16KJ4IeB8BVXeNaLtmj7Cac3PgFAyUKHWtclizY1WldKsGp5xPw4Mk2yKYOVAOiB/lZasvZ4Q== dependencies: "@mattrglobal/bbs-signatures" "^1.3.0" "@sphereon/isomorphic-webcrypto" "2.4.0-unstable.4" - "@sphereon/ssi-sdk-ext.did-utils" "^0.16.0" - "@sphereon/ssi-sdk-ext.key-utils" "^0.16.0" + "@sphereon/ssi-sdk-ext.did-utils" "^0.16.1-next.2+2f5bf1f" + "@sphereon/ssi-sdk-ext.key-utils" "^0.16.1-next.2+2f5bf1f" "@trust/keyto" "2.0.0-alpha1" "@veramo/core" "4.2.0" "@veramo/key-manager" "4.2.0" @@ -3718,10 +3725,10 @@ elliptic "^6.5.4" uint8arrays "3.1.1" -"@sphereon/ssi-sdk.agent-config@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.agent-config/-/ssi-sdk.agent-config-0.18.2-unstable.35.tgz#b034feb4f9457667dab04f43afae7fcb77161ef9" - integrity sha512-k0YT4ZaZdQ9omUFYzE3yruz3GYyynTD2yuRqx1KFrC5/CMCnPfjvUTdtIN8zu3U61T2HkDOFtciaquDG8IQwvQ== +"@sphereon/ssi-sdk.agent-config@0.18.2-unstable.51+a2d97f40": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.agent-config/-/ssi-sdk.agent-config-0.18.2-unstable.51.tgz#d163645a7ef69b30aec0e58b258f022a15b9421d" + integrity sha512-jAmx/O29oDIXYqpX/0RTJqJP4mR85FI+vbF2dzhCFNSp+/rBLOvEy+tqxaLWFjGYgL1WQluhDm4DML0zRFBlHQ== dependencies: "@veramo/core" "4.2.0" debug "^4.3.4" @@ -3730,63 +3737,61 @@ url-parse "^1.5.10" yaml "^2.2.2" -"@sphereon/ssi-sdk.contact-manager@0.18.1", "@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.35": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.contact-manager/-/ssi-sdk.contact-manager-0.18.2-unstable.35.tgz#865c8a7720ce621fffa9e96a3b273963d818b7ab" - integrity sha512-18G+P6HzNx8OxD/TJw0Zy55p5unHPuMPobtMZQC3q7WI7KD0Cog1EFSKYK4ruFqYiuBY5u9Gd0lxubD47XKhtA== +"@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.51", "@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.51+a2d97f40": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.contact-manager/-/ssi-sdk.contact-manager-0.18.2-unstable.51.tgz#f319cb1f05a9ac898c2eb9935c217aa8e4b74c4f" + integrity sha512-L709TLcLqe7+PuCsUth7tScGqw67DbslJ9B9UkVFyAkmB8D8H1eDY0heQ+AIvpHb0QrXaq8Kmws92Q7C5XPaiA== dependencies: - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.51+a2d97f40" cross-fetch "^3.1.8" typeorm "^0.3.12" -"@sphereon/ssi-sdk.core@0.17.1", "@sphereon/ssi-sdk.core@0.18.1", "@sphereon/ssi-sdk.core@0.18.2-unstable.35", "@sphereon/ssi-sdk.core@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.core/-/ssi-sdk.core-0.18.2-unstable.35.tgz#acbacf3253f612a440b0ed254cc7fc4bf98b2f3c" - integrity sha512-J1k0ev7SdPiFrxdjtIg48a154MJCxq2B4hWHb9igrHNK7jqbmwR5O/2R1ayXl4XRI7HKigmdlyhX2WU9hQ6oKA== +"@sphereon/ssi-sdk.core@0.17.1", "@sphereon/ssi-sdk.core@0.18.2-unstable.51", "@sphereon/ssi-sdk.core@0.18.2-unstable.51+a2d97f40": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.core/-/ssi-sdk.core-0.18.2-unstable.51.tgz#c04f917720fc526ca22f7bbd8fa98d3a889140e7" + integrity sha512-TP34hRW5eVn1HoQP59WMMiULoBenNs9bfAR7SZ8nE65I2wtL4nSkChoQwlwsLbuhFrkubjlZmxCUWUngHACmVA== dependencies: - "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-types" "0.18.2-unstable.51+a2d97f40" "@veramo/core" "4.2.0" cross-fetch "^3.1.8" debug "^4.3.4" image-size "1.0.2" uint8arrays "3.1.1" -"@sphereon/ssi-sdk.data-store@0.18.1", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.35", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.data-store/-/ssi-sdk.data-store-0.18.2-unstable.35.tgz#fbe51ca062a452a5d94360306a76b9b6bab9fafc" - integrity sha512-P4iCKCLoyAIbAvslOzSajgzfhzmMQHsRF2OBCsHLCGSbxGQPaKRIDuPJdSHmmlisx92OKASVXTAL6evrBLf2gA== +"@sphereon/ssi-sdk.data-store@0.18.2-unstable.51", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.51+a2d97f40": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.data-store/-/ssi-sdk.data-store-0.18.2-unstable.51.tgz#427fe7b1e059ec6ebf8de7e1598fd06a47f19eca" + integrity sha512-kjlRFpq9QPO+5dXxMmbEFjHQvIXPRVww9fTmOy1vWiWzsAvzOiktV+9O4x6WcQ6rn5lcTAS3O5PoKpvw16EIdw== dependencies: - "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-types" "0.18.2-unstable.51+a2d97f40" "@veramo/core" "4.2.0" class-validator "^0.14.0" debug "^4.3.4" typeorm "^0.3.12" -"@sphereon/ssi-sdk.issuance-branding@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.issuance-branding/-/ssi-sdk.issuance-branding-0.18.1.tgz#0929a018f69551407703c9a58eef3bae06a9bd48" - integrity sha512-ibS1IuZnTyCq+VtGnttpAiYjGIQIihlfzSzyPy5MmvM+yeYI+BIEfM7ix85Mkt90AlWRtiLvgJBoinI+3Rja0g== +"@sphereon/ssi-sdk.event-logger@0.18.2-unstable.51": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.event-logger/-/ssi-sdk.event-logger-0.18.2-unstable.51.tgz#e7d2bb884c12abe1705ab540a4e5841c7ef68f7b" + integrity sha512-4a2Ko0gvMx8RNN2TMNStg8qzEbzxeB2k10aIoFjSBqAC/LMpNknYhLyd7tEWkW8RquYRCBSvol1YNGe3j3BSzA== dependencies: - "@sphereon/ssi-sdk.core" "0.18.1" - "@sphereon/ssi-sdk.data-store" "0.18.1" - debug "^4.3.4" - typeorm "^0.3.12" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.51+a2d97f40" + uuid "^8.3.2" -"@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.35": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.issuance-branding/-/ssi-sdk.issuance-branding-0.18.2-unstable.35.tgz#c5c25636b8a33ed02754ff81c0a45625ca300ff6" - integrity sha512-aKbMVDiCndzx4dOZMIdvASMRKq5+ke9eqtCk+0E4jqKE+6LLIC3GIjJ0qvnh2b00yI7M2wc++Yvo7vEMWd+9Uw== +"@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.51", "@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.51+a2d97f40": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.issuance-branding/-/ssi-sdk.issuance-branding-0.18.2-unstable.51.tgz#bba765d967c056d488f16865bd87e72804b0e11e" + integrity sha512-8ExxmvRWU9f8c//pIegKxRY1eEbKKncqDujSDWdFz6AlRT37lFtzj4F0jp65TMbkPaLsLl5EW1Y5EwWJQ2gOzA== dependencies: - "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.51+a2d97f40" debug "^4.3.4" typeorm "^0.3.12" -"@sphereon/ssi-sdk.kv-store-temp@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.kv-store-temp/-/ssi-sdk.kv-store-temp-0.18.2-unstable.35.tgz#bfc333b0c11fcc8d5c61e75e9c8132699078a7d5" - integrity sha512-2x2GmE7FMzOqPRkOuPypS1hJ4Ru15UnEmrXrbYZsLi8VXOwTfRemRB3uFihdzwrNC6uijrYds1YXPKFgMaOgYg== +"@sphereon/ssi-sdk.kv-store-temp@0.18.2-unstable.51+a2d97f40": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.kv-store-temp/-/ssi-sdk.kv-store-temp-0.18.2-unstable.51.tgz#43b04e3eb2277c9f40928d6e49c4a2d9b7768277" + integrity sha512-lMYWCnU2NAN635vC7UqketqKFpxMi61G9pn3PWiv2Hy3NCDkt6yyhGboy9aat68dX0jaWxqPleCT031gJs2Npg== dependencies: "@veramo/utils" "4.2.0" debug "^4.3.4" @@ -3795,16 +3800,17 @@ typeorm "^0.3.12" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk.oid4vci-holder@file:../Sphereon-Opensource/ssi-sdk/packages/oid4vci-holder/sphereon-ssi-sdk.oid4vci-holder-0.127.28-bram.tgz": - version "0.127.28-bram" - resolved "file:../Sphereon-Opensource/ssi-sdk/packages/oid4vci-holder/sphereon-ssi-sdk.oid4vci-holder-0.127.28-bram.tgz#3fda9fd8b9a388a566e033a8231404797804afad" - dependencies: - "@sphereon/oid4vci-client" "file:../Sphereon-Opensource/OID4VCI-client/packages/client/sphereon-oid4vci-client-0.40.9-bram.tgz" - "@sphereon/oid4vci-common" "0.8.2-unstable.65" - "@sphereon/ssi-sdk.contact-manager" "0.18.1" - "@sphereon/ssi-sdk.data-store" "0.18.1" - "@sphereon/ssi-sdk.issuance-branding" "0.18.1" - "@sphereon/ssi-types" "0.18.1" +"@sphereon/ssi-sdk.oid4vci-holder@0.18.2-unstable.51": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.oid4vci-holder/-/ssi-sdk.oid4vci-holder-0.18.2-unstable.51.tgz#7ed4a3fe34280605a454140b53c42f0b4c251dd3" + integrity sha512-t1cOTitdh9NDSUrbEPdNm0MBWUna3E/GA8qRJoAJRWHNwF4EJPbH/n8lFQFuZOJLbCL41HPCP2IADxpCtGA6BQ== + dependencies: + "@sphereon/oid4vci-client" "0.8.2-next.88" + "@sphereon/oid4vci-common" "0.8.2-next.88" + "@sphereon/ssi-sdk.contact-manager" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.issuance-branding" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-types" "0.18.2-unstable.51+a2d97f40" "@veramo/core" "4.2.0" "@veramo/data-store" "4.2.0" "@veramo/utils" "4.2.0" @@ -3813,30 +3819,30 @@ uuid "^9.0.1" xstate "^4.38.3" -"@sphereon/ssi-sdk.presentation-exchange@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.presentation-exchange/-/ssi-sdk.presentation-exchange-0.18.2-unstable.35.tgz#183418c490e914369baa1357dbae8dac8cd5e02d" - integrity sha512-JWXDTqPB7KUJNJ+3ib/E88AO+aFq32e5lSlvc3NkA3Z+x4jXBfzdxvoo02v6E31+5z7IyN4aNxIV0ATNpUnn+w== +"@sphereon/ssi-sdk.presentation-exchange@0.18.2-unstable.51+a2d97f40": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.presentation-exchange/-/ssi-sdk.presentation-exchange-0.18.2-unstable.51.tgz#5dcd47d53fd2b3592309b1a3f95d1deba857956b" + integrity sha512-2u1eFEiYQHevM2vHTSfMyzLiDNzZiZ/fI+C4OhNkt56cU7tzKx8yvMCdYHw9371Ntndrpw+xtbikdtaUjsbMbw== dependencies: "@sphereon/pex" "^3.2.0" "@sphereon/pex-models" "^2.2.0" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-sdk.kv-store-temp" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.kv-store-temp" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-types" "0.18.2-unstable.51+a2d97f40" "@veramo/core" "4.2.0" -"@sphereon/ssi-sdk.siopv2-oid4vp-op-auth@0.18.2-unstable.35": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.siopv2-oid4vp-op-auth/-/ssi-sdk.siopv2-oid4vp-op-auth-0.18.2-unstable.35.tgz#807bc218269fe2adac55da5da38668533c960d30" - integrity sha512-irlSznQwl87oHjJDawIs2uL+zJps+oZnAF5R0n9H2GpuHiVL+7k2WTMf9tAXuT4fjC2Bwfd7rGQHvufkIsY7jg== +"@sphereon/ssi-sdk.siopv2-oid4vp-op-auth@0.18.2-unstable.51": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.siopv2-oid4vp-op-auth/-/ssi-sdk.siopv2-oid4vp-op-auth-0.18.2-unstable.51.tgz#1521dcec988486d4e4535a9713d53bc8815e1cb0" + integrity sha512-ZVYxn6BSX/Eg2d0G7I8AVUL3x7Ij2SmTJQY5dwBcPWZXTnvf9Ue7dr1WoCVZr2yo84+af6S6NmK4Dimg4Q/NFg== dependencies: - "@sphereon/did-auth-siop" "0.6.0-unstable.8" + "@sphereon/did-auth-siop" "0.6.0-unstable.9" "@sphereon/pex" "^3.2.0" "@sphereon/pex-models" "2.2.0" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.presentation-exchange" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.presentation-exchange" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-types" "0.18.2-unstable.51+a2d97f40" "@sphereon/wellknown-dids-client" "^0.1.3" "@veramo/core" "4.2.0" "@veramo/credential-w3c" "4.2.0" @@ -3844,10 +3850,10 @@ did-jwt-vc "3.1.3" uuid "^9.0.1" -"@sphereon/ssi-sdk.vc-handler-ld-local@0.18.2-unstable.35": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-handler-ld-local/-/ssi-sdk.vc-handler-ld-local-0.18.2-unstable.35.tgz#d0203c98007f624c1fd6f86f0ecbd73c1085a78d" - integrity sha512-0Q0/Xl39rouTvZsaJDeC7bAssRsOCSPCKfQ/RZsk0kdazBVg5yb4YVZy9Npr/RSkTv4LsK5eCXrzoXsNYol1BA== +"@sphereon/ssi-sdk.vc-handler-ld-local@0.18.2-unstable.51": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-handler-ld-local/-/ssi-sdk.vc-handler-ld-local-0.18.2-unstable.51.tgz#dc368a5ace2d60eb1bd732973786e354d3347768" + integrity sha512-CMQqf4ZV23M3f8EGPL5iaF1fUTRPndGBaPn3GPED/4/1U6XRQXUXIEjFM8Nti5S+t79yKIkvw7ZukjkRDnDdcQ== dependencies: "@digitalcredentials/ed25519-signature-2020" "~3.0.2" "@digitalcredentials/ed25519-verification-key-2020" "^4.0.0" @@ -3861,12 +3867,12 @@ "@sphereon/isomorphic-webcrypto" "^2.4.0-unstable.4" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" "@sphereon/ssi-sdk-ext.key-utils" "0.15.0" - "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.vc-status-list-issuer-drivers" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.vc-status-list-issuer-drivers" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-types" "0.18.2-unstable.51+a2d97f40" "@transmute/credentials-context" "^0.7.0-unstable.81" "@transmute/ed25519-key-pair" "0.7.0-unstable.81" "@transmute/ed25519-signature-2018" "^0.7.0-unstable.81" @@ -3890,31 +3896,31 @@ jsonld "^4.0.1" jsonld-signatures "^7.0.0" -"@sphereon/ssi-sdk.vc-status-list-issuer-drivers@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list-issuer-drivers/-/ssi-sdk.vc-status-list-issuer-drivers-0.18.2-unstable.35.tgz#924eb0b75269d138aab6d715c3550a285b1f9e47" - integrity sha512-ddXLthbg3Z9oP6vZnhkVF4pQ5xqMUcJETPVlqC9AObxmbis0rQzLTBaT3NkOrNb9j669nAQfd91StITWCSyX8Q== +"@sphereon/ssi-sdk.vc-status-list-issuer-drivers@0.18.2-unstable.51+a2d97f40": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list-issuer-drivers/-/ssi-sdk.vc-status-list-issuer-drivers-0.18.2-unstable.51.tgz#cc045ed47c614cbef33191ec8e089636eac0f390" + integrity sha512-62Cd/QYmXKkGip1IPWRL3HEx5pLP9Qxz6hts77SCMFMjNpuHGkiS7SbZV0posIex5PxBMxpSRb775HLgz+QAfw== dependencies: - "@sphereon/ssi-express-support" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-express-support" "0.18.2-unstable.51+a2d97f40" "@sphereon/ssi-sdk-ext.did-utils" "^0.15.0" - "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.core" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.35+089ea379" - "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-types" "0.18.2-unstable.51+a2d97f40" "@sphereon/vc-status-list" "^7.0.0-next.0" "@veramo/core" "4.2.0" debug "^4.3.4" typeorm "^0.3.12" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk.vc-status-list@0.18.2-unstable.35+089ea379": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list/-/ssi-sdk.vc-status-list-0.18.2-unstable.35.tgz#c62b56d043fe8de82ac6b9c9ed2fb2cc7196b943" - integrity sha512-8Io4Wy9Hm+tyD0kI5mdojvNyyb/1MjQGL/saTjAllhZJOECTFDwDaxBTOnBtJgCmrEQu9KELxtXoHQXH200Jfw== +"@sphereon/ssi-sdk.vc-status-list@0.18.2-unstable.51+a2d97f40": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list/-/ssi-sdk.vc-status-list-0.18.2-unstable.51.tgz#b1da385535c4984ecd47db180d85ab3d934c8580" + integrity sha512-9w3FGzueCMQ6O2mNTys9XV8xx3J79G3B1QrO0WJPntnfXJdSndSygb1sj8RqyqWBdYLix20zHg9v51kJfI6X6Q== dependencies: "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-types" "0.18.2-unstable.35+089ea379" + "@sphereon/ssi-types" "0.18.2-unstable.51+a2d97f40" "@sphereon/vc-status-list" "7.0.0-next.0" "@veramo/core" "4.2.0" "@veramo/credential-status" "4.2.0" @@ -3922,31 +3928,31 @@ debug "^4.3.4" uint8arrays "^3.1.1" -"@sphereon/ssi-types@0.17.1", "@sphereon/ssi-types@0.18.1", "@sphereon/ssi-types@0.18.2-unstable.35", "@sphereon/ssi-types@0.18.2-unstable.35+089ea379", "@sphereon/ssi-types@^0.18.1", "@sphereon/ssi-types@^0.9.0": - version "0.18.2-unstable.35" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.18.2-unstable.35.tgz#1e0953f982c716adf6c2af77f1946769d72f2880" - integrity sha512-aUdITv1N0l7PO4m5xgK9UHJ0u0BK5F5+JQb47HXRTc8x8INR6ADjYqHSw06DR6YwfpDCCcq/zY6Ga/vJYwwk8w== +"@sphereon/ssi-types@0.17.1", "@sphereon/ssi-types@0.18.1", "@sphereon/ssi-types@0.18.2-unstable.51", "@sphereon/ssi-types@0.18.2-unstable.51+a2d97f40", "@sphereon/ssi-types@^0.18.1", "@sphereon/ssi-types@^0.9.0": + version "0.18.2-unstable.51" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.18.2-unstable.51.tgz#cba054cc3078a018d4e01e5c5ce6e203e10f4246" + integrity sha512-fFYcqk/5OTlfiJyLCTdts0w6us19eSt1u7MupCkhWgLZkrjuT+C4WxmTUpdoFL1qDMqy1bWXdcMJ2Y1RuqJIAQ== dependencies: "@sd-jwt/decode" "^0.2.0" jwt-decode "^3.1.2" -"@sphereon/ui-components.core@0.1.3-unstable.88", "@sphereon/ui-components.core@0.1.3-unstable.88+92d8e95": - version "0.1.3-unstable.88" - resolved "https://registry.yarnpkg.com/@sphereon/ui-components.core/-/ui-components.core-0.1.3-unstable.88.tgz#20229591b830d3f0dd62c3e2a186adaa45a70904" - integrity sha512-6sMLA+bgTHauonM5tsJmnf99eQNuRILxgYsFEwlupicn/fZoVn5hzRlCMvY49LO7lgywH/NZ07s5c512x+Uo4w== +"@sphereon/ui-components.core@0.1.3-unstable.104", "@sphereon/ui-components.core@0.1.3-unstable.104+2de960b": + version "0.1.3-unstable.104" + resolved "https://registry.yarnpkg.com/@sphereon/ui-components.core/-/ui-components.core-0.1.3-unstable.104.tgz#75d7c67cc35d9452faa6293ef342d7ab32c89613" + integrity sha512-mmGBdzZFmPnaCxmjBOQWiUL3LBS7E4vxhek9lhVnnnM1guBz0U1/KFHdSpgJClkEAm4815YtNCHjfchZdubU/A== dependencies: i18n-js "^3.8.0" lodash.memoize "^4.1.2" styled-components "^5.3.3" -"@sphereon/ui-components.ssi-react-native@0.1.3-unstable.88": - version "0.1.3-unstable.88" - resolved "https://registry.yarnpkg.com/@sphereon/ui-components.ssi-react-native/-/ui-components.ssi-react-native-0.1.3-unstable.88.tgz#021d5e5e734597ef873ce5a35b08ef93fcd7b6aa" - integrity sha512-xZp5tiA2ADVVkdnx+VvZSrjZjyZhYhggDHeTYEH0G9QByOwjWX2FkD2LokVI0Js4izNPhQIuY8UyP4tR8VXp/Q== +"@sphereon/ui-components.ssi-react-native@0.1.3-unstable.104": + version "0.1.3-unstable.104" + resolved "https://registry.yarnpkg.com/@sphereon/ui-components.ssi-react-native/-/ui-components.ssi-react-native-0.1.3-unstable.104.tgz#8ac4e9ef0ea3469913cd22e98b12cbd46c23abaa" + integrity sha512-rJ8V/1/xxPI53XczDL6bgRC1/0/K4HFyitq5pQWXHXhzMae79hKMYSg0HBaiCwwTALTmCyt5gbGJcC/hFo2lYg== dependencies: "@react-native-community/blur" "^4.3.0" "@react-native-masked-view/masked-view" "^0.3.1" - "@sphereon/ui-components.core" "0.1.3-unstable.88+92d8e95" + "@sphereon/ui-components.core" "0.1.3-unstable.104+2de960b" expo-linear-gradient "~12.1.2" react-native-fast-image "^8.6.3" react-native-size-matters "^0.4.0" @@ -5157,7 +5163,7 @@ "@urql/core" ">=2.3.1" wonka "^4.0.14" -"@veramo-community/lds-ecdsa-secp256k1-recovery2020@uport-project/EcdsaSecp256k1RecoverySignature2020": +"@veramo-community/lds-ecdsa-secp256k1-recovery2020@github:uport-project/EcdsaSecp256k1RecoverySignature2020", "@veramo-community/lds-ecdsa-secp256k1-recovery2020@uport-project/EcdsaSecp256k1RecoverySignature2020": version "0.0.8" resolved "https://codeload.github.com/uport-project/EcdsaSecp256k1RecoverySignature2020/tar.gz/ab0db52de6f4e6663ef271a48009ba26e688ef9b" dependencies: @@ -7896,7 +7902,7 @@ dotenv-flow@^3.2.0: dependencies: dotenv "^8.6.0" -dotenv@^16.0.3, dotenv@^16.3.1: +dotenv@^16.0.3, dotenv@^16.3.1, dotenv@^16.4.1: version "16.4.4" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.4.tgz#a26e7bb95ebd36272ebb56edb80b826aecf224c1" integrity sha512-XvPXc8XAQThSjAbY6cQ/9PcBXmFoWuw1sQ3b8HqUCR6ziGXjkTi//kB9SWa2UwqlgdAIuRqAa/9hVljzPehbYg== @@ -13798,6 +13804,13 @@ react-native-codegen@^0.71.5: jscodeshift "^0.14.0" nullthrows "^1.1.1" +react-native-dotenv@^3.4.9: + version "3.4.10" + resolved "https://registry.yarnpkg.com/react-native-dotenv/-/react-native-dotenv-3.4.10.tgz#b7142f50fa72d1ad5b9ae8064d4e486b774b30f2" + integrity sha512-GADCAx3qJ9pjnRYMzQVliTnQto5W+38qoQyZGvo4snTv08cT/EQ7/2iyuwVPd/jms1rzVSra5QC/F+lbNWOAKQ== + dependencies: + dotenv "^16.4.1" + react-native-fast-image@^8.6.3: version "8.6.3" resolved "https://registry.yarnpkg.com/react-native-fast-image/-/react-native-fast-image-8.6.3.tgz#6edc3f9190092a909d636d93eecbcc54a8822255" From b52abefb3438021ac6d504165ff1f09c90d3fd63 Mon Sep 17 00:00:00 2001 From: "A.G.J. Cate" Date: Wed, 21 Feb 2024 14:50:12 +0100 Subject: [PATCH 08/10] feat: oid4vci-holder implementation --- package.json | 18 +- src/agent/index.ts | 32 +- src/machines/oid4vciMachine.tsx | 586 ------------------ .../machines/oid4vciStateNavigation.tsx | 47 +- .../machines/siopV2StateNavigation.tsx | 6 +- .../credential/OpenId4VcIssuanceProvider.ts | 5 +- .../machines/oid4vciMachineService.ts | 231 ------- src/services/qrService.ts | 245 +------- src/store/actions/credential.actions.ts | 42 ++ src/types/machines/bram/index.ts | 10 - src/types/machines/oid4vci/index.ts | 182 ------ src/types/navigation/index.ts | 2 +- .../openIdVcIssuanceProvider/index.ts | 2 + yarn.lock | 197 +++--- 14 files changed, 233 insertions(+), 1372 deletions(-) delete mode 100644 src/machines/oid4vciMachine.tsx delete mode 100644 src/services/machines/oid4vciMachineService.ts delete mode 100644 src/types/machines/bram/index.ts delete mode 100644 src/types/machines/oid4vci/index.ts diff --git a/package.json b/package.json index c9b8b532..80457368 100644 --- a/package.json +++ b/package.json @@ -55,15 +55,15 @@ "@sphereon/ssi-sdk-ext.did-utils": "0.16.1-next.2", "@sphereon/ssi-sdk-ext.key-manager": "0.16.1-next.2", "@sphereon/ssi-sdk-ext.kms-local": "0.16.1-next.2", - "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.51", - "@sphereon/ssi-sdk.core": "0.18.2-unstable.51", - "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.51", - "@sphereon/ssi-sdk.issuance-branding": "0.18.2-unstable.51", - "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.18.2-unstable.51", - "@sphereon/ssi-sdk.vc-handler-ld-local": "0.18.2-unstable.51", - "@sphereon/ssi-sdk.event-logger": "0.18.2-unstable.51", - "@sphereon/ssi-sdk.oid4vci-holder": "0.18.2-unstable.51", - "@sphereon/ssi-types": "0.18.2-unstable.51", + "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.56", + "@sphereon/ssi-sdk.core": "0.18.2-unstable.56", + "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.56", + "@sphereon/ssi-sdk.issuance-branding": "0.18.2-unstable.56", + "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.18.2-unstable.56", + "@sphereon/ssi-sdk.vc-handler-ld-local": "0.18.2-unstable.56", + "@sphereon/ssi-sdk.event-logger": "0.18.2-unstable.56", + "@sphereon/ssi-sdk.oid4vci-holder": "0.18.2-unstable.56", + "@sphereon/ssi-types": "0.18.2-unstable.56", "@sphereon/ui-components.core": "0.1.3-unstable.104", "@sphereon/ui-components.ssi-react-native": "0.1.3-unstable.104", "@transmute/lds-ecdsa-secp256k1-recovery2020": "^0.0.7", diff --git a/src/agent/index.ts b/src/agent/index.ts index ac651011..202f262b 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -5,7 +5,7 @@ import {getDidJwkResolver} from '@sphereon/ssi-sdk-ext.did-resolver-jwk'; import {SphereonKeyManager} from '@sphereon/ssi-sdk-ext.key-manager'; import {SphereonKeyManagementSystem} from '@sphereon/ssi-sdk-ext.kms-local'; import {ContactManager, IContactManager} from '@sphereon/ssi-sdk.contact-manager'; -import {ContactStore, IssuanceBrandingStore} from '@sphereon/ssi-sdk.data-store'; +import {ContactStore, ICredentialBranding, Identity, IssuanceBrandingStore} from '@sphereon/ssi-sdk.data-store'; import {IIssuanceBranding, IssuanceBranding} from '@sphereon/ssi-sdk.issuance-branding'; import {DidAuthSiopOpAuthenticator, IDidAuthSiopOpAuthenticator} from '@sphereon/ssi-sdk.siopv2-oid4vp-op-auth'; import { @@ -34,9 +34,24 @@ import {DID_PREFIX, DIF_UNIRESOLVER_RESOLVE_URL, SPHEREON_UNIRESOLVER_RESOLVE_UR import {LdContexts} from '../@config/credentials'; import {DB_CONNECTION_NAME, DB_ENCRYPTION_KEY} from '../@config/database'; import {getDbConnection} from '../services/databaseService'; -import {KeyManagementSystemEnum, SupportedDidMethodEnum} from '../types'; -import {GetCredentialsArgs, IOID4VCIHolder, OID4VCIHolder} from '@sphereon/ssi-sdk.oid4vci-holder'; +import {ICredentialSummary, KeyManagementSystemEnum, SupportedDidMethodEnum, ToastTypeEnum} from '../types'; +import { + GetCredentialsArgs, + IOID4VCIHolder, + OID4VCIHolder, + OnContactIdentityCreatedArgs, + OnCredentialStoredArgs, +} from '@sphereon/ssi-sdk.oid4vci-holder'; import OpenId4VcIssuanceProvider, {CredentialToAccept} from '../providers/credential/OpenId4VcIssuanceProvider'; +import {ADD_IDENTITY_SUCCESS} from '../types/store/contact.action.types'; +import store from '../store'; +import {CredentialMapper, OriginalVerifiableCredential} from '@sphereon/ssi-types'; +import {toCredentialSummary} from '../utils/mappers/credential/CredentialMapper'; +import {STORE_CREDENTIAL_SUCCESS} from '../types/store/credential.action.types'; +import {showToast} from '../utils'; +import {translate} from '../localization/Localization'; +import {addIdentity} from '../store/actions/contact.actions'; +import {dispatchVerifiableCredential} from '../store/actions/credential.actions'; export const didResolver = new Resolver({ ...getUniResolver(SupportedDidMethodEnum.DID_ETHR, { @@ -126,11 +141,14 @@ const agent = createAgent< keyStore: privateKeyStore, }), new OID4VCIHolder({ - //oid4vciProvider: new OpenId4VcIssuanceProvider(), onGetCredentials: new OpenId4VcIssuanceProvider().getCredentials, - //onGetCredentials: async (args: GetCredentialsArgs): Promise> => new OpenId4VcIssuanceProvider().getCredentials(args), - onCredentialStored: async (credential: VerifiableCredential): Promise => console.log('onCredentialStored'), - // TODO do we need a on contact created? + onContactIdentityCreated: async (args: OnContactIdentityCreatedArgs): Promise => { + store.dispatch({type: ADD_IDENTITY_SUCCESS, payload: args}); + }, + onCredentialStored: async (args: OnCredentialStoredArgs): Promise => { + const {credential, vcHash} = args; + store.dispatch(dispatchVerifiableCredential(vcHash, credential)); + }, }), ], }); diff --git a/src/machines/oid4vciMachine.tsx b/src/machines/oid4vciMachine.tsx deleted file mode 100644 index 348eae2c..00000000 --- a/src/machines/oid4vciMachine.tsx +++ /dev/null @@ -1,586 +0,0 @@ -import {AuthzFlowType, toAuthorizationResponsePayload} from '@sphereon/oid4vci-common'; -import {Identity, Party} from '@sphereon/ssi-sdk.data-store'; -import {assign, createMachine, DoneInvokeEvent, interpret} from 'xstate'; -import {translate} from '../localization/Localization'; -import {oid4vciStateNavigationListener} from '../navigation/machines/oid4vciStateNavigation'; -import OpenId4VcIssuanceProvider from '../providers/credential/OpenId4VcIssuanceProvider'; -import { - addContactIdentity, - assertValidCredentials, - createCredentialSelection, - initiateOpenId4VcIssuanceProvider, - retrieveContact, - retrieveCredentials, - storeCredentialBranding, - storeCredentials, -} from '../services/machines/oid4vciMachineService'; -import {ErrorDetails, ICredentialTypeSelection} from '../types'; -import { - AuthorizationResponseEvent, - ContactAliasEvent, - ContactConsentEvent, - CreateContactEvent, - CreateOID4VCIMachineOpts, - MappedCredentialToAccept, - OID4VCIMachineAddContactStates, - OID4VCIMachineContext, - OID4VCIMachineEvents, - OID4VCIMachineEventTypes, - OID4VCIMachineGuards, - OID4VCIMachineInstanceOpts, - OID4VCIMachineInterpreter, - OID4VCIMachineServices, - OID4VCIMachineState, - OID4VCIMachineStates, - OID4VCIMachineVerifyPinStates, - OID4VCIStateMachine, - SelectCredentialsEvent, - SetAuthorizationCodeURLEvent, - VerificationCodeEvent, -} from '../types/machines/oid4vci'; - -const oid4vciHasNoContactGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { - const {contact} = _ctx; - return contact === undefined; -}; - -const oid4vciHasContactGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { - const {contact} = _ctx; - return contact !== undefined; -}; - -const oid4vciSelectCredentialsGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { - const {credentialSelection} = _ctx; - return credentialSelection.length > 1; -}; - -const oid4vciRequirePinGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { - const {requestData} = _ctx; - return requestData?.credentialOffer?.userPinRequired === true; -}; - -const oid4vciHasNoContactIdentityGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { - const {contact, credentialsToAccept} = _ctx; - return !contact?.identities!.some((identity: Identity): boolean => identity.identifier.correlationId === credentialsToAccept[0].correlationId); -}; - -const oid4vciVerificationCodeGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { - const {verificationCode} = _ctx; - return verificationCode !== undefined && verificationCode.length > 0; -}; - -const oid4vciRequireAuthorizationGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { - console.log('oid4vciRequireAuthorizationGuard start'); - console.log(`has auth url: ${_ctx.openId4VcIssuanceProvider?.client.hasAuthorizationURL() === true}`); - if (!_ctx.openId4VcIssuanceProvider?.client.isFlowTypeSupported(AuthzFlowType.AUTHORIZATION_CODE_FLOW)) { - console.log('oid4vciRequireAuthorizationGuard end'); - return false; - } else if (!_ctx.openId4VcIssuanceProvider?.client.hasAuthorizationURL()) { - console.log('oid4vciRequireAuthorizationGuard end'); - return false; - } - // _ctx.authorizationCodeURL = _ctx?.openId4VcIssuanceProvider?.client.authorizationURL - console.log(`auth url client: ${_ctx?.openId4VcIssuanceProvider?.client.authorizationURL}`); - - console.log(`auth url context: ${_ctx.authorizationCodeURL}`); - - console.log(`has access token response: ${_ctx?.openId4VcIssuanceProvider?.client.hasAccessTokenResponse()}`); - console.log('oid4vciRequireAuthorizationGuard end'); - return _ctx.openId4VcIssuanceProvider?.client.hasAccessTokenResponse() === false; -}; -const oid4vciCreateContactGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { - const {contactAlias, hasContactConsent} = _ctx; - return hasContactConsent && contactAlias !== undefined && contactAlias.length > 0; -}; - -const oid4vciHasSelectedCredentialsGuard = (_ctx: OID4VCIMachineContext, _event: OID4VCIMachineEventTypes): boolean => { - const {selectedCredentials} = _ctx; - return selectedCredentials !== undefined && selectedCredentials.length > 0; -}; - -const createOID4VCIMachine = (opts?: CreateOID4VCIMachineOpts): OID4VCIStateMachine => { - const initialContext: OID4VCIMachineContext = { - // TODO WAL-671 we need to store the data from OpenIdProvider here in the context and make sure we can restart the machine with it and init the OpenIdProvider - requestData: opts?.requestData, - credentialSelection: [], - authorizationCodeURL: undefined, - selectedCredentials: [], - credentialsToAccept: [], - hasContactConsent: true, - contactAlias: '', - }; - - return createMachine({ - id: opts?.machineId ?? 'OID4VCI', - predictableActionArguments: true, - initial: OID4VCIMachineStates.initiateOID4VCIProvider, - schema: { - events: {} as OID4VCIMachineEventTypes, - guards: {} as - | {type: OID4VCIMachineGuards.hasNoContactGuard} - | {type: OID4VCIMachineGuards.selectCredentialGuard} - | {type: OID4VCIMachineGuards.requirePinGuard} - | {type: OID4VCIMachineGuards.requireAuthorizationGuard} - | {type: OID4VCIMachineGuards.hasNoContactIdentityGuard} - | {type: OID4VCIMachineGuards.verificationCodeGuard} - | {type: OID4VCIMachineGuards.hasContactGuard} - | {type: OID4VCIMachineGuards.createContactGuard} - | {type: OID4VCIMachineGuards.hasSelectedCredentialsGuard}, - services: {} as { - [OID4VCIMachineServices.initiate]: { - data: OpenId4VcIssuanceProvider; - }; - [OID4VCIMachineServices.createCredentialSelection]: { - data: Array; - }; - [OID4VCIMachineServices.retrieveContact]: { - data: Party | undefined; - }; - [OID4VCIMachineServices.retrieveCredentials]: { - data: Array | undefined; - }; - [OID4VCIMachineServices.addContactIdentity]: { - data: void; - }; - [OID4VCIMachineServices.assertValidCredentials]: { - data: void; - }; - [OID4VCIMachineServices.storeCredentialBranding]: { - data: void; - }; - [OID4VCIMachineServices.storeCredentials]: { - data: void; - }; - }, - }, - context: initialContext, - states: { - [OID4VCIMachineStates.initiateOID4VCIProvider]: { - id: OID4VCIMachineStates.initiateOID4VCIProvider, - invoke: { - src: OID4VCIMachineServices.initiate, - onDone: { - target: OID4VCIMachineStates.createCredentialSelection, - actions: assign({ - openId4VcIssuanceProvider: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent) => _event.data, - authorizationCodeURL: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent) => - _event.data.client.authorizationURL, - }), - }, - onError: { - target: OID4VCIMachineStates.handleError, - actions: assign({ - error: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent): ErrorDetails => ({ - title: translate('oid4vci_machine_initiation_error_title'), - message: _event.data.message, - }), - }), - }, - }, - }, - [OID4VCIMachineStates.createCredentialSelection]: { - id: OID4VCIMachineStates.createCredentialSelection, - invoke: { - src: OID4VCIMachineServices.createCredentialSelection, - onDone: { - target: OID4VCIMachineStates.retrieveContact, - actions: assign({ - credentialSelection: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent>) => _event.data, - }), - // TODO WAL-670 would be nice if we can have guard that checks if we have at least 1 item in the selection. not sure if this can occur but it would be more defensive. - // Still cannot find a nice way to do this inside of an invoke besides adding another transition state - }, - onError: { - target: OID4VCIMachineStates.handleError, - actions: assign({ - error: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent): ErrorDetails => ({ - title: translate('oid4vci_machine_credential_selection_error_title'), - message: _event.data.message, - }), - }), - }, - }, - }, - [OID4VCIMachineStates.retrieveContact]: { - id: OID4VCIMachineStates.retrieveContact, - invoke: { - src: OID4VCIMachineServices.retrieveContact, - onDone: { - target: OID4VCIMachineStates.transitionFromSetup, - actions: assign({contact: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent) => _event.data}), - }, - onError: { - target: OID4VCIMachineStates.handleError, - actions: assign({ - error: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent): ErrorDetails => ({ - title: translate('oid4vci_machine_retrieve_contact_error_title'), - message: _event.data.message, - }), - }), - }, - }, - }, - [OID4VCIMachineStates.transitionFromSetup]: { - id: OID4VCIMachineStates.transitionFromSetup, - always: [ - { - target: OID4VCIMachineStates.addContact, - cond: OID4VCIMachineGuards.hasNoContactGuard, - }, - { - target: OID4VCIMachineStates.selectCredentials, - cond: OID4VCIMachineGuards.selectCredentialGuard, - }, - { - target: OID4VCIMachineStates.verifyPin, - cond: OID4VCIMachineGuards.requirePinGuard, - }, - { - target: OID4VCIMachineStates.initiateAuthorizationRequest, - cond: OID4VCIMachineGuards.requireAuthorizationGuard, - }, - { - target: OID4VCIMachineStates.retrieveCredentials, - }, - ], - on: { - [OID4VCIMachineEvents.SET_AUTHORIZATION_CODE_URL]: { - actions: assign({authorizationCodeURL: (_ctx: OID4VCIMachineContext, _event: SetAuthorizationCodeURLEvent) => _event.data}), - }, - }, - }, - - [OID4VCIMachineStates.addContact]: { - id: OID4VCIMachineStates.addContact, - initial: OID4VCIMachineAddContactStates.idle, - on: { - [OID4VCIMachineEvents.SET_CONTACT_CONSENT]: { - actions: assign({hasContactConsent: (_ctx: OID4VCIMachineContext, _event: ContactConsentEvent) => _event.data}), - }, - [OID4VCIMachineEvents.SET_CONTACT_ALIAS]: { - actions: assign({contactAlias: (_ctx: OID4VCIMachineContext, _event: ContactAliasEvent) => _event.data}), - }, - [OID4VCIMachineEvents.CREATE_CONTACT]: { - target: `.${OID4VCIMachineAddContactStates.next}`, - actions: assign({contact: (_ctx: OID4VCIMachineContext, _event: CreateContactEvent) => _event.data}), - cond: OID4VCIMachineGuards.createContactGuard, - }, - [OID4VCIMachineEvents.DECLINE]: { - target: OID4VCIMachineStates.declined, - }, - [OID4VCIMachineEvents.PREVIOUS]: { - target: OID4VCIMachineStates.aborted, - }, - }, - states: { - [OID4VCIMachineAddContactStates.idle]: {}, - [OID4VCIMachineAddContactStates.next]: { - always: { - target: `#${OID4VCIMachineStates.transitionFromContactSetup}`, - cond: OID4VCIMachineGuards.hasContactGuard, - }, - }, - }, - }, - [OID4VCIMachineStates.transitionFromContactSetup]: { - id: OID4VCIMachineStates.transitionFromContactSetup, - always: [ - { - target: OID4VCIMachineStates.selectCredentials, - cond: OID4VCIMachineGuards.selectCredentialGuard, - }, - { - target: OID4VCIMachineStates.verifyPin, - cond: OID4VCIMachineGuards.requirePinGuard, - }, - { - target: OID4VCIMachineStates.retrieveCredentials, - }, - ], - }, - [OID4VCIMachineStates.selectCredentials]: { - id: OID4VCIMachineStates.selectCredentials, - on: { - [OID4VCIMachineEvents.SET_SELECTED_CREDENTIALS]: { - actions: assign({selectedCredentials: (_ctx: OID4VCIMachineContext, _event: SelectCredentialsEvent) => _event.data}), - }, - [OID4VCIMachineEvents.NEXT]: { - target: OID4VCIMachineStates.transitionFromSelectingCredentials, - cond: OID4VCIMachineGuards.hasSelectedCredentialsGuard, - }, - [OID4VCIMachineEvents.PREVIOUS]: { - target: OID4VCIMachineStates.aborted, - }, - }, - }, - [OID4VCIMachineStates.transitionFromSelectingCredentials]: { - id: OID4VCIMachineStates.transitionFromSelectingCredentials, - always: [ - { - target: OID4VCIMachineStates.verifyPin, - cond: OID4VCIMachineGuards.requirePinGuard, - }, - { - target: OID4VCIMachineStates.retrieveCredentials, - }, - ], - }, - [OID4VCIMachineStates.initiateAuthorizationRequest]: { - id: OID4VCIMachineStates.initiateAuthorizationRequest, - - on: { - [OID4VCIMachineEvents.PREVIOUS]: { - target: OID4VCIMachineStates.selectCredentials, - }, - [OID4VCIMachineEvents.INVOKED_AUTHORIZATION_CODE_REQUEST]: { - target: OID4VCIMachineStates.waitForAuthorizationResponse, - }, - }, - }, - [OID4VCIMachineStates.waitForAuthorizationResponse]: { - id: OID4VCIMachineStates.waitForAuthorizationResponse, - on: { - [OID4VCIMachineEvents.PREVIOUS]: { - target: OID4VCIMachineStates.initiateAuthorizationRequest, - }, - [OID4VCIMachineEvents.PROVIDE_AUTHORIZATION_CODE_RESPONSE]: { - target: OID4VCIMachineStates.transitionFromSelectingCredentials, - actions: assign({ - authorizationCodeResponse: (_ctx: OID4VCIMachineContext, _event: AuthorizationResponseEvent) => - toAuthorizationResponsePayload(_event.data), - }), - }, - }, - }, - [OID4VCIMachineStates.verifyPin]: { - id: OID4VCIMachineStates.verifyPin, - initial: OID4VCIMachineVerifyPinStates.idle, - on: { - [OID4VCIMachineEvents.SET_VERIFICATION_CODE]: { - target: `.${OID4VCIMachineVerifyPinStates.next}`, - actions: assign({verificationCode: (_ctx: OID4VCIMachineContext, _event: VerificationCodeEvent) => _event.data}), - }, - [OID4VCIMachineEvents.PREVIOUS]: [ - { - target: OID4VCIMachineStates.selectCredentials, - cond: OID4VCIMachineGuards.selectCredentialGuard, - }, - { - target: OID4VCIMachineStates.aborted, - }, - ], - }, - states: { - [OID4VCIMachineVerifyPinStates.idle]: {}, - [OID4VCIMachineVerifyPinStates.next]: { - always: { - target: `#${OID4VCIMachineStates.retrieveCredentials}`, - cond: OID4VCIMachineGuards.verificationCodeGuard, - }, - }, - }, - }, - [OID4VCIMachineStates.retrieveCredentials]: { - id: OID4VCIMachineStates.retrieveCredentials, - invoke: { - src: OID4VCIMachineServices.retrieveCredentials, - onDone: { - target: OID4VCIMachineStates.verifyCredentials, - actions: assign({ - credentialsToAccept: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent>) => _event.data, - }), - }, - onError: { - target: OID4VCIMachineStates.handleError, - actions: assign({ - error: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent): ErrorDetails => ({ - title: translate('oid4vci_machine_retrieve_credentials_error_title'), - message: _event.data.message, - }), - }), - }, - }, - exit: assign({verificationCode: undefined}), - }, - [OID4VCIMachineStates.verifyCredentials]: { - id: OID4VCIMachineStates.verifyCredentials, - invoke: { - src: OID4VCIMachineServices.assertValidCredentials, - onDone: { - target: OID4VCIMachineStates.transitionFromWalletInput, - }, - onError: { - target: OID4VCIMachineStates.handleError, - actions: assign({ - error: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent): ErrorDetails => ({ - title: translate('oid4vci_machine_verify_credentials_error_title'), - message: _event.data.message, - }), - }), - }, - }, - }, - [OID4VCIMachineStates.transitionFromWalletInput]: { - id: OID4VCIMachineStates.transitionFromWalletInput, - always: [ - { - target: OID4VCIMachineStates.addContactIdentity, - cond: OID4VCIMachineGuards.hasNoContactIdentityGuard, - }, - { - target: OID4VCIMachineStates.reviewCredentials, - }, - ], - }, - [OID4VCIMachineStates.addContactIdentity]: { - id: OID4VCIMachineStates.addContactIdentity, - invoke: { - src: OID4VCIMachineServices.addContactIdentity, - onDone: { - target: OID4VCIMachineStates.reviewCredentials, - actions: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent): void => { - _ctx.contact?.identities.push(_event.data); - }, - }, - onError: { - target: OID4VCIMachineStates.handleError, - actions: assign({ - error: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent): ErrorDetails => ({ - title: translate('oid4vci_machine_add_contact_identity_error_title'), - message: _event.data.message, - }), - }), - }, - }, - }, - [OID4VCIMachineStates.reviewCredentials]: { - id: OID4VCIMachineStates.reviewCredentials, - on: { - [OID4VCIMachineEvents.NEXT]: { - target: OID4VCIMachineStates.storeCredentialBranding, - }, - [OID4VCIMachineEvents.DECLINE]: { - target: OID4VCIMachineStates.declined, - }, - [OID4VCIMachineEvents.PREVIOUS]: { - target: OID4VCIMachineStates.aborted, - }, - }, - }, - [OID4VCIMachineStates.storeCredentialBranding]: { - id: OID4VCIMachineStates.storeCredentialBranding, - invoke: { - src: OID4VCIMachineServices.storeCredentialBranding, - onDone: { - target: OID4VCIMachineStates.storeCredentials, - }, - onError: { - target: OID4VCIMachineStates.handleError, - actions: assign({ - error: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent): ErrorDetails => ({ - title: translate('oid4vci_machine_store_credential_branding_error_title'), - message: _event.data.message, - }), - }), - }, - }, - }, - [OID4VCIMachineStates.storeCredentials]: { - id: OID4VCIMachineStates.storeCredentials, - invoke: { - src: OID4VCIMachineServices.storeCredentials, - onDone: { - target: OID4VCIMachineStates.done, - }, - onError: { - target: OID4VCIMachineStates.handleError, - actions: assign({ - error: (_ctx: OID4VCIMachineContext, _event: DoneInvokeEvent): ErrorDetails => ({ - title: translate('oid4vci_machine_store_credential_error_title'), - message: _event.data.message, - }), - }), - }, - }, - }, - [OID4VCIMachineStates.handleError]: { - id: OID4VCIMachineStates.handleError, - on: { - [OID4VCIMachineEvents.NEXT]: { - target: OID4VCIMachineStates.error, - }, - [OID4VCIMachineEvents.PREVIOUS]: { - target: OID4VCIMachineStates.error, - }, - }, - }, - [OID4VCIMachineStates.aborted]: { - id: OID4VCIMachineStates.aborted, - type: 'final', - }, - [OID4VCIMachineStates.declined]: { - id: OID4VCIMachineStates.declined, - type: 'final', - }, - [OID4VCIMachineStates.error]: { - id: OID4VCIMachineStates.error, - type: 'final', - }, - [OID4VCIMachineStates.done]: { - id: OID4VCIMachineStates.done, - type: 'final', - }, - }, - }); -}; - -export class OID4VCIMachine { - static newInstance(opts?: OID4VCIMachineInstanceOpts): OID4VCIMachineInterpreter { - const instance: OID4VCIMachineInterpreter = interpret( - createOID4VCIMachine(opts).withConfig({ - services: { - [OID4VCIMachineServices.initiate]: initiateOpenId4VcIssuanceProvider, - [OID4VCIMachineServices.createCredentialSelection]: createCredentialSelection, - [OID4VCIMachineServices.retrieveContact]: retrieveContact, - [OID4VCIMachineServices.retrieveCredentials]: retrieveCredentials, - [OID4VCIMachineServices.addContactIdentity]: addContactIdentity, - // [OID4VCIMachineServices.invokeAuthorizationRequest]: invokeAuthorizationRequest, - [OID4VCIMachineServices.assertValidCredentials]: assertValidCredentials, - [OID4VCIMachineServices.storeCredentialBranding]: storeCredentialBranding, - [OID4VCIMachineServices.storeCredentials]: storeCredentials, - ...opts?.services, - }, - guards: { - oid4vciHasNoContactGuard, - oid4vciSelectCredentialsGuard, - oid4vciRequirePinGuard, - oid4vciHasNoContactIdentityGuard, - oid4vciVerificationCodeGuard, - oid4vciRequireAuthorizationGuard, - oid4vciHasContactGuard, - oid4vciCreateContactGuard, - oid4vciHasSelectedCredentialsGuard, - ...opts?.guards, - }, - }), - ); - - if (typeof opts?.subscription === 'function') { - instance.onTransition(opts.subscription); - } - if (opts?.requireCustomNavigationHook !== true) { - instance.onTransition(snapshot => { - void oid4vciStateNavigationListener(instance, snapshot); - }); - } - - instance.subscribe( - state => console.log('==sub=> ' + state.value), - error => console.error('===sub==========' + error), - () => console.log('==sub=========completed'), - ); - instance.onTransition(state => console.log('==trans=> ' + state.value)); - - return instance; - } -} diff --git a/src/navigation/machines/oid4vciStateNavigation.tsx b/src/navigation/machines/oid4vciStateNavigation.tsx index c43f084b..46e9dce8 100644 --- a/src/navigation/machines/oid4vciStateNavigation.tsx +++ b/src/navigation/machines/oid4vciStateNavigation.tsx @@ -1,4 +1,4 @@ -import {getIssuerName, getSupportedCredential} from '@sphereon/oid4vci-common'; +import {getIssuerName} from '@sphereon/oid4vci-common'; import React, {Context, createContext} from 'react'; import {Linking} from 'react-native'; import {URL} from 'react-native-url-polyfill'; @@ -14,22 +14,6 @@ import { Party, PartyTypeEnum, } from '@sphereon/ssi-sdk.data-store'; -import OpenId4VcIssuanceProvider from '../../providers/credential/OpenId4VcIssuanceProvider'; -import {toNonPersistedCredentialSummary} from '../../utils/mappers/credential/CredentialMapper'; -import {translate} from '../../localization/Localization'; -import RootNavigation from './../rootNavigation'; -import {APP_ID} from '../../@config/constants'; -import { - // CreateContactEvent, - OID4VCIContext as OID4VCIContextType, - // OID4VCIMachineEvents, - // OID4VCIMachineInterpreter, - - // OID4VCIMachineState, - // OID4VCIMachineStates, - OID4VCIProviderProps, -} from '../../types/machines/oid4vci'; -import {MainRoutesEnum, NavigationBarRoutesEnum, PopupImagesEnum, ScreenRoutesEnum} from '../../types'; import { CreateContactEvent, OID4VCIMachineEvents, @@ -37,7 +21,14 @@ import { OID4VCIMachineNavigationArgs, OID4VCIMachineState, OID4VCIMachineStates, -} from '@sphereon/ssi-sdk.oid4vci-holder/dist/types/IOID4VCIHolder'; + OID4VCIProviderProps, + OID4VCIContext as OID4VCIContextType, +} from '@sphereon/ssi-sdk.oid4vci-holder'; +import {toNonPersistedCredentialSummary} from '../../utils/mappers/credential/CredentialMapper'; +import {translate} from '../../localization/Localization'; +import RootNavigation from './../rootNavigation'; +import {APP_ID} from '../../@config/constants'; +import {MainRoutesEnum, NavigationBarRoutesEnum, PopupImagesEnum, ScreenRoutesEnum} from '../../types'; const debug: Debugger = Debug(`${APP_ID}:oid4vciStateNavigation`); @@ -57,13 +48,9 @@ const navigateAddContact = async (args: OID4VCIMachineNavigationArgs): Promise): Promise => { - const provider = state.context.openId4VcIssuanceProvider; - if (!provider) { - throw Error(`No provider present in context`); - } oid4vciMachine.send({ type: OID4VCIMachineEvents.SET_SELECTED_CREDENTIALS, data: selectedCredentials, @@ -328,12 +311,12 @@ export const oid4vciStateNavigationListener = async ( } if ( - state.matches(OID4VCIMachineStates.initiateOID4VCIProvider) || + state.matches(OID4VCIMachineStates.initiateOID4VCI) || state.matches(OID4VCIMachineStates.createCredentialSelection) || - state.matches(OID4VCIMachineStates.retrieveContact) || + state.matches(OID4VCIMachineStates.getContact) || state.matches(OID4VCIMachineStates.transitionFromSetup) || state.matches(OID4VCIMachineStates.transitionFromWalletInput) || - state.matches(OID4VCIMachineStates.retrieveCredentials) || + state.matches(OID4VCIMachineStates.getCredentials) || state.matches(OID4VCIMachineStates.waitForAuthorizationResponse) ) { return navigateLoading({oid4vciMachine, state, navigation: nav, onNext, onBack}); diff --git a/src/navigation/machines/siopV2StateNavigation.tsx b/src/navigation/machines/siopV2StateNavigation.tsx index 8f219376..4c76dd76 100644 --- a/src/navigation/machines/siopV2StateNavigation.tsx +++ b/src/navigation/machines/siopV2StateNavigation.tsx @@ -5,6 +5,7 @@ import {translate} from '../../localization/Localization'; import RootNavigation from './../rootNavigation'; import {APP_ID} from '../../@config/constants'; import { + CreateContactEvent, SiopV2Context as SiopV2ContextType, SiopV2MachineEvents, SiopV2MachineInterpreter, @@ -14,8 +15,7 @@ import { SiopV2ProviderProps, } from '../../types/machines/siopV2'; import {MainRoutesEnum, NavigationBarRoutesEnum, PopupImagesEnum, ScreenRoutesEnum} from '../../types'; -import {CreateContactEvent, OID4VCIMachineEvents} from '../../types/machines/oid4vci'; -import {ConnectionTypeEnum, CorrelationIdentifierEnum, NonPersistedParty, Party, IdentityRoleEnum, PartyTypeEnum} from '@sphereon/ssi-sdk.data-store'; +import {ConnectionTypeEnum, CorrelationIdentifierEnum, IdentityRoleEnum, NonPersistedParty, Party, PartyTypeEnum} from '@sphereon/ssi-sdk.data-store'; import {SimpleEventsOf} from 'xstate'; import {PresentationDefinitionWithLocation} from '@sphereon/did-auth-siop'; import {OriginalVerifiableCredential} from '@sphereon/ssi-types'; @@ -124,7 +124,7 @@ const navigateAddContact = async (args: SiopV2MachineNavigationArgs): Promise { - return siopV2Machine.getSnapshot()?.can(OID4VCIMachineEvents.CREATE_CONTACT as SimpleEventsOf) !== true; + return siopV2Machine.getSnapshot()?.can(SiopV2MachineEvents.CREATE_CONTACT as SimpleEventsOf) !== true; }; navigation.navigate(MainRoutesEnum.SIOPV2, { diff --git a/src/providers/credential/OpenId4VcIssuanceProvider.ts b/src/providers/credential/OpenId4VcIssuanceProvider.ts index 7cfc8ebb..428826b7 100644 --- a/src/providers/credential/OpenId4VcIssuanceProvider.ts +++ b/src/providers/credential/OpenId4VcIssuanceProvider.ts @@ -1,6 +1,5 @@ import {OpenID4VCIClient} from '@sphereon/oid4vci-client'; import { - AccessTokenResponse, AuthorizationResponse, CredentialOfferFormat, CredentialOfferFormatJwtVcJson, @@ -19,7 +18,6 @@ import {CredentialOfferFormatJwtVcJsonLdAndLdpVc} from '@sphereon/oid4vci-common import {KeyUse} from '@sphereon/ssi-sdk-ext.did-resolver-jwk'; import {getFirstKeyWithRelation} from '@sphereon/ssi-sdk-ext.did-utils'; import {IBasicCredentialLocaleBranding} from '@sphereon/ssi-sdk.data-store'; -import {GetCredentialsArgs} from '@sphereon/ssi-sdk.oid4vci-holder'; import {IIdentifier} from '@veramo/core'; import {_ExtendedIKey} from '@veramo/utils'; import Debug, {Debugger} from 'debug'; @@ -33,6 +31,7 @@ import {getOrCreatePrimaryIdentifier} from '../../services/identityService'; import {signJWT} from '../../services/signatureService'; import { ErrorDetails, + IGetCredentialsArgs, IGetIssuanceInitiationFromUriArgs, IIssuanceOpts, IServerMetadataAndCryptoMatchingResponse, @@ -224,7 +223,7 @@ class OpenId4VcIssuanceProvider { return provider; }; - public getCredentials = async (args: GetCredentialsArgs): Promise> => { + public getCredentials = async (args: IGetCredentialsArgs): Promise> => { console.log('CALLING: getCredentials'); const {pin, credentials, openID4VCIClientState} = args; diff --git a/src/services/machines/oid4vciMachineService.ts b/src/services/machines/oid4vciMachineService.ts deleted file mode 100644 index b2799cac..00000000 --- a/src/services/machines/oid4vciMachineService.ts +++ /dev/null @@ -1,231 +0,0 @@ -import {CredentialResponse, CredentialSupported} from '@sphereon/oid4vci-common'; -import { - CorrelationIdentifierEnum, - IBasicCredentialLocaleBranding, - Identity, - IdentityRoleEnum, - NonPersistedIdentity, - Party, -} from '@sphereon/ssi-sdk.data-store'; -import { - CredentialMapper, - IVerifiableCredential, - OriginalVerifiableCredential, - W3CVerifiableCredential, - WrappedVerifiableCredential, -} from '@sphereon/ssi-types'; -import {VerifiableCredential} from '@veramo/core'; -import {computeEntryHash} from '@veramo/utils'; -import {URL} from 'react-native-url-polyfill'; -import {v4 as uuidv4} from 'uuid'; -import {translate} from '../../localization/Localization'; -import OpenId4VcIssuanceProvider, {CredentialToAccept} from '../../providers/credential/OpenId4VcIssuanceProvider'; -import store from '../../store'; -import {addIdentity} from '../../store/actions/contact.actions'; -import {storeVerifiableCredential} from '../../store/actions/credential.actions'; -import {ICredentialTypeSelection, IVerificationResult} from '../../types/'; -import {MappedCredentialToAccept, OID4VCIMachineContext} from '../../types/machines/oid4vci'; -import {addCredentialBranding, selectAppLocaleBranding} from '../brandingService'; -import {getContacts} from '../contactService'; -import {verifyCredential} from '../credentialService'; -import openId4VcIssuanceProvider from '../../providers/credential/OpenId4VcIssuanceProvider'; - -export const initiateOpenId4VcIssuanceProvider = async (context: Pick): Promise => { - const {requestData} = context; - - if (requestData?.uri === undefined) { - return Promise.reject(Error('Missing request uri in context')); - } - - return OpenId4VcIssuanceProvider.initiationFromUri({uri: requestData.uri}); -}; - -export const createCredentialSelection = async ( - context: Pick, -): Promise> => { - const {selectedCredentials, authorizationCodeResponse} = context; - - if (!openId4VcIssuanceProvider) { - return Promise.reject(Error('Missing OpenId4VcIssuanceProvider in context')); - } - if (!openId4VcIssuanceProvider.credentialsSupported) { - return Promise.reject(Error('OID4VCI issuance provider has no supported credentials')); - } - const credentialSelection: Array = await Promise.all( - openId4VcIssuanceProvider.credentialsSupported.map(async (credentialMetadata: CredentialSupported): Promise => { - if (!('types' in credentialMetadata)) { - throw Error('SD-JWT not supported yet'); - } - // FIXME this allows for duplicate VerifiableCredential, which the user has no idea which ones those are and we also have a branding map with unique keys, so some branding will not match - const credentialType: string = - credentialMetadata.types.find((type: string): boolean => type !== 'VerifiableCredential') ?? 'VerifiableCredential'; - const credentialAlias = - (await selectAppLocaleBranding({localeBranding: openId4VcIssuanceProvider?.credentialBranding?.get(credentialType)}))?.alias ?? - credentialType; - return { - id: uuidv4(), - credentialType, - credentialAlias, - isSelected: false, - }; - }), - ); - - // TODO find better place to do this, would be nice if the machine does this? - if (credentialSelection.length === 1) { - selectedCredentials.push(credentialSelection[0].credentialType); - } - - /* if (!openId4VcIssuanceProvider.client.clientId) { - openId4VcIssuanceProvider.client.clientId = openId4VcIssuanceProvider.credentialsSupported[0] - }*/ - - return credentialSelection; -}; - -export const retrieveContact = async (context: Pick): Promise => { - const {openId4VcIssuanceProvider} = context; - - if (!openId4VcIssuanceProvider) { - return Promise.reject(Error('Missing OID4VCI issuance provider in context')); - } - - if (!openId4VcIssuanceProvider.serverMetadata) { - return Promise.reject(Error('OID4VCI issuance provider has no server metadata')); - } - - const correlationId: string = new URL(openId4VcIssuanceProvider.serverMetadata.issuer).hostname; - return getContacts({ - filter: [ - { - identities: { - identifier: { - correlationId, - }, - }, - }, - ], - }).then((contacts: Array): Party | undefined => (contacts.length === 1 ? contacts[0] : undefined)); -}; - -export const retrieveCredentials = async ( - context: Pick, -): Promise | undefined> => { - const {openId4VcIssuanceProvider, verificationCode, selectedCredentials, authorizationCodeResponse} = context; - if (!openId4VcIssuanceProvider) { - throw Error('Missing OID4VCI issuance provider in context'); - } - openId4VcIssuanceProvider.authorizationCodeResponse = authorizationCodeResponse; - return openId4VcIssuanceProvider - ?.getCredentials({ - credentials: selectedCredentials, - pin: verificationCode, - }) - .then( - (credentials: Array): Array => - credentials.map((credential: CredentialToAccept): MappedCredentialToAccept => { - const credentialResponse: CredentialResponse = credential.credentialResponse; - const verifiableCredential: W3CVerifiableCredential | undefined = credentialResponse.credential; - const wrappedVerifiableCredential: WrappedVerifiableCredential = CredentialMapper.toWrappedVerifiableCredential( - verifiableCredential as OriginalVerifiableCredential, - ); - if (wrappedVerifiableCredential?.credential?.compactSdJwtVc) { - throw Error('SD-JWT not supported yet'); - } - const uniformVerifiableCredential: IVerifiableCredential = wrappedVerifiableCredential.credential; - const rawVerifiableCredential: VerifiableCredential = credentialResponse.credential as unknown as VerifiableCredential; - - const correlationId: string = - typeof uniformVerifiableCredential.issuer === 'string' ? uniformVerifiableCredential.issuer : uniformVerifiableCredential.issuer.id; - - return { - correlationId, - credential: credential, - rawVerifiableCredential, - uniformVerifiableCredential, - }; - }), - ); -}; - -export const addContactIdentity = async (context: Pick): Promise => { - const {credentialsToAccept, contact} = context; - - if (!contact) { - return Promise.reject(Error('Missing contact in context')); - } - - if (credentialsToAccept === undefined || credentialsToAccept.length === 0) { - return Promise.reject(Error('Missing credential offers in context')); - } - - const correlationId: string = credentialsToAccept[0].correlationId; - const identity: NonPersistedIdentity = { - alias: correlationId, - roles: [IdentityRoleEnum.ISSUER], - identifier: { - type: CorrelationIdentifierEnum.DID, - correlationId, - }, - }; - return store.dispatch(addIdentity({contactId: contact.id, identity})); -}; - -export const assertValidCredentials = async (context: Pick): Promise => { - const {credentialsToAccept} = context; - - await Promise.all( - credentialsToAccept.map(async (offer: MappedCredentialToAccept): Promise => { - const credential = offer.credential.credentialResponse.credential as OriginalVerifiableCredential; - const wrappedVC = CredentialMapper.toWrappedVerifiableCredential(credential); - if (wrappedVC.decoded.iss?.includes('did:ebsi:') || wrappedVC.decoded.vc?.issuer?.includes('did:ebsi:')) { - if (JSON.stringify(wrappedVC.decoded).includes('vc:ebsi:conformance')) { - console.log(`Skipping VC validation for EBSI conformance issued credential, as their Issuer is not present in the ledger (sigh)`); - return; - } - } - - const verificationResult: IVerificationResult = await verifyCredential({ - credential: credential as VerifiableCredential, - // TODO WAL-675 we might want to allow these types of options as part of the context, now we have state machines. Allows us to pre-determine whether these policies apply and whether remote context should be fetched - fetchRemoteContexts: true, - policies: { - credentialStatus: false, - expirationDate: false, - issuanceDate: false, - }, - }); - - if (!verificationResult.result || verificationResult.error) { - console.log('Verification of credential failed', JSON.stringify(verificationResult)); - return Promise.reject(Error(verificationResult.result ? verificationResult.error : translate('credential_verification_failed_message'))); - } - }), - ); -}; - -export const storeCredentialBranding = async ( - context: Pick, -): Promise => { - const {openId4VcIssuanceProvider, selectedCredentials, credentialsToAccept} = context; - - if (!openId4VcIssuanceProvider?.serverMetadata) { - return Promise.reject(Error('OID4VCI issuance provider has no server metadata')); - } - - const localeBranding: Array | undefined = openId4VcIssuanceProvider?.credentialBranding?.get( - selectedCredentials[0], - ); - if (localeBranding && localeBranding.length > 0) { - await addCredentialBranding({ - vcHash: computeEntryHash(credentialsToAccept[0].rawVerifiableCredential), - issuerCorrelationId: new URL(openId4VcIssuanceProvider.serverMetadata.issuer).hostname, - localeBranding, - }); - } -}; - -export const storeCredentials = async (context: Pick): Promise => { - const {credentialsToAccept} = context; - store.dispatch(storeVerifiableCredential(credentialsToAccept[0].rawVerifiableCredential)); -}; diff --git a/src/services/qrService.ts b/src/services/qrService.ts index 257a8214..6f03ed24 100644 --- a/src/services/qrService.ts +++ b/src/services/qrService.ts @@ -23,11 +23,11 @@ import { ScreenRoutesEnum, ToastTypeEnum, } from '../types'; -import {OID4VCIMachineInterpreter} from '../types/machines/oid4vci'; import {SiopV2MachineInterpreter} from '../types/machines/siopV2'; import {showToast} from '../utils'; import {authenticate} from './authenticationService'; import {getOrCreatePrimaryIdentifier} from './identityService'; +import {OID4VCIMachineEvents, OID4VCIMachineInterpreter} from '@sphereon/ssi-sdk.oid4vci-holder'; const debug: Debugger = Debug(`${APP_ID}:qrService`); @@ -171,237 +171,22 @@ const connectJwtVcPresentationProfile = async (args: IQrDataArgs): Promise // TODO WAL-301 need to send a response when we do not need a pin code }; -export let OID4VCIInstance: OID4VCIMachineInterpreter | undefined; +export let oid4vciInstance: OID4VCIMachineInterpreter | undefined; export let SiopV2Instance: SiopV2MachineInterpreter | undefined; const connectOID4VCI = async (args: IQrDataArgs): Promise => { - // console.log(`args.qrData`, JSON.stringify(args.qrData)); - - await oid4vciHolderGetMachineInterpreter({ - requestData: args.qrData, - navigation: oid4vciStateNavigationListener, - }); - - //const xx: OpenID4VCIClientState = {} - - // const xx = { - // "credentialIssuer":"https://launchpad.vii.electron.mattrlabs.io", - // "credentialOffer":{ - // "scheme":"openid-credential-offer", - // "baseUrl":"openid-credential-offer://", - // "credential_offer":{ - // "credential_issuer":"https://launchpad.vii.electron.mattrlabs.io", - // "credentials":[ - // { - // "format":"ldp_vc", - // "types":[ - // "OpenBadgeCredential" - // ] - // } - // ], - // "grants":{ - // "urn:ietf:params:oauth:grant-type:pre-authorized_code":{ - // "pre-authorized_code":"jQ-m14HCViS2AkbZjr9ut8SpbzHNlwE0gkyXuSCnUrp" - // } - // } - // }, - // "original_credential_offer":{ - // "credential_issuer":"https://launchpad.vii.electron.mattrlabs.io", - // "credentials":[ - // { - // "format":"ldp_vc", - // "types":[ - // "OpenBadgeCredential" - // ] - // } - // ], - // "grants":{ - // "urn:ietf:params:oauth:grant-type:pre-authorized_code":{ - // "pre-authorized_code":"jQ-m14HCViS2AkbZjr9ut8SpbzHNlwE0gkyXuSCnUrp" - // } - // } - // }, - // "supportedFlows":[ - // "Pre-Authorized Code Flow" - // ], - // "version":1011, - // "preAuthorizedCode":"jQ-m14HCViS2AkbZjr9ut8SpbzHNlwE0gkyXuSCnUrp", - // "userPinRequired":false - // }, - // "endpointMetadata":{ - // "issuer":"https://launchpad.vii.electron.mattrlabs.io", - // "token_endpoint":"https://launchpad.vii.electron.mattrlabs.io/oidc/v1/auth/token", - // "credential_endpoint":"https://launchpad.vii.electron.mattrlabs.io/oidc/v1/auth/credential", - // "authorization_server":"https://launchpad.vii.electron.mattrlabs.io", - // "authorization_endpoint":"https://launchpad.vii.electron.mattrlabs.io/oidc/v1/auth/authorize", - // "authorizationServerType":"OID4VCI", - // "credentialIssuerMetadata":{ - // "issuer":"https://launchpad.vii.electron.mattrlabs.io", - // "authorization_endpoint":"https://launchpad.vii.electron.mattrlabs.io/oidc/v1/auth/authorize", - // "token_endpoint":"https://launchpad.vii.electron.mattrlabs.io/oidc/v1/auth/token", - // "jwks_uri":"https://launchpad.vii.electron.mattrlabs.io/oidc/v1/auth/jwks", - // "token_endpoint_auth_methods_supported":[ - // "none", - // "client_secret_basic", - // "client_secret_jwt", - // "client_secret_post", - // "private_key_jwt" - // ], - // "code_challenge_methods_supported":[ - // "S256" - // ], - // "grant_types_supported":[ - // "authorization_code", - // "urn:ietf:params:oauth:grant-type:pre-authorized_code" - // ], - // "response_modes_supported":[ - // "form_post", - // "fragment", - // "query" - // ], - // "response_types_supported":[ - // "code id_token", - // "code", - // "id_token", - // "none" - // ], - // "scopes_supported":[ - // "OpenBadgeCredential", - // "Passport" - // ], - // "token_endpoint_auth_signing_alg_values_supported":[ - // "HS256", - // "RS256", - // "PS256", - // "ES256", - // "EdDSA" - // ], - // "credential_endpoint":"https://launchpad.vii.electron.mattrlabs.io/oidc/v1/auth/credential", - // "credentials_supported":[ - // { - // "id":"d2662472-891c-413d-b3c6-e2f0109001c5", - // "format":"ldp_vc", - // "types":[ - // "VerifiableCredential", - // "OpenBadgeCredential" - // ], - // "cryptographic_binding_methods_supported":[ - // "did:key" - // ], - // "cryptographic_suites_supported":[ - // "Ed25519Signature2018" - // ], - // "display":[ - // { - // "name":"Example University Degree", - // "description":"JFF Plugfest 3 OpenBadge Credential", - // "background_color":"#464c49", - // "logo":{ - // - // } - // } - // ] - // }, - // { - // "id":"b4c4cdf5-ccc9-4945-8c19-9334558653b2", - // "format":"ldp_vc", - // "types":[ - // "VerifiableCredential", - // "Passport" - // ], - // "cryptographic_binding_methods_supported":[ - // "did:key" - // ], - // "cryptographic_suites_supported":[ - // "Ed25519Signature2018" - // ], - // "display":[ - // { - // "name":"Passport", - // "description":"Passport of the Kingdom of Kākāpō", - // "background_color":"#171717", - // "logo":{ - // "url":"https://static.mattr.global/credential-assets/government-of-kakapo/web/logo.svg" - // } - // } - // ] - // }, - // { - // "id":"613ecbbb-0a4c-4041-bb78-c64943139d5f", - // "format":"jwt_vc_json", - // "types":[ - // "VerifiableCredential", - // "OpenBadgeCredential" - // ], - // "cryptographic_binding_methods_supported":[ - // "did:key" - // ], - // "cryptographic_suites_supported":[ - // "EdDSA" - // ], - // "display":[ - // { - // "name":"Example University Degree", - // "description":"JFF Plugfest 3 OpenBadge Credential", - // "background_color":"#464c49", - // "logo":{ - // - // } - // } - // ] - // }, - // { - // "id":"c3db5513-ae2b-46e9-8a0d-fbfd0ce52b6a", - // "format":"jwt_vc_json", - // "types":[ - // "VerifiableCredential", - // "Passport" - // ], - // "cryptographic_binding_methods_supported":[ - // "did:key" - // ], - // "cryptographic_suites_supported":[ - // "EdDSA" - // ], - // "display":[ - // { - // "name":"Passport", - // "description":"Passport of the Kingdom of Kākāpō", - // "background_color":"#171717", - // "logo":{ - // "url":"https://static.mattr.global/credential-assets/government-of-kakapo/web/logo.svg" - // } - // } - // ] - // } - // ] - // } - // }, - // "authorizationRequestOpts":{ - // - // }, - // "pkce":{ - // "disabled":false, - // "codeChallengeMethod":"S256" - // } - // } - // const yy = JSON.stringify({a: 'a'}) - // // @ts-ignore - // const openID4VCIClient= await OpenID4VCIClient.fromState(yy) - - // const openID4VCIClient= await OpenID4VCIClient.fromURI({ - // uri: args.qrData.uri, - // //authorizationRequest: {redirectUri: `${DefaultURISchemes.CREDENTIAL_OFFER}://`}, - // }) - // console.log('CLIENT CREATED') - // await openID4VCIClient.exportState() - - // if (args.qrData.code && args.qrData.uri) { - // OID4VCIInstance?.send(OID4VCIMachineEvents.PROVIDE_AUTHORIZATION_CODE_RESPONSE, {data: args.qrData.uri}); - // return; - // } else { - // OID4VCIInstance = OID4VCIMachine.newInstance({requestData: args.qrData}); - // OID4VCIInstance.start(); - // } + if (args.qrData.code && args.qrData.uri) { + oid4vciInstance?.send(OID4VCIMachineEvents.PROVIDE_AUTHORIZATION_CODE_RESPONSE, {data: args.qrData.uri}); + } else { + oid4vciInstance = await oid4vciHolderGetMachineInterpreter({ + requestData: { + credentialOffer: args.qrData.credentialOffer, + uri: args.qrData.uri, + ...args.qrData, + }, + stateNavigationListener: oid4vciStateNavigationListener, + }); + oid4vciInstance.start(); + } }; const connectSiopV2 = async (args: IQrDataArgs): Promise => { diff --git a/src/store/actions/credential.actions.ts b/src/store/actions/credential.actions.ts index 268d150e..70d1cc55 100644 --- a/src/store/actions/credential.actions.ts +++ b/src/store/actions/credential.actions.ts @@ -72,6 +72,48 @@ export const storeVerifiableCredential = (vc: VerifiableCredential): ThunkAction }; }; +export const dispatchVerifiableCredential = ( + credentialHash: string, + vc: VerifiableCredential, +): ThunkAction, RootState, unknown, Action> => { + return async (dispatch: ThunkDispatch): Promise => { + dispatch({type: CREDENTIALS_LOADING}); + const mappedVc: VerifiableCredential = CredentialMapper.toUniformCredential(vc as OriginalVerifiableCredential) as VerifiableCredential; + ibGetCredentialBranding({filter: [{vcHash: credentialHash}]}) + .then((credentialBranding: Array) => + toCredentialSummary({verifiableCredential: mappedVc, hash: credentialHash}, credentialBranding?.[0]?.localeBranding), + ) + .then((summary: ICredentialSummary): void => { + dispatch({ + type: STORE_CREDENTIAL_SUCCESS, + payload: summary, + }); + showToast(ToastTypeEnum.TOAST_SUCCESS, { + message: translate('credential_offer_accepted_toast'), + showBadge: false, + }); + }) + .catch(() => dispatch({type: STORE_CREDENTIAL_FAILED})); + + // storeCredential({vc: mappedVc}) + // .then(async (hash: string): Promise => { + // const credentialBranding: Array = await ibGetCredentialBranding({filter: [{vcHash: hash}]}); + // return toCredentialSummary({verifiableCredential: mappedVc, hash}, credentialBranding?.[0]?.localeBranding); + // }) + // .then((summary: ICredentialSummary): void => { + // dispatch({ + // type: STORE_CREDENTIAL_SUCCESS, + // payload: summary, + // }); + // showToast(ToastTypeEnum.TOAST_SUCCESS, { + // message: translate('credential_offer_accepted_toast'), + // showBadge: false, + // }); + // }) + // .catch(() => dispatch({type: STORE_CREDENTIAL_FAILED})); + }; +}; + export const deleteVerifiableCredential = (credentialHash: string): ThunkAction, RootState, unknown, Action> => { return async (dispatch: ThunkDispatch): Promise => { dispatch({type: CREDENTIALS_LOADING}); diff --git a/src/types/machines/bram/index.ts b/src/types/machines/bram/index.ts deleted file mode 100644 index c36d605b..00000000 --- a/src/types/machines/bram/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -import {NativeStackNavigationProp} from '@react-navigation/native-stack'; -import {OID4VCIMachineInterpreter, OID4VCIMachineState} from '../oid4vci'; - -export type OID4VCIMachineNavigationArgs = { - oid4vciMachine: OID4VCIMachineInterpreter; - state: OID4VCIMachineState; - navigation: NativeStackNavigationProp; - onNext?: () => void; - onBack?: () => void; -}; diff --git a/src/types/machines/oid4vci/index.ts b/src/types/machines/oid4vci/index.ts deleted file mode 100644 index 36520190..00000000 --- a/src/types/machines/oid4vci/index.ts +++ /dev/null @@ -1,182 +0,0 @@ -import {AuthorizationResponse} from '@sphereon/oid4vci-common'; -import {ReactNode} from 'react'; -import {BaseActionObject, Interpreter, ResolveTypegenMeta, ServiceMap, State, StateMachine, TypegenDisabled} from 'xstate'; -import {VerifiableCredential} from '@veramo/core'; -import {Party} from '@sphereon/ssi-sdk.data-store'; -import {IVerifiableCredential} from '@sphereon/ssi-types'; -import OpenId4VcIssuanceProvider, {CredentialToAccept} from '../../../providers/credential/OpenId4VcIssuanceProvider'; -import {ErrorDetails} from '../../error'; -import {NativeStackNavigationProp} from '@react-navigation/native-stack'; -import {IQrData} from '../../qr'; -import {ICredentialTypeSelection} from '../../credential'; - -export type MappedCredentialToAccept = { - correlationId: string; - credential: CredentialToAccept; - transactionId?: string; - uniformVerifiableCredential?: IVerifiableCredential; - rawVerifiableCredential?: VerifiableCredential; -}; - -export type OID4VCIMachineContext = { - requestData?: IQrData; // TODO WAL-673 fix type as this is not always a qr code (deeplink) - credentialSelection: Array; - contactAlias: string; - contact?: Party; - selectedCredentials: Array; - credentialsToAccept: Array; - authorizationCodeURL?: string; - authorizationCodeResponse?: AuthorizationResponse; - // TODO WAL-672 refactor to not store verificationCode in the context - verificationCode?: string; - hasContactConsent: boolean; - error?: ErrorDetails; - openId4VcIssuanceProvider?: OpenId4VcIssuanceProvider; -}; - -export enum OID4VCIMachineStates { - initiateOID4VCIProvider = 'initiateOID4VCIProvider', - createCredentialSelection = 'createCredentialSelection', - retrieveContact = 'retrieveContact', - transitionFromSetup = 'transitionFromSetup', - addContact = 'addContact', - transitionFromContactSetup = 'transitionFromContactSetup', - selectCredentials = 'selectCredentials', - transitionFromSelectingCredentials = 'transitionFromSelectingCredentials', - verifyPin = 'verifyPin', - initiateAuthorizationRequest = 'initiateAuthorizationRequest', - waitForAuthorizationResponse = 'waitForAuthorizationResponse', - retrieveCredentials = 'retrieveCredentials', - transitionFromWalletInput = 'transitionFromWalletInput', - addContactIdentity = 'addContactIdentity', - reviewCredentials = 'reviewCredentials', - verifyCredentials = 'verifyCredentials', - storeCredentialBranding = 'storeCredentialBranding', - storeCredentials = 'storeCredentials', - handleError = 'handleError', - aborted = 'aborted', - declined = 'declined', - error = 'error', - done = 'done', -} - -export enum OID4VCIMachineAddContactStates { - idle = 'idle', - next = 'next', -} - -export enum OID4VCIMachineVerifyPinStates { - idle = 'idle', - next = 'next', -} - -export type OID4VCIMachineInterpreter = Interpreter< - OID4VCIMachineContext, - any, - OID4VCIMachineEventTypes, - {value: any; context: OID4VCIMachineContext}, - any ->; - -export type OID4VCIMachineState = State; - -export type OID4VCIStateMachine = StateMachine< - OID4VCIMachineContext, - any, - OID4VCIMachineEventTypes, - {value: any; context: OID4VCIMachineContext}, - BaseActionObject, - ServiceMap, - ResolveTypegenMeta ->; - -export type CreateOID4VCIMachineOpts = { - requestData: IQrData; - machineId?: string; -}; - -export type OID4VCIMachineInstanceOpts = { - services?: any; - guards?: any; - subscription?: () => void; - requireCustomNavigationHook?: boolean; -} & CreateOID4VCIMachineOpts; - -export type OID4VCIProviderProps = { - children?: ReactNode; - customOID4VCIInstance?: OID4VCIMachineInterpreter; -}; - -export type OID4VCIContext = { - oid4vciInstance?: OID4VCIMachineInterpreter; -}; - -export type OID4VCIMachineNavigationArgs2 = { - oid4vciMachine: OID4VCIMachineInterpreter; - state: OID4VCIMachineState; - navigation: NativeStackNavigationProp; - onNext?: () => void; - onBack?: () => void; -}; - -export enum OID4VCIMachineEvents { - NEXT = 'NEXT', - PREVIOUS = 'PREVIOUS', - DECLINE = 'DECLINE', - CREATE_CONTACT = 'CREATE_CONTACT', - SET_VERIFICATION_CODE = 'SET_VERIFICATION_CODE', - SET_CONTACT_ALIAS = 'SET_CONTACT_ALIAS', - SET_CONTACT_CONSENT = 'SET_CONTACT_CONSENT', - SET_SELECTED_CREDENTIALS = 'SET_SELECTED_CREDENTIALS', - SET_AUTHORIZATION_CODE_URL = 'SET_AUTHORIZATION_CODE_URL', - INVOKED_AUTHORIZATION_CODE_REQUEST = 'INVOKED_AUTHORIZATION_CODE_REQUEST', - PROVIDE_AUTHORIZATION_CODE_RESPONSE = 'PROVIDE_AUTHORIZATION_CODE_RESPONSE', -} - -export enum OID4VCIMachineGuards { - hasContactGuard = 'oid4vciHasContactGuard', - hasNoContactGuard = 'oid4vciHasNoContactGuard', - selectCredentialGuard = 'oid4vciSelectCredentialsGuard', - requirePinGuard = 'oid4vciRequirePinGuard', - hasNoContactIdentityGuard = 'oid4vciHasNoContactIdentityGuard', - requireAuthorizationGuard = 'oid4vciRequireAuthorizationGuard', - verificationCodeGuard = 'oid4vciVerificationCodeGuard', - createContactGuard = 'oid4vciCreateContactGuard', - hasSelectedCredentialsGuard = 'oid4vciHasSelectedCredentialsGuard', -} - -export enum OID4VCIMachineServices { - initiate = 'initiate', - retrieveContact = 'retrieveContact', - addContactIdentity = 'addContactIdentity', - createCredentialSelection = 'createCredentialSelection', - // invokeAuthorizationRequest = 'invokeAuthorizationRequest', - retrieveCredentials = 'retrieveCredentials', - assertValidCredentials = 'assertValidCredentials', - storeCredentialBranding = 'storeCredentialBranding', - storeCredentials = 'storeCredentials', -} - -export type NextEvent = {type: OID4VCIMachineEvents.NEXT}; -export type PreviousEvent = {type: OID4VCIMachineEvents.PREVIOUS}; -export type DeclineEvent = {type: OID4VCIMachineEvents.DECLINE}; -export type CreateContactEvent = {type: OID4VCIMachineEvents.CREATE_CONTACT; data: Party}; -export type SelectCredentialsEvent = {type: OID4VCIMachineEvents.SET_SELECTED_CREDENTIALS; data: Array}; -export type VerificationCodeEvent = {type: OID4VCIMachineEvents.SET_VERIFICATION_CODE; data: string}; -export type ContactConsentEvent = {type: OID4VCIMachineEvents.SET_CONTACT_CONSENT; data: boolean}; -export type ContactAliasEvent = {type: OID4VCIMachineEvents.SET_CONTACT_ALIAS; data: string}; -export type SetAuthorizationCodeURLEvent = {type: OID4VCIMachineEvents.SET_AUTHORIZATION_CODE_URL; data: string}; -export type InvokeAuthorizationRequestEvent = {type: OID4VCIMachineEvents.INVOKED_AUTHORIZATION_CODE_REQUEST; data: string}; -export type AuthorizationResponseEvent = {type: OID4VCIMachineEvents.PROVIDE_AUTHORIZATION_CODE_RESPONSE; data: string | AuthorizationResponse}; -export type OID4VCIMachineEventTypes = - | SetAuthorizationCodeURLEvent - | NextEvent - | PreviousEvent - | DeclineEvent - | CreateContactEvent - | SelectCredentialsEvent - | VerificationCodeEvent - | InvokeAuthorizationRequestEvent - | AuthorizationResponseEvent - | ContactConsentEvent - | ContactAliasEvent; diff --git a/src/types/navigation/index.ts b/src/types/navigation/index.ts index 78097be6..29d2a394 100644 --- a/src/types/navigation/index.ts +++ b/src/types/navigation/index.ts @@ -5,8 +5,8 @@ import {VerifiableCredential} from '@veramo/core'; import {OnboardingMachineContext, OnboardingPersonalData, OnboardingMachineInterpreter} from '../machines/onboarding'; import {ICredentialSelection, ICredentialSummary, ICredentialTypeSelection} from '../credential'; import {IButton, PopupBadgesEnum, PopupImagesEnum} from '../component'; -import {OID4VCIMachineInterpreter} from '../machines/oid4vci'; import {SiopV2MachineInterpreter} from '../machines/siopV2'; +import {OID4VCIMachineInterpreter} from '@sphereon/ssi-sdk.oid4vci-holder'; export type StackParamList = { CredentialsOverview: Record; diff --git a/src/types/provider/openIdVcIssuanceProvider/index.ts b/src/types/provider/openIdVcIssuanceProvider/index.ts index 7423b67d..5390be9e 100644 --- a/src/types/provider/openIdVcIssuanceProvider/index.ts +++ b/src/types/provider/openIdVcIssuanceProvider/index.ts @@ -4,6 +4,7 @@ import {Identifier} from '@veramo/data-store'; import {SupportedDidMethodEnum} from '../../did'; import {IBasicCredentialLocaleBranding} from '@sphereon/ssi-sdk.data-store'; +import {OpenID4VCIClientState} from '@sphereon/oid4vci-client'; export interface IGetIssuanceInitiationFromUriArgs { uri: string; @@ -17,6 +18,7 @@ export interface IGetCredentialArgs { export interface IGetCredentialsArgs { pin?: string; credentials?: Array; + openID4VCIClientState: OpenID4VCIClientState; } export type IIssuanceOpts = CredentialSupported & { diff --git a/yarn.lock b/yarn.lock index d398ed1e..f7fb26b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3486,7 +3486,7 @@ str2buf "^1.3.0" webcrypto-shim "^0.1.7" -"@sphereon/oid4vci-client@0.8.2-next.88": +"@sphereon/oid4vci-client@0.8.2-next.88", "@sphereon/oid4vci-client@0.9.1-next.2": version "0.8.2-next.88" resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-client/-/oid4vci-client-0.8.2-next.88.tgz#ce811aedc2fec6f6ce1f9efd051c676c2401abcb" integrity sha512-MoIbeLSJdjNyZ7XsiNBStAse8PCkg/5+um/xagWovfD2qE9C0vk/h9W30vLck06MHet0/YVZ9QvFgWxWaN5/+Q== @@ -3496,7 +3496,7 @@ cross-fetch "^3.1.8" debug "^4.3.4" -"@sphereon/oid4vci-common@0.8.2-next.88", "@sphereon/oid4vci-common@0.8.2-next.88+78abccf": +"@sphereon/oid4vci-common@0.8.2-next.88", "@sphereon/oid4vci-common@0.8.2-next.88+78abccf", "@sphereon/oid4vci-common@0.9.1-next.2": version "0.8.2-next.88" resolved "https://registry.yarnpkg.com/@sphereon/oid4vci-common/-/oid4vci-common-0.8.2-next.88.tgz#696ee7bb4e8c8df5e6340439e2253272b1c4f3b6" integrity sha512-paEEjZZt3DnF0UXIVvS1tev+Rkpl00i2FPVdqG33fAc2/tStk0fhtDAF/YLTxpmyespNoWs3CDw0bJmYtx560w== @@ -3534,10 +3534,10 @@ resolved "https://registry.yarnpkg.com/@sphereon/react-native-argon2/-/react-native-argon2-2.0.9.tgz#88d68d079a65ecc01501718c35a30f0a58558d21" integrity sha512-mXcp3meaKbv5TpEPxItZ1ZuRqkdNf8vjx3EM+GqNVQ8QQF9pbD3jw6wQfuFRPc+8kN+m9GEiVVbd9I0m50OPBg== -"@sphereon/ssi-express-support@0.18.2-unstable.51+a2d97f40": - version "0.18.2-unstable.51" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-express-support/-/ssi-express-support-0.18.2-unstable.51.tgz#cc8df7ae9db2db12fd921b8120a0a618f5d22796" - integrity sha512-puc+DJo1j8FxlXylbO2tO4P6iuZ4zUI1KDVW9qx8X00ohUG3il0hvIX24DfefpAXGfKmmqmPemchNBCbAJxGzA== +"@sphereon/ssi-express-support@0.18.2-unstable.56+1f1ef4ed": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-express-support/-/ssi-express-support-0.18.2-unstable.56.tgz#0b9995a035db408275cf9329da9b370bf2e0290a" + integrity sha512-iTTsP0wrh4rFWsBEUjQcNIRqwuQaXHBs2NAtUmMx9VWq89LC6P472krcUROFf+wGADTX+GJeXOiBTSDJKSPeZA== dependencies: body-parser "^1.20.2" casbin "^5.26.1" @@ -3725,10 +3725,10 @@ elliptic "^6.5.4" uint8arrays "3.1.1" -"@sphereon/ssi-sdk.agent-config@0.18.2-unstable.51+a2d97f40": - version "0.18.2-unstable.51" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.agent-config/-/ssi-sdk.agent-config-0.18.2-unstable.51.tgz#d163645a7ef69b30aec0e58b258f022a15b9421d" - integrity sha512-jAmx/O29oDIXYqpX/0RTJqJP4mR85FI+vbF2dzhCFNSp+/rBLOvEy+tqxaLWFjGYgL1WQluhDm4DML0zRFBlHQ== +"@sphereon/ssi-sdk.agent-config@0.18.2-unstable.56+1f1ef4ed": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.agent-config/-/ssi-sdk.agent-config-0.18.2-unstable.56.tgz#f9403d025a5a467f8cd4bb13e6cdf861e79bc442" + integrity sha512-i8yHJxMVBA1REqD8lCzx3/3JwsrExRCgmYRbb1vMOuvaDTmfugUyJKsOCP4L4blkAMo4/h0/+0WzgR7mShA3oA== dependencies: "@veramo/core" "4.2.0" debug "^4.3.4" @@ -3737,7 +3737,7 @@ url-parse "^1.5.10" yaml "^2.2.2" -"@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.51", "@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.51+a2d97f40": +"@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.51", "@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.56+1f1ef4ed": version "0.18.2-unstable.51" resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.contact-manager/-/ssi-sdk.contact-manager-0.18.2-unstable.51.tgz#f319cb1f05a9ac898c2eb9935c217aa8e4b74c4f" integrity sha512-L709TLcLqe7+PuCsUth7tScGqw67DbslJ9B9UkVFyAkmB8D8H1eDY0heQ+AIvpHb0QrXaq8Kmws92Q7C5XPaiA== @@ -3746,7 +3746,16 @@ cross-fetch "^3.1.8" typeorm "^0.3.12" -"@sphereon/ssi-sdk.core@0.17.1", "@sphereon/ssi-sdk.core@0.18.2-unstable.51", "@sphereon/ssi-sdk.core@0.18.2-unstable.51+a2d97f40": +"@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.56": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.contact-manager/-/ssi-sdk.contact-manager-0.18.2-unstable.56.tgz#c23f3b8b152838361b7f4d581d449b5e2dcedd19" + integrity sha512-DldC2cLrocLetUxBDUoJ4bVoq5+VY8dzVSIJxTW3oZI7rvndge6rhswU4lOtSZF+uj08Kb8zVxaSw+hn9Ajl0A== + dependencies: + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.56+1f1ef4ed" + cross-fetch "^3.1.8" + typeorm "^0.3.12" + +"@sphereon/ssi-sdk.core@0.17.1", "@sphereon/ssi-sdk.core@0.18.2-unstable.51", "@sphereon/ssi-sdk.core@0.18.2-unstable.51+a2d97f40", "@sphereon/ssi-sdk.core@0.18.2-unstable.56+1f1ef4ed": version "0.18.2-unstable.51" resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.core/-/ssi-sdk.core-0.18.2-unstable.51.tgz#c04f917720fc526ca22f7bbd8fa98d3a889140e7" integrity sha512-TP34hRW5eVn1HoQP59WMMiULoBenNs9bfAR7SZ8nE65I2wtL4nSkChoQwlwsLbuhFrkubjlZmxCUWUngHACmVA== @@ -3758,7 +3767,19 @@ image-size "1.0.2" uint8arrays "3.1.1" -"@sphereon/ssi-sdk.data-store@0.18.2-unstable.51", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.51+a2d97f40": +"@sphereon/ssi-sdk.core@0.18.2-unstable.56": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.core/-/ssi-sdk.core-0.18.2-unstable.56.tgz#93456a36389e089e6157fcab6225122b4ce3aade" + integrity sha512-IPU0M8hczTNsoIwTK7xgwAYT9mUy0Vu4YVPO1+Fawusai29gCZ1GS7Ro6ouwO12KTmcQRD/LUk94urQWq1/L5Q== + dependencies: + "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" + "@veramo/core" "4.2.0" + cross-fetch "^3.1.8" + debug "^4.3.4" + image-size "1.0.2" + uint8arrays "3.1.1" + +"@sphereon/ssi-sdk.data-store@0.18.2-unstable.51", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.51+a2d97f40", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.56+1f1ef4ed": version "0.18.2-unstable.51" resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.data-store/-/ssi-sdk.data-store-0.18.2-unstable.51.tgz#427fe7b1e059ec6ebf8de7e1598fd06a47f19eca" integrity sha512-kjlRFpq9QPO+5dXxMmbEFjHQvIXPRVww9fTmOy1vWiWzsAvzOiktV+9O4x6WcQ6rn5lcTAS3O5PoKpvw16EIdw== @@ -3770,28 +3791,40 @@ debug "^4.3.4" typeorm "^0.3.12" -"@sphereon/ssi-sdk.event-logger@0.18.2-unstable.51": - version "0.18.2-unstable.51" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.event-logger/-/ssi-sdk.event-logger-0.18.2-unstable.51.tgz#e7d2bb884c12abe1705ab540a4e5841c7ef68f7b" - integrity sha512-4a2Ko0gvMx8RNN2TMNStg8qzEbzxeB2k10aIoFjSBqAC/LMpNknYhLyd7tEWkW8RquYRCBSvol1YNGe3j3BSzA== +"@sphereon/ssi-sdk.data-store@0.18.2-unstable.56": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.data-store/-/ssi-sdk.data-store-0.18.2-unstable.56.tgz#1996214c0eccdf984a440eb67c451ec6906df535" + integrity sha512-lSZ5LQRLYF3qihoi9HvgjU2lyA9UlXEPP/NW8VMytW5ZnwZ7LZPDXNM71DkwzWoi13eJnclyskSBCL+28Rfg6Q== dependencies: - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" + "@veramo/core" "4.2.0" + class-validator "^0.14.0" + debug "^4.3.4" + typeorm "^0.3.12" + +"@sphereon/ssi-sdk.event-logger@0.18.2-unstable.56": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.event-logger/-/ssi-sdk.event-logger-0.18.2-unstable.56.tgz#4ff06a394dd91947eec675d89fe20b6b779ffa1b" + integrity sha512-2ydhD2ecH5XqvWshrYrL0hCTWKUmqZDL0V6GRKLzYLh+vDbptgRmTMaNOv+rq88OUV37xJeCas4oezCIKK0p1A== + dependencies: + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.56+1f1ef4ed" uuid "^8.3.2" -"@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.51", "@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.51+a2d97f40": - version "0.18.2-unstable.51" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.issuance-branding/-/ssi-sdk.issuance-branding-0.18.2-unstable.51.tgz#bba765d967c056d488f16865bd87e72804b0e11e" - integrity sha512-8ExxmvRWU9f8c//pIegKxRY1eEbKKncqDujSDWdFz6AlRT37lFtzj4F0jp65TMbkPaLsLl5EW1Y5EwWJQ2gOzA== +"@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.56", "@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.56+1f1ef4ed": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.issuance-branding/-/ssi-sdk.issuance-branding-0.18.2-unstable.56.tgz#1f86cdd94ef77aac69404b04ade48fc827001323" + integrity sha512-3ukn4GxErY6RtewjBbclf0ziLzd267Z68aD/wvT+8K2T3nUjudbj62Cj5JJzd1oylH+BPSaVTZGiXUSuN+ce7g== dependencies: - "@sphereon/ssi-sdk.core" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.56+1f1ef4ed" debug "^4.3.4" typeorm "^0.3.12" -"@sphereon/ssi-sdk.kv-store-temp@0.18.2-unstable.51+a2d97f40": - version "0.18.2-unstable.51" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.kv-store-temp/-/ssi-sdk.kv-store-temp-0.18.2-unstable.51.tgz#43b04e3eb2277c9f40928d6e49c4a2d9b7768277" - integrity sha512-lMYWCnU2NAN635vC7UqketqKFpxMi61G9pn3PWiv2Hy3NCDkt6yyhGboy9aat68dX0jaWxqPleCT031gJs2Npg== +"@sphereon/ssi-sdk.kv-store-temp@0.18.2-unstable.56+1f1ef4ed": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.kv-store-temp/-/ssi-sdk.kv-store-temp-0.18.2-unstable.56.tgz#ca48434f3fab7c0ef57688277dac12156210e7b6" + integrity sha512-2hIBf4WruhmjjUk3LqietrbVVjfpdG2Q5NrjHgHJha08iaA0SOVFUDKhVsspbLbIgw9D2cM/UB4PIo7I+R+9SA== dependencies: "@veramo/utils" "4.2.0" debug "^4.3.4" @@ -3800,17 +3833,17 @@ typeorm "^0.3.12" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk.oid4vci-holder@0.18.2-unstable.51": - version "0.18.2-unstable.51" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.oid4vci-holder/-/ssi-sdk.oid4vci-holder-0.18.2-unstable.51.tgz#7ed4a3fe34280605a454140b53c42f0b4c251dd3" - integrity sha512-t1cOTitdh9NDSUrbEPdNm0MBWUna3E/GA8qRJoAJRWHNwF4EJPbH/n8lFQFuZOJLbCL41HPCP2IADxpCtGA6BQ== - dependencies: - "@sphereon/oid4vci-client" "0.8.2-next.88" - "@sphereon/oid4vci-common" "0.8.2-next.88" - "@sphereon/ssi-sdk.contact-manager" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-sdk.issuance-branding" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-types" "0.18.2-unstable.51+a2d97f40" +"@sphereon/ssi-sdk.oid4vci-holder@0.18.2-unstable.56": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.oid4vci-holder/-/ssi-sdk.oid4vci-holder-0.18.2-unstable.56.tgz#b7a9ef734d2e236f326d6513ae70d9f56c8b8a45" + integrity sha512-La0kR5sxT5q4MLEVZx0L1Fhw0bOODu4FY3xwH3uGEL5aI/tAn11c7YxHkJ3zh6meQEagat5PIqiHHfrCUsIz6g== + dependencies: + "@sphereon/oid4vci-client" "0.9.1-next.2" + "@sphereon/oid4vci-common" "0.9.1-next.2" + "@sphereon/ssi-sdk.contact-manager" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.issuance-branding" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" "@veramo/core" "4.2.0" "@veramo/data-store" "4.2.0" "@veramo/utils" "4.2.0" @@ -3819,30 +3852,30 @@ uuid "^9.0.1" xstate "^4.38.3" -"@sphereon/ssi-sdk.presentation-exchange@0.18.2-unstable.51+a2d97f40": - version "0.18.2-unstable.51" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.presentation-exchange/-/ssi-sdk.presentation-exchange-0.18.2-unstable.51.tgz#5dcd47d53fd2b3592309b1a3f95d1deba857956b" - integrity sha512-2u1eFEiYQHevM2vHTSfMyzLiDNzZiZ/fI+C4OhNkt56cU7tzKx8yvMCdYHw9371Ntndrpw+xtbikdtaUjsbMbw== +"@sphereon/ssi-sdk.presentation-exchange@0.18.2-unstable.56+1f1ef4ed": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.presentation-exchange/-/ssi-sdk.presentation-exchange-0.18.2-unstable.56.tgz#c870a70de865fb96fe3ae70020c2ef04bf839e35" + integrity sha512-aqJGe6yUtwFx8mS1VY1HCyooLdYXLRdZir8Dncke6qIZrHmoC+wCqHX5xdAf6s0SEv98+F3Y/4ueWP68LB4iGA== dependencies: "@sphereon/pex" "^3.2.0" "@sphereon/pex-models" "^2.2.0" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-sdk.kv-store-temp" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-types" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.kv-store-temp" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" "@veramo/core" "4.2.0" -"@sphereon/ssi-sdk.siopv2-oid4vp-op-auth@0.18.2-unstable.51": - version "0.18.2-unstable.51" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.siopv2-oid4vp-op-auth/-/ssi-sdk.siopv2-oid4vp-op-auth-0.18.2-unstable.51.tgz#1521dcec988486d4e4535a9713d53bc8815e1cb0" - integrity sha512-ZVYxn6BSX/Eg2d0G7I8AVUL3x7Ij2SmTJQY5dwBcPWZXTnvf9Ue7dr1WoCVZr2yo84+af6S6NmK4Dimg4Q/NFg== +"@sphereon/ssi-sdk.siopv2-oid4vp-op-auth@0.18.2-unstable.56": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.siopv2-oid4vp-op-auth/-/ssi-sdk.siopv2-oid4vp-op-auth-0.18.2-unstable.56.tgz#cd0b360bc1f6074753681fd48ca0844c497480a4" + integrity sha512-dUhWJd4PWo2isQzKSD2wUHTHOpLwnc0X6Ir02SLFtcOV/rFUGJ1n1PQkt6ag03gYUmD1VxAothX1lpD+yPluHA== dependencies: "@sphereon/did-auth-siop" "0.6.0-unstable.9" "@sphereon/pex" "^3.2.0" "@sphereon/pex-models" "2.2.0" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-sdk.core" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-sdk.presentation-exchange" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-types" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.presentation-exchange" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" "@sphereon/wellknown-dids-client" "^0.1.3" "@veramo/core" "4.2.0" "@veramo/credential-w3c" "4.2.0" @@ -3850,10 +3883,10 @@ did-jwt-vc "3.1.3" uuid "^9.0.1" -"@sphereon/ssi-sdk.vc-handler-ld-local@0.18.2-unstable.51": - version "0.18.2-unstable.51" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-handler-ld-local/-/ssi-sdk.vc-handler-ld-local-0.18.2-unstable.51.tgz#dc368a5ace2d60eb1bd732973786e354d3347768" - integrity sha512-CMQqf4ZV23M3f8EGPL5iaF1fUTRPndGBaPn3GPED/4/1U6XRQXUXIEjFM8Nti5S+t79yKIkvw7ZukjkRDnDdcQ== +"@sphereon/ssi-sdk.vc-handler-ld-local@0.18.2-unstable.56": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-handler-ld-local/-/ssi-sdk.vc-handler-ld-local-0.18.2-unstable.56.tgz#f2439385d413b5718c16dd815b17bd5c2addf12c" + integrity sha512-Wncx3LYhEH64uCXvPGq/cANjRj8OUG0jYtiodfanmP19+jQX+WOE0GdsYwb4xW+L9mX6R01vp99jxNF+3E+Vyw== dependencies: "@digitalcredentials/ed25519-signature-2020" "~3.0.2" "@digitalcredentials/ed25519-verification-key-2020" "^4.0.0" @@ -3867,12 +3900,12 @@ "@sphereon/isomorphic-webcrypto" "^2.4.0-unstable.4" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" "@sphereon/ssi-sdk-ext.key-utils" "0.15.0" - "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-sdk.core" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-sdk.vc-status-list-issuer-drivers" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-types" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.vc-status-list-issuer-drivers" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" "@transmute/credentials-context" "^0.7.0-unstable.81" "@transmute/ed25519-key-pair" "0.7.0-unstable.81" "@transmute/ed25519-signature-2018" "^0.7.0-unstable.81" @@ -3896,31 +3929,31 @@ jsonld "^4.0.1" jsonld-signatures "^7.0.0" -"@sphereon/ssi-sdk.vc-status-list-issuer-drivers@0.18.2-unstable.51+a2d97f40": - version "0.18.2-unstable.51" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list-issuer-drivers/-/ssi-sdk.vc-status-list-issuer-drivers-0.18.2-unstable.51.tgz#cc045ed47c614cbef33191ec8e089636eac0f390" - integrity sha512-62Cd/QYmXKkGip1IPWRL3HEx5pLP9Qxz6hts77SCMFMjNpuHGkiS7SbZV0posIex5PxBMxpSRb775HLgz+QAfw== +"@sphereon/ssi-sdk.vc-status-list-issuer-drivers@0.18.2-unstable.56+1f1ef4ed": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list-issuer-drivers/-/ssi-sdk.vc-status-list-issuer-drivers-0.18.2-unstable.56.tgz#aaa1124aa7d1fa8df13b1b02de0c8e712e109531" + integrity sha512-ZUZd/kkJeEUO8ka9UsHsamPO4EX1XAjjmesbw3//3BT9vC81jD/Cb8yWBX8TTwfR2FkjmMm6qPNGyUWdiiwXeA== dependencies: - "@sphereon/ssi-express-support" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-express-support" "0.18.2-unstable.56+1f1ef4ed" "@sphereon/ssi-sdk-ext.did-utils" "^0.15.0" - "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-sdk.core" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.51+a2d97f40" - "@sphereon/ssi-types" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" "@sphereon/vc-status-list" "^7.0.0-next.0" "@veramo/core" "4.2.0" debug "^4.3.4" typeorm "^0.3.12" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk.vc-status-list@0.18.2-unstable.51+a2d97f40": - version "0.18.2-unstable.51" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list/-/ssi-sdk.vc-status-list-0.18.2-unstable.51.tgz#b1da385535c4984ecd47db180d85ab3d934c8580" - integrity sha512-9w3FGzueCMQ6O2mNTys9XV8xx3J79G3B1QrO0WJPntnfXJdSndSygb1sj8RqyqWBdYLix20zHg9v51kJfI6X6Q== +"@sphereon/ssi-sdk.vc-status-list@0.18.2-unstable.56+1f1ef4ed": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list/-/ssi-sdk.vc-status-list-0.18.2-unstable.56.tgz#69b03ec0660e887e30713586b4a5d59b7afc99c8" + integrity sha512-rTiHpYRhVhGFSISbYOtOCULHt3k6ARetA5Jsjat/zk89oEypSOzx5tNbyS8597dgkM+Efp9201roYf+r2X0+KA== dependencies: "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-types" "0.18.2-unstable.51+a2d97f40" + "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" "@sphereon/vc-status-list" "7.0.0-next.0" "@veramo/core" "4.2.0" "@veramo/credential-status" "4.2.0" @@ -3928,7 +3961,7 @@ debug "^4.3.4" uint8arrays "^3.1.1" -"@sphereon/ssi-types@0.17.1", "@sphereon/ssi-types@0.18.1", "@sphereon/ssi-types@0.18.2-unstable.51", "@sphereon/ssi-types@0.18.2-unstable.51+a2d97f40", "@sphereon/ssi-types@^0.18.1", "@sphereon/ssi-types@^0.9.0": +"@sphereon/ssi-types@0.17.1", "@sphereon/ssi-types@0.18.1", "@sphereon/ssi-types@0.18.2-unstable.51", "@sphereon/ssi-types@0.18.2-unstable.51+a2d97f40", "@sphereon/ssi-types@0.18.2-unstable.56+1f1ef4ed", "@sphereon/ssi-types@^0.18.1", "@sphereon/ssi-types@^0.9.0": version "0.18.2-unstable.51" resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.18.2-unstable.51.tgz#cba054cc3078a018d4e01e5c5ce6e203e10f4246" integrity sha512-fFYcqk/5OTlfiJyLCTdts0w6us19eSt1u7MupCkhWgLZkrjuT+C4WxmTUpdoFL1qDMqy1bWXdcMJ2Y1RuqJIAQ== @@ -3936,6 +3969,14 @@ "@sd-jwt/decode" "^0.2.0" jwt-decode "^3.1.2" +"@sphereon/ssi-types@0.18.2-unstable.56": + version "0.18.2-unstable.56" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.18.2-unstable.56.tgz#74eb56842c714a0714224f8e8a479a6774a6947c" + integrity sha512-l8VhF1SJHkO9KUR2Z38293hdebU1KVeSvZwPaAI0+sjkOm8qK2gjxWaD94h6QZfcH2Huzqu/KnKru0CPvAiH1w== + dependencies: + "@sd-jwt/decode" "^0.2.0" + jwt-decode "^3.1.2" + "@sphereon/ui-components.core@0.1.3-unstable.104", "@sphereon/ui-components.core@0.1.3-unstable.104+2de960b": version "0.1.3-unstable.104" resolved "https://registry.yarnpkg.com/@sphereon/ui-components.core/-/ui-components.core-0.1.3-unstable.104.tgz#75d7c67cc35d9452faa6293ef342d7ab32c89613" From 82a35e16c79279f405137b631e705bd7cf97c192 Mon Sep 17 00:00:00 2001 From: "A.G.J. Cate" Date: Wed, 21 Feb 2024 15:36:52 +0100 Subject: [PATCH 09/10] chore: code cleanup --- src/store/actions/credential.actions.ts | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/src/store/actions/credential.actions.ts b/src/store/actions/credential.actions.ts index 70d1cc55..020e8a75 100644 --- a/src/store/actions/credential.actions.ts +++ b/src/store/actions/credential.actions.ts @@ -94,23 +94,6 @@ export const dispatchVerifiableCredential = ( }); }) .catch(() => dispatch({type: STORE_CREDENTIAL_FAILED})); - - // storeCredential({vc: mappedVc}) - // .then(async (hash: string): Promise => { - // const credentialBranding: Array = await ibGetCredentialBranding({filter: [{vcHash: hash}]}); - // return toCredentialSummary({verifiableCredential: mappedVc, hash}, credentialBranding?.[0]?.localeBranding); - // }) - // .then((summary: ICredentialSummary): void => { - // dispatch({ - // type: STORE_CREDENTIAL_SUCCESS, - // payload: summary, - // }); - // showToast(ToastTypeEnum.TOAST_SUCCESS, { - // message: translate('credential_offer_accepted_toast'), - // showBadge: false, - // }); - // }) - // .catch(() => dispatch({type: STORE_CREDENTIAL_FAILED})); }; }; From 7aa7131f70d9a4ee272412a01d5487736b887d77 Mon Sep 17 00:00:00 2001 From: "A.G.J. Cate" Date: Thu, 22 Feb 2024 10:26:30 +0100 Subject: [PATCH 10/10] chore: updated oid4vci-holder package --- package.json | 18 ++-- src/services/qrService.ts | 3 +- yarn.lock | 186 +++++++++++++++++++------------------- 3 files changed, 104 insertions(+), 103 deletions(-) diff --git a/package.json b/package.json index 80457368..bdd7c0ce 100644 --- a/package.json +++ b/package.json @@ -55,15 +55,15 @@ "@sphereon/ssi-sdk-ext.did-utils": "0.16.1-next.2", "@sphereon/ssi-sdk-ext.key-manager": "0.16.1-next.2", "@sphereon/ssi-sdk-ext.kms-local": "0.16.1-next.2", - "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.56", - "@sphereon/ssi-sdk.core": "0.18.2-unstable.56", - "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.56", - "@sphereon/ssi-sdk.issuance-branding": "0.18.2-unstable.56", - "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.18.2-unstable.56", - "@sphereon/ssi-sdk.vc-handler-ld-local": "0.18.2-unstable.56", - "@sphereon/ssi-sdk.event-logger": "0.18.2-unstable.56", - "@sphereon/ssi-sdk.oid4vci-holder": "0.18.2-unstable.56", - "@sphereon/ssi-types": "0.18.2-unstable.56", + "@sphereon/ssi-sdk.contact-manager": "0.18.2-unstable.61", + "@sphereon/ssi-sdk.core": "0.18.2-unstable.61", + "@sphereon/ssi-sdk.data-store": "0.18.2-unstable.61", + "@sphereon/ssi-sdk.issuance-branding": "0.18.2-unstable.61", + "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.18.2-unstable.61", + "@sphereon/ssi-sdk.vc-handler-ld-local": "0.18.2-unstable.61", + "@sphereon/ssi-sdk.event-logger": "0.18.2-unstable.61", + "@sphereon/ssi-sdk.oid4vci-holder": "0.18.2-unstable.61", + "@sphereon/ssi-types": "0.18.2-unstable.61", "@sphereon/ui-components.core": "0.1.3-unstable.104", "@sphereon/ui-components.ssi-react-native": "0.1.3-unstable.104", "@transmute/lds-ecdsa-secp256k1-recovery2020": "^0.0.7", diff --git a/src/services/qrService.ts b/src/services/qrService.ts index 6f03ed24..283d684e 100644 --- a/src/services/qrService.ts +++ b/src/services/qrService.ts @@ -177,7 +177,7 @@ const connectOID4VCI = async (args: IQrDataArgs): Promise => { if (args.qrData.code && args.qrData.uri) { oid4vciInstance?.send(OID4VCIMachineEvents.PROVIDE_AUTHORIZATION_CODE_RESPONSE, {data: args.qrData.uri}); } else { - oid4vciInstance = await oid4vciHolderGetMachineInterpreter({ + const oid4vciMachine = await oid4vciHolderGetMachineInterpreter({ requestData: { credentialOffer: args.qrData.credentialOffer, uri: args.qrData.uri, @@ -185,6 +185,7 @@ const connectOID4VCI = async (args: IQrDataArgs): Promise => { }, stateNavigationListener: oid4vciStateNavigationListener, }); + oid4vciInstance = oid4vciMachine.interpreter; oid4vciInstance.start(); } }; diff --git a/yarn.lock b/yarn.lock index f7fb26b7..b4dc7716 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3534,10 +3534,10 @@ resolved "https://registry.yarnpkg.com/@sphereon/react-native-argon2/-/react-native-argon2-2.0.9.tgz#88d68d079a65ecc01501718c35a30f0a58558d21" integrity sha512-mXcp3meaKbv5TpEPxItZ1ZuRqkdNf8vjx3EM+GqNVQ8QQF9pbD3jw6wQfuFRPc+8kN+m9GEiVVbd9I0m50OPBg== -"@sphereon/ssi-express-support@0.18.2-unstable.56+1f1ef4ed": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-express-support/-/ssi-express-support-0.18.2-unstable.56.tgz#0b9995a035db408275cf9329da9b370bf2e0290a" - integrity sha512-iTTsP0wrh4rFWsBEUjQcNIRqwuQaXHBs2NAtUmMx9VWq89LC6P472krcUROFf+wGADTX+GJeXOiBTSDJKSPeZA== +"@sphereon/ssi-express-support@0.18.2-unstable.61+5338d778": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-express-support/-/ssi-express-support-0.18.2-unstable.61.tgz#07625382aeeb3b40c6540807c54090f6977931d7" + integrity sha512-t52F4GtSkvcxWjGLJ2N6okT7LoQxtXMevIepO6dfVToT4FtDu4onLCuC5wq3MbQB894pdbZlKKtnmuPg9OOGIg== dependencies: body-parser "^1.20.2" casbin "^5.26.1" @@ -3725,10 +3725,10 @@ elliptic "^6.5.4" uint8arrays "3.1.1" -"@sphereon/ssi-sdk.agent-config@0.18.2-unstable.56+1f1ef4ed": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.agent-config/-/ssi-sdk.agent-config-0.18.2-unstable.56.tgz#f9403d025a5a467f8cd4bb13e6cdf861e79bc442" - integrity sha512-i8yHJxMVBA1REqD8lCzx3/3JwsrExRCgmYRbb1vMOuvaDTmfugUyJKsOCP4L4blkAMo4/h0/+0WzgR7mShA3oA== +"@sphereon/ssi-sdk.agent-config@0.18.2-unstable.61+5338d778": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.agent-config/-/ssi-sdk.agent-config-0.18.2-unstable.61.tgz#ea3f7133a5ddfb284d43a4927c6b2a8b9560db83" + integrity sha512-SW+izztxF089wvLHDMBz1wWACHKdUYcjlnQL0wXdRq6MoKSBpSkECfe+UW6BMpNYvOCVxaiRKp975NANRifIIQ== dependencies: "@veramo/core" "4.2.0" debug "^4.3.4" @@ -3737,7 +3737,7 @@ url-parse "^1.5.10" yaml "^2.2.2" -"@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.51", "@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.56+1f1ef4ed": +"@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.51", "@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.61+5338d778": version "0.18.2-unstable.51" resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.contact-manager/-/ssi-sdk.contact-manager-0.18.2-unstable.51.tgz#f319cb1f05a9ac898c2eb9935c217aa8e4b74c4f" integrity sha512-L709TLcLqe7+PuCsUth7tScGqw67DbslJ9B9UkVFyAkmB8D8H1eDY0heQ+AIvpHb0QrXaq8Kmws92Q7C5XPaiA== @@ -3746,16 +3746,16 @@ cross-fetch "^3.1.8" typeorm "^0.3.12" -"@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.56": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.contact-manager/-/ssi-sdk.contact-manager-0.18.2-unstable.56.tgz#c23f3b8b152838361b7f4d581d449b5e2dcedd19" - integrity sha512-DldC2cLrocLetUxBDUoJ4bVoq5+VY8dzVSIJxTW3oZI7rvndge6rhswU4lOtSZF+uj08Kb8zVxaSw+hn9Ajl0A== +"@sphereon/ssi-sdk.contact-manager@0.18.2-unstable.61": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.contact-manager/-/ssi-sdk.contact-manager-0.18.2-unstable.61.tgz#e2de28895bf9a347abf4cb7a58df381eaccc42c1" + integrity sha512-aX9INbW0UFMDWLV2ddeZN55b+AzfzcON6Or82DfQh07D+CIzqnFy+Q4ElijFq06CBCl5ugBfy3DE0oia416Taw== dependencies: - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.61+5338d778" cross-fetch "^3.1.8" typeorm "^0.3.12" -"@sphereon/ssi-sdk.core@0.17.1", "@sphereon/ssi-sdk.core@0.18.2-unstable.51", "@sphereon/ssi-sdk.core@0.18.2-unstable.51+a2d97f40", "@sphereon/ssi-sdk.core@0.18.2-unstable.56+1f1ef4ed": +"@sphereon/ssi-sdk.core@0.17.1", "@sphereon/ssi-sdk.core@0.18.2-unstable.51", "@sphereon/ssi-sdk.core@0.18.2-unstable.51+a2d97f40", "@sphereon/ssi-sdk.core@0.18.2-unstable.61+5338d778": version "0.18.2-unstable.51" resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.core/-/ssi-sdk.core-0.18.2-unstable.51.tgz#c04f917720fc526ca22f7bbd8fa98d3a889140e7" integrity sha512-TP34hRW5eVn1HoQP59WMMiULoBenNs9bfAR7SZ8nE65I2wtL4nSkChoQwlwsLbuhFrkubjlZmxCUWUngHACmVA== @@ -3767,19 +3767,19 @@ image-size "1.0.2" uint8arrays "3.1.1" -"@sphereon/ssi-sdk.core@0.18.2-unstable.56": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.core/-/ssi-sdk.core-0.18.2-unstable.56.tgz#93456a36389e089e6157fcab6225122b4ce3aade" - integrity sha512-IPU0M8hczTNsoIwTK7xgwAYT9mUy0Vu4YVPO1+Fawusai29gCZ1GS7Ro6ouwO12KTmcQRD/LUk94urQWq1/L5Q== +"@sphereon/ssi-sdk.core@0.18.2-unstable.61": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.core/-/ssi-sdk.core-0.18.2-unstable.61.tgz#186aa7fe66bd0bd85c4bfe2af56f843487e292c7" + integrity sha512-Me9Q2EI7eKqQTECiErzkaL98qgu3ADMUZCCyvu2K684plnxy1jf+Pc2y+X5sf0JjHyq5R9HSu1qrFmrCBchaMQ== dependencies: - "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-types" "0.18.2-unstable.61+5338d778" "@veramo/core" "4.2.0" cross-fetch "^3.1.8" debug "^4.3.4" image-size "1.0.2" uint8arrays "3.1.1" -"@sphereon/ssi-sdk.data-store@0.18.2-unstable.51", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.51+a2d97f40", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.56+1f1ef4ed": +"@sphereon/ssi-sdk.data-store@0.18.2-unstable.51", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.51+a2d97f40", "@sphereon/ssi-sdk.data-store@0.18.2-unstable.61+5338d778": version "0.18.2-unstable.51" resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.data-store/-/ssi-sdk.data-store-0.18.2-unstable.51.tgz#427fe7b1e059ec6ebf8de7e1598fd06a47f19eca" integrity sha512-kjlRFpq9QPO+5dXxMmbEFjHQvIXPRVww9fTmOy1vWiWzsAvzOiktV+9O4x6WcQ6rn5lcTAS3O5PoKpvw16EIdw== @@ -3791,40 +3791,40 @@ debug "^4.3.4" typeorm "^0.3.12" -"@sphereon/ssi-sdk.data-store@0.18.2-unstable.56": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.data-store/-/ssi-sdk.data-store-0.18.2-unstable.56.tgz#1996214c0eccdf984a440eb67c451ec6906df535" - integrity sha512-lSZ5LQRLYF3qihoi9HvgjU2lyA9UlXEPP/NW8VMytW5ZnwZ7LZPDXNM71DkwzWoi13eJnclyskSBCL+28Rfg6Q== +"@sphereon/ssi-sdk.data-store@0.18.2-unstable.61": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.data-store/-/ssi-sdk.data-store-0.18.2-unstable.61.tgz#f3b0ba0ae8f1e949f2e8efe955ee8dc9242dc223" + integrity sha512-atFm20zk2HIJJgV3++bfht/1WLCSsgMUHIuCHcXxwv+L01+ex06xu9QQ63G6vnEj3Arog0aLcqoMFrUdgtm62Q== dependencies: - "@sphereon/ssi-sdk.core" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-types" "0.18.2-unstable.61+5338d778" "@veramo/core" "4.2.0" class-validator "^0.14.0" debug "^4.3.4" typeorm "^0.3.12" -"@sphereon/ssi-sdk.event-logger@0.18.2-unstable.56": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.event-logger/-/ssi-sdk.event-logger-0.18.2-unstable.56.tgz#4ff06a394dd91947eec675d89fe20b6b779ffa1b" - integrity sha512-2ydhD2ecH5XqvWshrYrL0hCTWKUmqZDL0V6GRKLzYLh+vDbptgRmTMaNOv+rq88OUV37xJeCas4oezCIKK0p1A== +"@sphereon/ssi-sdk.event-logger@0.18.2-unstable.61": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.event-logger/-/ssi-sdk.event-logger-0.18.2-unstable.61.tgz#624fe636e1456adf291a77bc3301878fd594b469" + integrity sha512-DkbTv/7V1jnYNV0zKxlI6XAbhbmwtY7prqbvZGmxJsPRP+zYP7bJl/6WsFWvtB6uhgLDl9TUcuYts8oTtcNyFg== dependencies: - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.61+5338d778" uuid "^8.3.2" -"@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.56", "@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.56+1f1ef4ed": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.issuance-branding/-/ssi-sdk.issuance-branding-0.18.2-unstable.56.tgz#1f86cdd94ef77aac69404b04ade48fc827001323" - integrity sha512-3ukn4GxErY6RtewjBbclf0ziLzd267Z68aD/wvT+8K2T3nUjudbj62Cj5JJzd1oylH+BPSaVTZGiXUSuN+ce7g== +"@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.61", "@sphereon/ssi-sdk.issuance-branding@0.18.2-unstable.61+5338d778": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.issuance-branding/-/ssi-sdk.issuance-branding-0.18.2-unstable.61.tgz#ac3a729721733a1d35b84d6350931b3241c76243" + integrity sha512-ZeMk+S/g5RY480u6cXNh5+1u5ZcAZhynK4J8QkCqq7C/uV0mPCLhLKtuOPAWX6/gVICVLqV95QDPtyKfiue5yg== dependencies: - "@sphereon/ssi-sdk.core" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.61+5338d778" debug "^4.3.4" typeorm "^0.3.12" -"@sphereon/ssi-sdk.kv-store-temp@0.18.2-unstable.56+1f1ef4ed": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.kv-store-temp/-/ssi-sdk.kv-store-temp-0.18.2-unstable.56.tgz#ca48434f3fab7c0ef57688277dac12156210e7b6" - integrity sha512-2hIBf4WruhmjjUk3LqietrbVVjfpdG2Q5NrjHgHJha08iaA0SOVFUDKhVsspbLbIgw9D2cM/UB4PIo7I+R+9SA== +"@sphereon/ssi-sdk.kv-store-temp@0.18.2-unstable.61+5338d778": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.kv-store-temp/-/ssi-sdk.kv-store-temp-0.18.2-unstable.61.tgz#3b8dbcbac4966f339811b68afeb5328749c10edd" + integrity sha512-fvCI9anhldc26EtptDib4NscPrlxhBUjmmLeIix3XSHi5bKcOct9X0CLnqfM2qnn7Xrb2YHHVLN2NFbKDxzLhA== dependencies: "@veramo/utils" "4.2.0" debug "^4.3.4" @@ -3833,17 +3833,17 @@ typeorm "^0.3.12" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk.oid4vci-holder@0.18.2-unstable.56": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.oid4vci-holder/-/ssi-sdk.oid4vci-holder-0.18.2-unstable.56.tgz#b7a9ef734d2e236f326d6513ae70d9f56c8b8a45" - integrity sha512-La0kR5sxT5q4MLEVZx0L1Fhw0bOODu4FY3xwH3uGEL5aI/tAn11c7YxHkJ3zh6meQEagat5PIqiHHfrCUsIz6g== +"@sphereon/ssi-sdk.oid4vci-holder@0.18.2-unstable.61": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.oid4vci-holder/-/ssi-sdk.oid4vci-holder-0.18.2-unstable.61.tgz#3f4f022a69fbfd928f20ad324f04127d6d34282f" + integrity sha512-8czZ9w7TbXWlXZwM6o31Wn5+NhCRsmYPfxCW293tv4zTzPPLE9/1KOgoye9Ut3xPpjrHlwfmfGEWSz76lLE3Ag== dependencies: "@sphereon/oid4vci-client" "0.9.1-next.2" "@sphereon/oid4vci-common" "0.9.1-next.2" - "@sphereon/ssi-sdk.contact-manager" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-sdk.issuance-branding" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.contact-manager" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-sdk.issuance-branding" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-types" "0.18.2-unstable.61+5338d778" "@veramo/core" "4.2.0" "@veramo/data-store" "4.2.0" "@veramo/utils" "4.2.0" @@ -3852,30 +3852,30 @@ uuid "^9.0.1" xstate "^4.38.3" -"@sphereon/ssi-sdk.presentation-exchange@0.18.2-unstable.56+1f1ef4ed": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.presentation-exchange/-/ssi-sdk.presentation-exchange-0.18.2-unstable.56.tgz#c870a70de865fb96fe3ae70020c2ef04bf839e35" - integrity sha512-aqJGe6yUtwFx8mS1VY1HCyooLdYXLRdZir8Dncke6qIZrHmoC+wCqHX5xdAf6s0SEv98+F3Y/4ueWP68LB4iGA== +"@sphereon/ssi-sdk.presentation-exchange@0.18.2-unstable.61+5338d778": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.presentation-exchange/-/ssi-sdk.presentation-exchange-0.18.2-unstable.61.tgz#8ded245984a6b6853fb3cc5f274e501b94e0afe9" + integrity sha512-Qcnaxe8V3hNpdVQkQGR9frfpBH3Y0FA7jgz5b45ABxaFBZsAETjsLOlsyuwPhVaj1z1RDloNpl8P3Z2eX+GzBw== dependencies: "@sphereon/pex" "^3.2.0" "@sphereon/pex-models" "^2.2.0" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-sdk.kv-store-temp" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.kv-store-temp" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-types" "0.18.2-unstable.61+5338d778" "@veramo/core" "4.2.0" -"@sphereon/ssi-sdk.siopv2-oid4vp-op-auth@0.18.2-unstable.56": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.siopv2-oid4vp-op-auth/-/ssi-sdk.siopv2-oid4vp-op-auth-0.18.2-unstable.56.tgz#cd0b360bc1f6074753681fd48ca0844c497480a4" - integrity sha512-dUhWJd4PWo2isQzKSD2wUHTHOpLwnc0X6Ir02SLFtcOV/rFUGJ1n1PQkt6ag03gYUmD1VxAothX1lpD+yPluHA== +"@sphereon/ssi-sdk.siopv2-oid4vp-op-auth@0.18.2-unstable.61": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.siopv2-oid4vp-op-auth/-/ssi-sdk.siopv2-oid4vp-op-auth-0.18.2-unstable.61.tgz#6549bce827c419c94e4c711944f49d08de969049" + integrity sha512-pKnczu4lvZkOxrL3r+RIxiQMfkhg7gLl106rKOfg3J6H2bu8gbgvsFUZIwLBpz1mq8+5NgGO4yaxejyfsTmy0A== dependencies: "@sphereon/did-auth-siop" "0.6.0-unstable.9" "@sphereon/pex" "^3.2.0" "@sphereon/pex-models" "2.2.0" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-sdk.core" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-sdk.presentation-exchange" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-sdk.presentation-exchange" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-types" "0.18.2-unstable.61+5338d778" "@sphereon/wellknown-dids-client" "^0.1.3" "@veramo/core" "4.2.0" "@veramo/credential-w3c" "4.2.0" @@ -3883,10 +3883,10 @@ did-jwt-vc "3.1.3" uuid "^9.0.1" -"@sphereon/ssi-sdk.vc-handler-ld-local@0.18.2-unstable.56": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-handler-ld-local/-/ssi-sdk.vc-handler-ld-local-0.18.2-unstable.56.tgz#f2439385d413b5718c16dd815b17bd5c2addf12c" - integrity sha512-Wncx3LYhEH64uCXvPGq/cANjRj8OUG0jYtiodfanmP19+jQX+WOE0GdsYwb4xW+L9mX6R01vp99jxNF+3E+Vyw== +"@sphereon/ssi-sdk.vc-handler-ld-local@0.18.2-unstable.61": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-handler-ld-local/-/ssi-sdk.vc-handler-ld-local-0.18.2-unstable.61.tgz#2b6a631bdc9d2d684ecd3998b40a9a1865942efe" + integrity sha512-ROuJk8Gu7tEFrgvYVX4r9CtwRIaQv6AHoJseEoTXywHQz35s/UCWdSdZGtDqD1yz4w+G2uqu5AzxTqjrGevIKg== dependencies: "@digitalcredentials/ed25519-signature-2020" "~3.0.2" "@digitalcredentials/ed25519-verification-key-2020" "^4.0.0" @@ -3900,12 +3900,12 @@ "@sphereon/isomorphic-webcrypto" "^2.4.0-unstable.4" "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" "@sphereon/ssi-sdk-ext.key-utils" "0.15.0" - "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-sdk.core" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-sdk.vc-status-list-issuer-drivers" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-sdk.vc-status-list-issuer-drivers" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-types" "0.18.2-unstable.61+5338d778" "@transmute/credentials-context" "^0.7.0-unstable.81" "@transmute/ed25519-key-pair" "0.7.0-unstable.81" "@transmute/ed25519-signature-2018" "^0.7.0-unstable.81" @@ -3929,31 +3929,31 @@ jsonld "^4.0.1" jsonld-signatures "^7.0.0" -"@sphereon/ssi-sdk.vc-status-list-issuer-drivers@0.18.2-unstable.56+1f1ef4ed": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list-issuer-drivers/-/ssi-sdk.vc-status-list-issuer-drivers-0.18.2-unstable.56.tgz#aaa1124aa7d1fa8df13b1b02de0c8e712e109531" - integrity sha512-ZUZd/kkJeEUO8ka9UsHsamPO4EX1XAjjmesbw3//3BT9vC81jD/Cb8yWBX8TTwfR2FkjmMm6qPNGyUWdiiwXeA== +"@sphereon/ssi-sdk.vc-status-list-issuer-drivers@0.18.2-unstable.61+5338d778": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list-issuer-drivers/-/ssi-sdk.vc-status-list-issuer-drivers-0.18.2-unstable.61.tgz#34e82cb8061d43c25642a9f8fd300eb137d13328" + integrity sha512-3lzfSJAm3ipI4YwirPUsPLrVLa5IhndhABVUtm3lIqiJSiljpp4Hz07W0zVQDqidUkay0xZogP7ucujfez+SpQ== dependencies: - "@sphereon/ssi-express-support" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-express-support" "0.18.2-unstable.61+5338d778" "@sphereon/ssi-sdk-ext.did-utils" "^0.15.0" - "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-sdk.core" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.56+1f1ef4ed" - "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-sdk.agent-config" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-sdk.core" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-sdk.data-store" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-sdk.vc-status-list" "0.18.2-unstable.61+5338d778" + "@sphereon/ssi-types" "0.18.2-unstable.61+5338d778" "@sphereon/vc-status-list" "^7.0.0-next.0" "@veramo/core" "4.2.0" debug "^4.3.4" typeorm "^0.3.12" uint8arrays "^3.1.1" -"@sphereon/ssi-sdk.vc-status-list@0.18.2-unstable.56+1f1ef4ed": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list/-/ssi-sdk.vc-status-list-0.18.2-unstable.56.tgz#69b03ec0660e887e30713586b4a5d59b7afc99c8" - integrity sha512-rTiHpYRhVhGFSISbYOtOCULHt3k6ARetA5Jsjat/zk89oEypSOzx5tNbyS8597dgkM+Efp9201roYf+r2X0+KA== +"@sphereon/ssi-sdk.vc-status-list@0.18.2-unstable.61+5338d778": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-sdk.vc-status-list/-/ssi-sdk.vc-status-list-0.18.2-unstable.61.tgz#1e88900cf567c8059db1d312b06f20eae9c80a78" + integrity sha512-NybscEbvWx5EQghcE6rlli1rE6LzVrr6gfhkueCnJorHlCnoWZWjXqSzFRYZbUb9cyKf54T9sDXVQzKvIFQ0aQ== dependencies: "@sphereon/ssi-sdk-ext.did-utils" "0.15.0" - "@sphereon/ssi-types" "0.18.2-unstable.56+1f1ef4ed" + "@sphereon/ssi-types" "0.18.2-unstable.61+5338d778" "@sphereon/vc-status-list" "7.0.0-next.0" "@veramo/core" "4.2.0" "@veramo/credential-status" "4.2.0" @@ -3961,7 +3961,7 @@ debug "^4.3.4" uint8arrays "^3.1.1" -"@sphereon/ssi-types@0.17.1", "@sphereon/ssi-types@0.18.1", "@sphereon/ssi-types@0.18.2-unstable.51", "@sphereon/ssi-types@0.18.2-unstable.51+a2d97f40", "@sphereon/ssi-types@0.18.2-unstable.56+1f1ef4ed", "@sphereon/ssi-types@^0.18.1", "@sphereon/ssi-types@^0.9.0": +"@sphereon/ssi-types@0.17.1", "@sphereon/ssi-types@0.18.1", "@sphereon/ssi-types@0.18.2-unstable.51", "@sphereon/ssi-types@0.18.2-unstable.51+a2d97f40", "@sphereon/ssi-types@0.18.2-unstable.61+5338d778", "@sphereon/ssi-types@^0.18.1", "@sphereon/ssi-types@^0.9.0": version "0.18.2-unstable.51" resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.18.2-unstable.51.tgz#cba054cc3078a018d4e01e5c5ce6e203e10f4246" integrity sha512-fFYcqk/5OTlfiJyLCTdts0w6us19eSt1u7MupCkhWgLZkrjuT+C4WxmTUpdoFL1qDMqy1bWXdcMJ2Y1RuqJIAQ== @@ -3969,10 +3969,10 @@ "@sd-jwt/decode" "^0.2.0" jwt-decode "^3.1.2" -"@sphereon/ssi-types@0.18.2-unstable.56": - version "0.18.2-unstable.56" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.18.2-unstable.56.tgz#74eb56842c714a0714224f8e8a479a6774a6947c" - integrity sha512-l8VhF1SJHkO9KUR2Z38293hdebU1KVeSvZwPaAI0+sjkOm8qK2gjxWaD94h6QZfcH2Huzqu/KnKru0CPvAiH1w== +"@sphereon/ssi-types@0.18.2-unstable.61": + version "0.18.2-unstable.61" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.18.2-unstable.61.tgz#58f4d9ed0b577589168bd143ef0d110d54ac9c72" + integrity sha512-0uAioOytI248lweO/Lg4EWjXWbpv067oPPNc1MGwwGo5Zip42kMFQWhLbcB8H0orViVUtrxHKrAeW7aCMxEgrA== dependencies: "@sd-jwt/decode" "^0.2.0" jwt-decode "^3.1.2"