From d6b9c0a941bccda1e85a61403d16d3617069e11b Mon Sep 17 00:00:00 2001 From: Bryce McMath <32586431+bryce-mcmath@users.noreply.github.com> Date: Mon, 4 Mar 2024 15:54:39 -0800 Subject: [PATCH 1/4] chore: re-enable multi use and update packages (#1839) Signed-off-by: Bryce McMath --- app/ios/Podfile.lock | 4 ++-- app/package.json | 12 +++++------ app/src/index.ts | 1 + yarn.lock | 50 ++++++++++++++++++++++---------------------- 4 files changed, 34 insertions(+), 33 deletions(-) diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index 89b6e5ccf..b32f2a678 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -445,7 +445,7 @@ PODS: - React-jsinspector (0.72.5) - React-logger (0.72.5): - glog - - "react-native-attestation (1.0.0-alpha.195+942d9d0e)": + - "react-native-attestation (1.0.0-alpha.198+749b0f95)": - RCT-Folly (= 2021.07.22.00) - React-Core - react-native-config (1.5.0): @@ -905,7 +905,7 @@ SPEC CHECKSUMS: React-jsiexecutor: ff70a72027dea5cc7d71cfcc6fad7f599f63987a React-jsinspector: aef73cbd43b70675f572214d10fa438c89bf11ba React-logger: 2e4aee3e11b3ec4fa6cfd8004610bbb3b8d6cca4 - react-native-attestation: b03b5cab0face82da68e5ccc9841a8ebf018f961 + react-native-attestation: 52202ccdb000deba61613bf6091b7dae93b6f575 react-native-config: 5330c8258265c1e5fdb8c009d2cabd6badd96727 react-native-encrypted-storage: db300a3f2f0aba1e818417c1c0a6be549038deb7 react-native-get-random-values: a6ea6a8a65dc93e96e24a11105b1a9c8cfe1d72a diff --git a/app/package.json b/app/package.json index 79d8a1820..e517d75a8 100644 --- a/app/package.json +++ b/app/package.json @@ -61,11 +61,11 @@ "@formatjs/intl-relativetimeformat": "9.3.1", "@hyperledger/anoncreds-react-native": "0.1.0", "@hyperledger/aries-askar-react-native": "0.1.1", - "@hyperledger/aries-bifold-core": "1.0.0-alpha.195", - "@hyperledger/aries-bifold-remote-logs": "1.0.0-alpha.195", - "@hyperledger/aries-bifold-verifier": "1.0.0-alpha.195", - "@hyperledger/aries-oca": "1.0.0-alpha.195", - "@hyperledger/aries-react-native-attestation": "1.0.0-alpha.195", + "@hyperledger/aries-bifold-core": "1.0.0-alpha.198", + "@hyperledger/aries-bifold-remote-logs": "1.0.0-alpha.198", + "@hyperledger/aries-bifold-verifier": "1.0.0-alpha.198", + "@hyperledger/aries-oca": "1.0.0-alpha.198", + "@hyperledger/aries-react-native-attestation": "1.0.0-alpha.198", "@hyperledger/indy-vdr-react-native": "0.1.0", "@react-native-async-storage/async-storage": "1.15.11", "@react-native-community/masked-view": "0.1.11", @@ -168,4 +168,4 @@ "react-test-renderer": "18.2.0", "typescript": "5.0.4" } -} \ No newline at end of file +} diff --git a/app/src/index.ts b/app/src/index.ts index a23581a81..446ddc630 100644 --- a/app/src/index.ts +++ b/app/src/index.ts @@ -77,6 +77,7 @@ const configuration: ConfigurationContext = { disableOnboardingSkip: true, useCustomNotifications: useNotifications, useAttestation: useAttestation, + enableUseMultUseInvitation: true, whereToUseWalletUrl: 'https://www2.gov.bc.ca/gov/content/governments/government-id/bc-wallet#where', getCredentialHelpDictionary: [ { diff --git a/yarn.lock b/yarn.lock index adc6d98af..ac9ddb1d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4451,9 +4451,9 @@ __metadata: languageName: node linkType: hard -"@hyperledger/aries-bifold-core@npm:1.0.0-alpha.195": - version: 1.0.0-alpha.195 - resolution: "@hyperledger/aries-bifold-core@npm:1.0.0-alpha.195" +"@hyperledger/aries-bifold-core@npm:1.0.0-alpha.198": + version: 1.0.0-alpha.198 + resolution: "@hyperledger/aries-bifold-core@npm:1.0.0-alpha.198" peerDependencies: "@aries-framework/anoncreds": ^0.4.0 "@aries-framework/anoncreds-rs": ^0.4.0 @@ -4524,13 +4524,13 @@ __metadata: uuid: ^9.0.0 bin: bifold: bin/bifold - checksum: 2d01f736a6d3b32b37987df3fe6cb7332c0288fcbdff79280fcd8f521c807b2f33e42baeafe542efe6c684fafcff20d2c793cace1ba957c38703db9443948df5 + checksum: 8245fd4d15a413966f8979863cd0d96611a83237eb511c63e995a7015bd027de437b6e5fac859371c567f7b7265b32dce63953d9ad3d28cab3b44fdeb97ea723 languageName: node linkType: hard -"@hyperledger/aries-bifold-remote-logs@npm:1.0.0-alpha.195": - version: 1.0.0-alpha.195 - resolution: "@hyperledger/aries-bifold-remote-logs@npm:1.0.0-alpha.195" +"@hyperledger/aries-bifold-remote-logs@npm:1.0.0-alpha.198": + version: 1.0.0-alpha.198 + resolution: "@hyperledger/aries-bifold-remote-logs@npm:1.0.0-alpha.198" peerDependencies: "@aries-framework/core": ^0.4.0 axios: ^1.4.0 @@ -4538,41 +4538,41 @@ __metadata: react: ^18.2.0 react-native: ^0.72.5 react-native-logs: ^5.0.1 - checksum: 2927090be12fe52128847b8c5dcaf45f7809dee00efefb4bef2f27111e3562a879e33aa9d07a0a36866515d1590c3cf3866fe13eab91ee1b6a87683bc6944ae8 + checksum: 6955af07e7ea13ebce650df93caa6670c76ea367fc32955b28021c647309d08901d981a131a93610cb2d35d2930652a942b0149c7e6b8b85d1fc51aca7ffd19f languageName: node linkType: hard -"@hyperledger/aries-bifold-verifier@npm:1.0.0-alpha.195": - version: 1.0.0-alpha.195 - resolution: "@hyperledger/aries-bifold-verifier@npm:1.0.0-alpha.195" +"@hyperledger/aries-bifold-verifier@npm:1.0.0-alpha.198": + version: 1.0.0-alpha.198 + resolution: "@hyperledger/aries-bifold-verifier@npm:1.0.0-alpha.198" peerDependencies: "@aries-framework/anoncreds": ^0.4.0 "@aries-framework/core": ^0.4.0 "@aries-framework/react-hooks": ^0.4.2 react: ^18.2.0 - checksum: 5287bea9d3b166dc19be43c6d40ec2e5bbe11edc7034e86088cda062cc7e80b2cec82480d89b954729968c971c8fbd74db5b298f077acce3aea593f1c259011d + checksum: 3deb1d07d68bafcac671dac8ac90f5c18893e3709fe6058fb17bfe5551fd86a66c6f97da185a120e6485ea944764767ad4afac86e2c4e86666a8991a18ab46e7 languageName: node linkType: hard -"@hyperledger/aries-oca@npm:1.0.0-alpha.195": - version: 1.0.0-alpha.195 - resolution: "@hyperledger/aries-oca@npm:1.0.0-alpha.195" +"@hyperledger/aries-oca@npm:1.0.0-alpha.198": + version: 1.0.0-alpha.198 + resolution: "@hyperledger/aries-oca@npm:1.0.0-alpha.198" dependencies: "@aries-framework/anoncreds": "npm:^0.4.0" "@aries-framework/core": "npm:^0.4.0" axios: "npm:^1.4.0" lodash.startcase: "npm:^4.4.0" - checksum: 0399383e0f4244628e5155f8acee59054fbfae17a90af6acc53bc8c2f78b027dfdeae3b33816a9ce368a0f6b52afdab2212e93426a45c0b43fb793b8ddda84f4 + checksum: 25d0ca576e2dae18ad4faae5a86ef8f531460067352e7c080c7b0c2aa642a6d7f877cc213eb0e356ad6b782e493b5dc47eafa6a80f5a369b48ea50891623d769 languageName: node linkType: hard -"@hyperledger/aries-react-native-attestation@npm:1.0.0-alpha.195": - version: 1.0.0-alpha.195 - resolution: "@hyperledger/aries-react-native-attestation@npm:1.0.0-alpha.195" +"@hyperledger/aries-react-native-attestation@npm:1.0.0-alpha.198": + version: 1.0.0-alpha.198 + resolution: "@hyperledger/aries-react-native-attestation@npm:1.0.0-alpha.198" peerDependencies: react: "*" react-native: "*" - checksum: 7f1ac161e68fe4e2000a3487a33c7711b557069e3e6ea0f175a57daca9ddee7665f3ebd2690c8adfbcc5354379bfad3e996c5bef7e5c1293327081dcb7a8e06a + checksum: 8fa70b3847cf29bdbd92361c26e67ada0cf8925dce506f327aed49bd21d97f99bb8cf08d94eae447655e1f1c050f3c1ce3048d04bb0310eb0e29bcc1b8221e58 languageName: node linkType: hard @@ -9122,11 +9122,11 @@ __metadata: "@formatjs/intl-relativetimeformat": "npm:9.3.1" "@hyperledger/anoncreds-react-native": "npm:0.1.0" "@hyperledger/aries-askar-react-native": "npm:0.1.1" - "@hyperledger/aries-bifold-core": "npm:1.0.0-alpha.195" - "@hyperledger/aries-bifold-remote-logs": "npm:1.0.0-alpha.195" - "@hyperledger/aries-bifold-verifier": "npm:1.0.0-alpha.195" - "@hyperledger/aries-oca": "npm:1.0.0-alpha.195" - "@hyperledger/aries-react-native-attestation": "npm:1.0.0-alpha.195" + "@hyperledger/aries-bifold-core": "npm:1.0.0-alpha.198" + "@hyperledger/aries-bifold-remote-logs": "npm:1.0.0-alpha.198" + "@hyperledger/aries-bifold-verifier": "npm:1.0.0-alpha.198" + "@hyperledger/aries-oca": "npm:1.0.0-alpha.198" + "@hyperledger/aries-react-native-attestation": "npm:1.0.0-alpha.198" "@hyperledger/indy-vdr-react-native": "npm:0.1.0" "@react-native-async-storage/async-storage": "npm:1.15.11" "@react-native-community/masked-view": "npm:0.1.11" From ffe6c421606518926959cc98c780eaec54d21399 Mon Sep 17 00:00:00 2001 From: Wade King Date: Tue, 5 Mar 2024 10:05:53 -0800 Subject: [PATCH 2/4] feat: drpc attestation (#1838) Signed-off-by: wadeking98 Signed-off-by: Wade King --- ...drpc-npm-0.5.0-alpha.151-5bad8b38bd.patch} | 28 ++- app/package.json | 2 +- app/src/services/attestation.tsx | 226 ++++++------------ package.json | 4 +- yarn.lock | 91 +++---- 5 files changed, 122 insertions(+), 229 deletions(-) rename .yarn/patches/{@credo-ts-drpc-npm-0.5.0-alpha.145-4e1953647c.patch => @credo-ts-drpc-npm-0.5.0-alpha.151-5bad8b38bd.patch} (92%) diff --git a/.yarn/patches/@credo-ts-drpc-npm-0.5.0-alpha.145-4e1953647c.patch b/.yarn/patches/@credo-ts-drpc-npm-0.5.0-alpha.151-5bad8b38bd.patch similarity index 92% rename from .yarn/patches/@credo-ts-drpc-npm-0.5.0-alpha.145-4e1953647c.patch rename to .yarn/patches/@credo-ts-drpc-npm-0.5.0-alpha.151-5bad8b38bd.patch index cdf5adfb3..ebc79485a 100644 --- a/.yarn/patches/@credo-ts-drpc-npm-0.5.0-alpha.145-4e1953647c.patch +++ b/.yarn/patches/@credo-ts-drpc-npm-0.5.0-alpha.151-5bad8b38bd.patch @@ -10,7 +10,7 @@ index be4d0674ae73a1f28416ee42e5e955ded5376293..5155c2bba74d246be06e51eea3242976 export declare class DrpcApi { private drpcMessageService; diff --git a/build/DrpcApi.js b/build/DrpcApi.js -index 675a41c9371888f7bc21e99e7717091addb46ba7..bc8619ca6c4262e6601ad0f997d226996107c5b7 100644 +index e4722aac20ea68aa3f2d72781e95489cd88cf114..c09b2d00946ace4225ec7da1ce2dfa3e8d2dfd15 100644 --- a/build/DrpcApi.js +++ b/build/DrpcApi.js @@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) { @@ -20,8 +20,8 @@ index 675a41c9371888f7bc21e99e7717091addb46ba7..bc8619ca6c4262e6601ad0f997d22699 -const core_1 = require("@credo-ts/core"); +const core_1 = require("@aries-framework/core"); const handlers_1 = require("./handlers"); + const models_1 = require("./models"); const services_1 = require("./services"); - let DrpcApi = class DrpcApi { diff --git a/build/DrpcModule.d.ts b/build/DrpcModule.d.ts index e5cfec0d78466da4dc7bfbbe4e9a29a60a19a5f9..08afb046445fa9f1d634097dc16ecad52c070397 100644 --- a/build/DrpcModule.d.ts @@ -33,7 +33,7 @@ index e5cfec0d78466da4dc7bfbbe4e9a29a60a19a5f9..08afb046445fa9f1d634097dc16ecad5 export declare class DrpcModule implements Module { readonly api: typeof DrpcApi; diff --git a/build/DrpcModule.js b/build/DrpcModule.js -index aee33d22513bd54caeb6702d14c02a463c2b5bc9..56664f8f756da18058e1a2db7c327c14a38ffd36 100644 +index aee33d22513bd54caeb6702d14c02a463c2b5bc9..2c503f08f515db57b6a5279811866ce07667104a 100644 --- a/build/DrpcModule.js +++ b/build/DrpcModule.js @@ -1,7 +1,7 @@ @@ -45,15 +45,6 @@ index aee33d22513bd54caeb6702d14c02a463c2b5bc9..56664f8f756da18058e1a2db7c327c14 const DrpcApi_1 = require("./DrpcApi"); const DrpcRole_1 = require("./models/DrpcRole"); const repository_1 = require("./repository"); -@@ -17,7 +17,7 @@ class DrpcModule { - // Warn about experimental module - dependencyManager - .resolve(core_1.AgentConfig) -- .logger.warn("The '@credo-ts/drpc' module is experimental and could have unexpected breaking changes. When using this module, make sure to use strict versions for all @credo-ts packages."); -+ .logger.warn("The '@aries-framework/drpc' module is experimental and could have unexpected breaking changes. When using this module, make sure to use strict versions for all @aries-framework packages."); - // Services - dependencyManager.registerSingleton(services_1.DrpcService); - // Repositories diff --git a/build/DrpcRequestEvents.d.ts b/build/DrpcRequestEvents.d.ts index 45a9dae904be6fef911f1f3eed50d73b4b339548..a6513bd70e8fc826d2bbd81acbd551ea31575411 100644 --- a/build/DrpcRequestEvents.d.ts @@ -237,3 +228,16 @@ index 200fed2ddf104288e0db82d05534a75a1cdf3ad0..201054af5943a0502d9c52c8ac0d63b5 const DrpcRequestEvents_1 = require("../DrpcRequestEvents"); const DrpcResponseEvents_1 = require("../DrpcResponseEvents"); const messages_1 = require("../messages"); +diff --git a/package.json b/package.json +index d2ac6f55956b271720efb5d79d5c88f887b4f727..46305fdf03f1618d89a40a4aa65bc46a7de06cf2 100644 +--- a/package.json ++++ b/package.json +@@ -24,7 +24,7 @@ + "test": "jest" + }, + "dependencies": { +- "@credo-ts/core": "0.5.0-alpha.151+d2b5cd9c", ++ "@aries-framework/core": "0.5.0-alpha.151+d2b5cd9c", + "class-transformer": "^0.5.1", + "class-validator": "0.14.1" + }, diff --git a/app/package.json b/app/package.json index e517d75a8..ba88eaccc 100644 --- a/app/package.json +++ b/app/package.json @@ -50,7 +50,7 @@ "@aries-framework/push-notifications": "0.5.0", "@aries-framework/react-hooks": "0.4.2", "@aries-framework/react-native": "0.4.2", - "@credo-ts/drpc": "0.5.0-alpha.145", + "@credo-ts/drpc": "0.5.0-alpha.151", "@formatjs/intl-datetimeformat": "4.2.4", "@formatjs/intl-displaynames": "5.2.4", "@formatjs/intl-getcanonicallocales": "1.7.3", diff --git a/app/src/services/attestation.tsx b/app/src/services/attestation.tsx index 287477b7c..c78d1bbb0 100644 --- a/app/src/services/attestation.tsx +++ b/app/src/services/attestation.tsx @@ -2,9 +2,6 @@ import { AnonCredsCredentialMetadataKey } from '@aries-framework/anoncreds/build import { Agent, BaseEvent, - BasicMessageEventTypes, - BasicMessageRecord, - BasicMessageRole, CredentialState, CredentialEventTypes, CredentialExchangeRecord, @@ -14,6 +11,7 @@ import { ConnectionRecord, } from '@aries-framework/core' import { useAgent } from '@aries-framework/react-hooks' +import { DrpcRequest, DrpcResponse } from '@credo-ts/drpc' import { BifoldAgent, BifoldError, EventTypes } from '@hyperledger/aries-bifold-core' import { generateKey, @@ -21,8 +19,7 @@ import { googleAttestation, isPlayIntegrityAvailable, } from '@hyperledger/aries-react-native-attestation' -import { Buffer } from 'buffer' -import React, { createContext, useContext, useState } from 'react' +import React, { createContext, useContext, useState, useEffect } from 'react' import { useTranslation } from 'react-i18next' import { DeviceEventEmitter, Platform } from 'react-native' import Config from 'react-native-config' @@ -32,13 +29,6 @@ import { Subscription } from 'rxjs' import { removeExistingInvitationIfRequired } from '../helpers/BCIDHelper' -enum Action { - RequestNonce = 'request_nonce', - RequestAttestation = 'request_attestation', - ReportFailure = 'report_failure', - ChallengeResponse = 'challenge_response', -} - enum ErrorCodes { AttestationBadInvitation = 2027, AttestationReceiveInvitationError = 2028, @@ -46,9 +36,6 @@ enum ErrorCodes { } type InfrastructureMessage = { - version: 1 - type: 'attestation' - action: Action platform?: 'apple' | 'google' os_version?: string app_version?: string @@ -119,15 +106,13 @@ const getAvailableAttestationCredentials = async (agent: BifoldAgent) => { }) } -const requestNonce = async (agent: BifoldAgent, connectionRecord: ConnectionRecord) => { - const nonceRequestMessage: InfrastructureMessage = { - version: 1, - type: 'attestation', - action: Action.RequestNonce, +const requestNonceDrpc = async (agent: Agent, connectionRecord: ConnectionRecord) => { + const nonceRequestMessage: DrpcRequest = { + jsonrpc: '2.0', + method: 'request_nonce', + id: null, } - - const responseMessageContent = Buffer.from(JSON.stringify(nonceRequestMessage)).toString('base64') - await agent.basicMessages.sendMessage(connectionRecord.id, responseMessageContent) + await agent.modules.drpc.sendRequest(connectionRecord.id, nonceRequestMessage) } export interface AttestationX { @@ -144,123 +129,55 @@ export const AttestationProvider: React.FC = ({ child const [messageSubscription, setMessageSubscription] = useState() const [proofSubscription, setProofSubscription] = useState() const [offerSubscription, setOfferSubscription] = useState() + const [drpcRequest, setDrpcRequest] = useState(undefined) + const [drpcListenerActive, setDrpcListenerActive] = useState(false) const [loading, setLoading] = useState(false) - const isInfrastructureMessage = (record: BasicMessageRecord): boolean => { - if (record.content) { - try { - const decoded = Buffer.from(record.content, 'base64').toString('utf-8') - const encoded = Buffer.from(decoded).toString('base64') - - return encoded === record.content - } catch (error) { - return false + const handleInfrastructureMessageDrpc = async (message: { + params: { nonce: string } + }): Promise => { + try { + const common: Partial = { + app_version: `${getVersion()}-${getBuildNumber()}`, + os_version: `${getSystemName()} ${getSystemVersion()}`, } - } - - return false - } - - const handleInfrastructureMessage = async ( - message: InfrastructureMessage - ): Promise => { - switch (message.action) { - case Action.RequestAttestation: - try { - const common: Partial = { - type: 'attestation', - version: 1, - action: Action.ChallengeResponse, - app_version: `${getVersion()}-${getBuildNumber()}`, - os_version: `${getSystemName()} ${getSystemVersion()}`, - } - - if (Platform.OS === 'ios') { - const shouldCacheKey = false - const keyId = await generateKey(shouldCacheKey) - const attestationAsBuffer = await appleAttestation( - keyId, - (message as RequestIssuanceInfrastructureMessage).nonce - ) - const attestationResponse = { - ...common, - platform: 'apple', - key_id: keyId, - attestation_object: attestationAsBuffer.toString('base64'), - } as ChallengeResponseInfrastructureMessage - - return attestationResponse - } else if (Platform.OS === 'android') { - const available = await isPlayIntegrityAvailable() - if (!available) { - return null - } - const tokenString = await googleAttestation((message as RequestIssuanceInfrastructureMessage).nonce) - const attestationResponse = { - ...common, - platform: 'google', - attestation_object: tokenString, - } as ChallengeResponseInfrastructureMessage - - return attestationResponse - } else { - setLoading(false) - return null - } - } catch (error: unknown) { - setLoading(false) + const infraMessage = { nonce: message.params.nonce } + + if (Platform.OS === 'ios') { + const shouldCacheKey = false + const keyId = await generateKey(shouldCacheKey) + const attestationAsBuffer = await appleAttestation( + keyId, + (infraMessage as RequestIssuanceInfrastructureMessage).nonce + ) + const attestationResponse = { + ...common, + platform: 'apple', + key_id: keyId, + attestation_object: attestationAsBuffer.toString('base64'), + } as ChallengeResponseInfrastructureMessage + + return attestationResponse + } else if (Platform.OS === 'android') { + const available = await isPlayIntegrityAvailable() + if (!available) { return null } - - case Action.ReportFailure: + const tokenString = await googleAttestation((infraMessage as RequestIssuanceInfrastructureMessage).nonce) + const attestationResponse = { + ...common, + platform: 'google', + attestation_object: tokenString, + } as ChallengeResponseInfrastructureMessage + + return attestationResponse + } else { setLoading(false) return null - - default: - return null - } - } - - const decodeInfrastructureMessage = (record: BasicMessageRecord): InfrastructureMessage | null => { - try { - const decoded = Buffer.from(record.content, 'base64').toString('utf-8') - const message = JSON.parse(decoded) - - return message - } catch (error) { - return null - } - } - - const handleMessages = async (message: BasicMessageRecord, agent: Agent): Promise => { - try { - if (message.role === BasicMessageRole.Sender) { - // We don't want to process or keep messages from - // ourselves - await agent?.basicMessages.deleteById(message.id) - return - } - - if (!isInfrastructureMessage(message)) { - // We don't care about non-infrastructure messages - return - } - - const imessage = decodeInfrastructureMessage(message) - if (!imessage) { - return - } - - const result = await handleInfrastructureMessage(imessage) - - if (result) { - const responseMessageContent = Buffer.from(JSON.stringify(result)).toString('base64') - await agent?.basicMessages.sendMessage(message.connectionId, responseMessageContent) } - - await agent?.basicMessages.deleteById(message.id) } catch (error: unknown) { - /* noop */ + setLoading(false) + return null } } @@ -273,7 +190,6 @@ export const AttestationProvider: React.FC = ({ child // officially start attestation process here setLoading(true) - // 1. Is the proof requesting an attestation credential if (!(await isProofRequestingAttestation(proof, agent))) { setLoading(false) @@ -307,7 +223,6 @@ export const AttestationProvider: React.FC = ({ child await removeExistingInvitationIfRequired(agent, invite.id) const { connectionRecord } = await agent.oob.receiveInvitation(invite) - if (!connectionRecord) { setLoading(false) const err = new BifoldError( @@ -324,7 +239,7 @@ export const AttestationProvider: React.FC = ({ child // this step will fail if there is more than one active connection record between a given wallet and // the traction instance which is why we need to removeExistingInvitationIfRequired above - await requestNonce(agent, connectedRecord) + await requestNonceDrpc(agent, connectedRecord) } catch (error: unknown) { setLoading(false) const err = new BifoldError( @@ -363,15 +278,6 @@ export const AttestationProvider: React.FC = ({ child } } - const handleMessageWithParam = (event: BaseEvent) => { - if (!agent) { - return - } - - const { basicMessageRecord } = event.payload - handleMessages(basicMessageRecord as BasicMessageRecord, agent) - } - const handleProofWithParam = (event: BaseEvent) => { if (!agent) { return @@ -390,18 +296,34 @@ export const AttestationProvider: React.FC = ({ child handleOffers(credentialRecord as CredentialExchangeRecord, agent) } + useEffect(() => { + if (drpcListenerActive && agent) { + agent.modules.drpc + .recvRequest() + .then( + async ({ + request, + sendResponse, + }: { + request: DrpcRequest + sendResponse: (resp: DrpcResponse) => Promise + }) => { + // bit of a hack to restart the listener once we've received a request + setDrpcRequest(request) + if (!Array.isArray(request) && request.params) { + const infraMsg = await handleInfrastructureMessageDrpc({ params: request.params as { nonce: string } }) + sendResponse({ jsonrpc: '2.0', result: infraMsg, id: request.id }) + } + } + ) + } + }, [drpcRequest, drpcListenerActive]) + const start = async () => { if (!agent) { return } - if (!messageSubscription) { - const messageSub = agent.events - .observable(BasicMessageEventTypes.BasicMessageStateChanged) - .subscribe(handleMessageWithParam) - setMessageSubscription(messageSub) - } - if (!proofSubscription) { const proofSub = agent.events.observable(ProofEventTypes.ProofStateChanged).subscribe(handleProofWithParam) setProofSubscription(proofSub) @@ -413,6 +335,8 @@ export const AttestationProvider: React.FC = ({ child .subscribe(handleOfferWithParam) setOfferSubscription(offerSub) } + + setDrpcListenerActive(true) } const stop = async () => { @@ -430,6 +354,8 @@ export const AttestationProvider: React.FC = ({ child offerSubscription.unsubscribe() setOfferSubscription(undefined) } + + setDrpcListenerActive(false) } const value = { diff --git a/package.json b/package.json index 12794b1c4..bde4c67ba 100644 --- a/package.json +++ b/package.json @@ -57,9 +57,9 @@ "@aries-framework/askar": "0.4.2", "@aries-framework/react-native": "0.4.2", "@aries-framework/indy-sdk-to-askar-migration": "0.4.2", - "@credo-ts/drpc": "patch:@credo-ts/drpc@npm%3A0.5.0-alpha.145#./.yarn/patches/@credo-ts-drpc-npm-0.5.0-alpha.145-4e1953647c.patch", + "@credo-ts/drpc": "patch:@credo-ts/drpc@npm%3A0.5.0-alpha.151#./.yarn/patches/@credo-ts-drpc-npm-0.5.0-alpha.151-5bad8b38bd.patch", "@aries-framework/react-hooks": "patch:@aries-framework/react-hooks@npm:0.4.2#./.yarn/patches/@aries-framework-react-hooks-npm-0.4.2-84b7eb8764.patch", "@aries-framework/anoncreds": "patch:@aries-framework/anoncreds@npm%3A0.4.2#./.yarn/patches/@aries-framework-anoncreds-npm-0.4.0-4d3b4e769d.patch", "@aries-framework/indy-vdr": "patch:@aries-framework/indy-vdr@npm%3A0.4.2#./.yarn/patches/@aries-framework-indy-vdr-npm-0.4.0-b01067562c.patch" } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index ac9ddb1d0..5aad6ff27 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3666,9 +3666,9 @@ __metadata: languageName: node linkType: hard -"@credo-ts/core@npm:0.5.0-alpha.145+4f58925d": - version: 0.5.0-alpha.145 - resolution: "@credo-ts/core@npm:0.5.0-alpha.145" +"@credo-ts/core@npm:0.5.0-alpha.151+d2b5cd9c": + version: 0.5.0-alpha.151 + resolution: "@credo-ts/core@npm:0.5.0-alpha.151" dependencies: "@digitalcredentials/jsonld": "npm:^6.0.0" "@digitalcredentials/jsonld-signatures": "npm:^9.4.0" @@ -3676,7 +3676,7 @@ __metadata: "@multiformats/base-x": "npm:^4.0.1" "@sd-jwt/core": "npm:^0.2.1" "@sd-jwt/decode": "npm:^0.2.1" - "@sphereon/pex": "npm:^3.2.0" + "@sphereon/pex": "npm:3.2.1-unstable.7" "@sphereon/pex-models": "npm:^2.2.0" "@sphereon/ssi-types": "npm:^0.18.1" "@stablelib/ed25519": "npm:^1.0.2" @@ -3701,29 +3701,29 @@ __metadata: uuid: "npm:^9.0.0" varint: "npm:^6.0.0" web-did-resolver: "npm:^2.0.21" - checksum: 779efbfa6709ce3f2908e6e339c8144d5228ec24010eaecd6e7a5b1fd07709af84e1b71c0b263052577e30167f83231396d70638f51f3f4fe889416f9af97fe6 + checksum: b18a72ac12f0b2bea215b6ae903d05418729f5e73735261df022bcf6fe017f55e5a40d2e7c36c85129ced7c6583088009fafff45f84067358aa5006b5015d87a languageName: node linkType: hard -"@credo-ts/drpc@npm:0.5.0-alpha.145": - version: 0.5.0-alpha.145 - resolution: "@credo-ts/drpc@npm:0.5.0-alpha.145" +"@credo-ts/drpc@npm:0.5.0-alpha.151": + version: 0.5.0-alpha.151 + resolution: "@credo-ts/drpc@npm:0.5.0-alpha.151" dependencies: - "@credo-ts/core": "npm:0.5.0-alpha.145+4f58925d" + "@credo-ts/core": "npm:0.5.0-alpha.151+d2b5cd9c" class-transformer: "npm:^0.5.1" class-validator: "npm:0.14.1" - checksum: 718a75f0af6ffb82dceb668f79482eafab9b19a252a076c6be2d475cdbf80a9956f96487cb29ea222cf092a82353e8f49493e0c95617348af7dfb5dbc9f5a598 + checksum: 4568edf63a4b88c4a13156eddae0610936c6e7a201e465ac62ad4a19c7473c0021c14606a8212d4275ebba7f2f883141d15aabe3da8991d66a0e84e2a2ecff00 languageName: node linkType: hard -"@credo-ts/drpc@patch:@credo-ts/drpc@npm%3A0.5.0-alpha.145#./.yarn/patches/@credo-ts-drpc-npm-0.5.0-alpha.145-4e1953647c.patch::locator=bc-wallet-mobile%40workspace%3A.": - version: 0.5.0-alpha.145 - resolution: "@credo-ts/drpc@patch:@credo-ts/drpc@npm%3A0.5.0-alpha.145#./.yarn/patches/@credo-ts-drpc-npm-0.5.0-alpha.145-4e1953647c.patch::version=0.5.0-alpha.145&hash=aa0fe0&locator=bc-wallet-mobile%40workspace%3A." +"@credo-ts/drpc@patch:@credo-ts/drpc@npm%3A0.5.0-alpha.151#./.yarn/patches/@credo-ts-drpc-npm-0.5.0-alpha.151-5bad8b38bd.patch::locator=bc-wallet-mobile%40workspace%3A.": + version: 0.5.0-alpha.151 + resolution: "@credo-ts/drpc@patch:@credo-ts/drpc@npm%3A0.5.0-alpha.151#./.yarn/patches/@credo-ts-drpc-npm-0.5.0-alpha.151-5bad8b38bd.patch::version=0.5.0-alpha.151&hash=c58ea8&locator=bc-wallet-mobile%40workspace%3A." dependencies: - "@credo-ts/core": "npm:0.5.0-alpha.145+4f58925d" + "@credo-ts/core": "npm:0.5.0-alpha.151+d2b5cd9c" class-transformer: "npm:^0.5.1" class-validator: "npm:0.14.1" - checksum: 28b3d9833ae5f6d92f942df652059a799eb9af3517eb7514c28c62c4b2bb8fa6ab356cd5a24e3e7cc718cc8553dad1582c3c1e2650f24885c887be859fdec59d + checksum: 93c443db8b3dc62b3868e320916f41311f837ca5203ab0dbba9f61f8e0d9612cf8ab5029af873a059e6a7fff872efa5fab3c59b8f399ca989ba666c4fb136a3a languageName: node linkType: hard @@ -5665,17 +5665,7 @@ __metadata: languageName: node linkType: hard -"@sd-jwt/decode@npm:^0.3.0": - version: 0.3.0 - resolution: "@sd-jwt/decode@npm:0.3.0" - dependencies: - "@sd-jwt/types": "npm:0.3.0" - "@sd-jwt/utils": "npm:0.3.0" - checksum: 768233952ae6a2853dc5a0ec5d9fa3d30d49221cf003c1df9c83e263b064fcf5e13fa7f7009fe1f62d6e464ab22733f4ee2f2574464dc538b4c56e31a3b32ec4 - languageName: node - linkType: hard - -"@sd-jwt/present@npm:0.2.1": +"@sd-jwt/present@npm:0.2.1, @sd-jwt/present@npm:^0.2.0": version: 0.2.1 resolution: "@sd-jwt/present@npm:0.2.1" dependencies: @@ -5685,16 +5675,6 @@ __metadata: languageName: node linkType: hard -"@sd-jwt/present@npm:^0.3.0": - version: 0.3.0 - resolution: "@sd-jwt/present@npm:0.3.0" - dependencies: - "@sd-jwt/types": "npm:0.3.0" - "@sd-jwt/utils": "npm:0.3.0" - checksum: 7076e9e1e106038051c395c2676c44f33be42d67433c4bc6af1c9220640f7214723f3e9ce5e2f4a4d3abbc6b23dc60a0466335622ba53c921f52ec148e9fcf7b - languageName: node - linkType: hard - "@sd-jwt/types@npm:0.2.1": version: 0.2.1 resolution: "@sd-jwt/types@npm:0.2.1" @@ -5702,14 +5682,7 @@ __metadata: languageName: node linkType: hard -"@sd-jwt/types@npm:0.3.0": - version: 0.3.0 - resolution: "@sd-jwt/types@npm:0.3.0" - checksum: 2cb8fa3e24d310b247f7cd7b67fd92c11a6ff8bc5e16406a2bffff1ee8ca459dcada003748f29133b4a40b9af4b9e7f87296bb308888ac12107ec8b83a89b049 - languageName: node - linkType: hard - -"@sd-jwt/utils@npm:0.2.1": +"@sd-jwt/utils@npm:0.2.1, @sd-jwt/utils@npm:^0.2.0": version: 0.2.1 resolution: "@sd-jwt/utils@npm:0.2.1" dependencies: @@ -5719,16 +5692,6 @@ __metadata: languageName: node linkType: hard -"@sd-jwt/utils@npm:0.3.0, @sd-jwt/utils@npm:^0.3.0": - version: 0.3.0 - resolution: "@sd-jwt/utils@npm:0.3.0" - dependencies: - "@sd-jwt/types": "npm:0.3.0" - buffer: "npm:*" - checksum: c9411a2d202553584ab2d343cdc8af94ea4cd44f0110e7bfcb95ae31a0736739fb9074d962ca08032fa40ca7d1a164927029a26731b072a6cdc82a6fcd8c8e78 - languageName: node - linkType: hard - "@sideway/address@npm:^4.1.3": version: 4.1.4 resolution: "@sideway/address@npm:4.1.4" @@ -5791,29 +5754,29 @@ __metadata: languageName: node linkType: hard -"@sphereon/pex-models@npm:^2.2.0, @sphereon/pex-models@npm:^2.2.2": +"@sphereon/pex-models@npm:^2.2.0": version: 2.2.2 resolution: "@sphereon/pex-models@npm:2.2.2" checksum: 9245c61c1968c133ac721f087623576225f7ab4760eccde7a56a5c741b1919db380f03a471a4200886a5b1367c61879a157e0bf52159561a574ee08375398bc8 languageName: node linkType: hard -"@sphereon/pex@npm:^3.2.0": - version: 3.3.0 - resolution: "@sphereon/pex@npm:3.3.0" +"@sphereon/pex@npm:3.2.1-unstable.7": + version: 3.2.1-unstable.7 + resolution: "@sphereon/pex@npm:3.2.1-unstable.7" dependencies: "@astronautlabs/jsonpath": "npm:^1.1.2" - "@sd-jwt/decode": "npm:^0.3.0" - "@sd-jwt/present": "npm:^0.3.0" - "@sd-jwt/utils": "npm:^0.3.0" - "@sphereon/pex-models": "npm:^2.2.2" + "@sd-jwt/decode": "npm:^0.2.0" + "@sd-jwt/present": "npm:^0.2.0" + "@sd-jwt/utils": "npm:^0.2.0" + "@sphereon/pex-models": "npm:^2.2.0" "@sphereon/ssi-types": "npm:0.18.1" ajv: "npm:^8.12.0" ajv-formats: "npm:^2.1.1" jwt-decode: "npm:^3.1.2" nanoid: "npm:^3.3.7" string.prototype.matchall: "npm:^4.0.10" - checksum: 313500e4d3c6f0aaedbb62b5e91facfd76bcdd8e6820119d5d8e90fb76de727716e9d80ec4343355df71674aa93932b69e5fcfb2b03ef014fe0bd5d4f240add9 + checksum: 56aa61ab821c23b59e509db2199f7a940368a2592b1b54eae669a048f29b9afdfc24d7022e5fb332d114a6e8c991f433e31d9ecb2cfbef01bda5722064f6d09a languageName: node linkType: hard @@ -9111,7 +9074,7 @@ __metadata: "@babel/preset-env": "npm:7.20.2" "@babel/runtime": "npm:7.22.15" "@commitlint/cli": "npm:11.0.0" - "@credo-ts/drpc": "npm:0.5.0-alpha.145" + "@credo-ts/drpc": "npm:0.5.0-alpha.151" "@formatjs/intl-datetimeformat": "npm:4.2.4" "@formatjs/intl-displaynames": "npm:5.2.4" "@formatjs/intl-getcanonicallocales": "npm:1.7.3" From 30c27cbc13a2dfe26af50fbe09c6f5d8b2c1aa77 Mon Sep 17 00:00:00 2001 From: "Jason C. Leach" Date: Wed, 6 Mar 2024 12:14:38 -0800 Subject: [PATCH 3/4] feat: add memcached and expire logs in loki (#1836) Signed-off-by: Jason C. Leach --- .../loki-logstack/templates/configmap.yaml | 50 +++++++++++++++++-- .../loki-logstack/templates/deployment.yaml | 38 +++++++++++++- .../loki-logstack/templates/netpol.yaml | 26 ++++++++++ .../loki-logstack/templates/service.yaml | 17 +++++++ devops/charts/loki-logstack/values.yaml | 17 ++++++- 5 files changed, 140 insertions(+), 8 deletions(-) diff --git a/devops/charts/loki-logstack/templates/configmap.yaml b/devops/charts/loki-logstack/templates/configmap.yaml index 2072c321a..f307131b4 100644 --- a/devops/charts/loki-logstack/templates/configmap.yaml +++ b/devops/charts/loki-logstack/templates/configmap.yaml @@ -31,12 +31,36 @@ data: kvstore: store: inmemory + storage_config: + index_queries_cache_config: + memcached: + batch_size: 100 + parallelism: 100 + memcached_client: + consistent_hash: true + {{- range $name := .Values.services.memcached }} + {{- if eq .name "client" }} + host: {{ include "logstack.fullname" $ }}-memcached.{{ $.Values.namespace }}.svc.cluster.local + service: {{ .name }} + {{- end }} + {{- end }} + query_range: + cache_results: true results_cache: cache: - embedded_cache: - enabled: true - max_size_mb: 8 + memcached_client: + consistent_hash: true + max_idle_conns: 8 + timeout: 500ms + update_interval: 1m + {{- range $name := .Values.services.memcached }} + {{- if eq .name "client" }} + host: {{ include "logstack.fullname" $ }}-memcached.{{ $.Values.namespace }}.svc.cluster.local + service: {{ .name }} + {{- end }} + {{- end }} + schema_config: configs: @@ -54,12 +78,28 @@ data: limits_config: reject_old_samples: true reject_old_samples_max_age: 24h + {{- toYaml .Values.loki.retention | nindent 6 }} chunk_store_config: max_look_back_period: 0s + chunk_cache_config: + memcached: + batch_size: 256 + parallelism: 10 + memcached_client: + {{- range $name := .Values.services.memcached }} + {{- if eq .name "client" }} + host: {{ include "logstack.fullname" $ }}-memcached.{{ $.Values.namespace }}.svc.cluster.local + service: {{ .name }} + {{- end }} + {{- end }} + + compactor: + retention_enabled: true + compaction_interval: 10m + retention_delete_delay: 2h + retention_delete_worker_count: 33 - table_manager: - {{- toYaml .Values.loki.retention | nindent 6 }} # By default, Loki will send anonymous, but uniquely-identifiable usage and configuration # analytics to Grafana Labs. These statistics are sent to https://stats.grafana.org/ # diff --git a/devops/charts/loki-logstack/templates/deployment.yaml b/devops/charts/loki-logstack/templates/deployment.yaml index 7a3ee4e89..3358d87ba 100644 --- a/devops/charts/loki-logstack/templates/deployment.yaml +++ b/devops/charts/loki-logstack/templates/deployment.yaml @@ -120,4 +120,40 @@ spec: port: http initialDelaySeconds: 60 timeoutSeconds: 3 - +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "logstack.fullname" . }}-memcached + labels: {{- include "logstack.labels" . | nindent 4 }} +spec: + {{- if not .Values.autoscaling.enabled }} + replicas: {{ .Values.replicaCount }} + {{- end }} + selector: + matchLabels: + app.kubernetes.io/component: memcached + {{- include "logstack.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + app.kubernetes.io/component: memcached + {{- include "logstack.labels" . | nindent 8 }} + spec: + automountServiceAccountToken: false + imagePullSecrets: + {{- toYaml .Values.imagePullSecrets | nindent 8 }} + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.images.registry }}/{{ .Values.images.memcached.repository }}:{{ .Values.images.memcached.tag | default .Chart.AppVersion }}" + resources: + {{- toYaml .Values.resources.memcached | nindent 12 }} + ports: + {{- range $name, $port := .Values.services.memcached }} + - name: {{ .name }} + containerPort: {{ .port }} + {{- end }} diff --git a/devops/charts/loki-logstack/templates/netpol.yaml b/devops/charts/loki-logstack/templates/netpol.yaml index 056796105..91036bd93 100644 --- a/devops/charts/loki-logstack/templates/netpol.yaml +++ b/devops/charts/loki-logstack/templates/netpol.yaml @@ -43,3 +43,29 @@ spec: kubernetes.io/metadata.name: {{ .Values.namespace }} policyTypes: - Ingress +--- +kind: NetworkPolicy +apiVersion: networking.k8s.io/v1 +metadata: + name: {{ include "logstack.fullname" . }}-loki-to-memcached + labels: {{- include "logstack.labels" . | nindent 4 }} + annotations: {{- toYaml .Values.route.annotations | nindent 4 }} +spec: + podSelector: + matchLabels: + app.kubernetes.io/component: memcached + {{- include "logstack.selectorLabels" . | nindent 6 }} + ingress: + - ports: + - protocol: TCP + port: 11211 + - from: + - podSelector: + matchLabels: + app.kubernetes.io/component: loki + {{- include "logstack.selectorLabels" . | nindent 14 }} + namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: {{ .Values.namespace }} + policyTypes: + - Ingress diff --git a/devops/charts/loki-logstack/templates/service.yaml b/devops/charts/loki-logstack/templates/service.yaml index 566cdbb73..fc64810b8 100644 --- a/devops/charts/loki-logstack/templates/service.yaml +++ b/devops/charts/loki-logstack/templates/service.yaml @@ -32,3 +32,20 @@ spec: selector: app.kubernetes.io/component: proxy {{- include "logstack.selectorLabels" . | nindent 4 }} +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ include "logstack.fullname" . }}-memcached + labels: {{- include "logstack.labels" . | nindent 4 }} +spec: + ports: + {{- range $name, $port := .Values.services.memcached }} + - name: {{ .name }} + port: {{ .port }} + targetPort: {{ .port }} + protocol: TCP + {{- end }} + selector: + app.kubernetes.io/component: memcached + {{- include "logstack.selectorLabels" . | nindent 4 }} diff --git a/devops/charts/loki-logstack/values.yaml b/devops/charts/loki-logstack/values.yaml index 730856d53..6987c5d45 100644 --- a/devops/charts/loki-logstack/values.yaml +++ b/devops/charts/loki-logstack/values.yaml @@ -16,6 +16,10 @@ images: repository: caddy/caddy # Overrides the image tag whose default is the chart appVersion. tag: "latest" + memcached: + repository: memcached + # Overrides the image tag whose default is the chart appVersion. + tag: "1.6.17-alpine" imagePullSecrets: - name: artifactory-creds @@ -31,7 +35,7 @@ resources: cpu: 10m limits: memory: 256Mi - cpu: 100m + cpu: 400m proxy: requests: memory: 32Mi @@ -39,6 +43,13 @@ resources: limits: memory: 64Mi cpu: 60m + memcached: + limits: + cpu: 50m + memory: 32Mi + requests: + cpu: 10m + memory: 32Mi persistentVolumeClaim: mountPath: /data @@ -56,6 +67,9 @@ services: proxy: - name: http port: 2015 + memcached: + - name: client + port: 11211 route: host: "" @@ -100,7 +114,6 @@ volumeMounts: [] # deployments loki: retention: - retention_deletes_enabled: true retention_period: 3d # From 8b2bcd0cfbe14607cce75923e69df657b715d99d Mon Sep 17 00:00:00 2001 From: Bryce McMath <32586431+bryce-mcmath@users.noreply.github.com> Date: Wed, 6 Mar 2024 12:43:10 -0800 Subject: [PATCH 4/4] fix: prevent duplicate connections from being scanned (#1843) Signed-off-by: Bryce McMath --- app/ios/Podfile.lock | 4 ++-- app/package.json | 10 ++++----- app/src/index.ts | 2 +- yarn.lock | 50 ++++++++++++++++++++++---------------------- 4 files changed, 33 insertions(+), 33 deletions(-) diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index b32f2a678..7564eeb6a 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -445,7 +445,7 @@ PODS: - React-jsinspector (0.72.5) - React-logger (0.72.5): - glog - - "react-native-attestation (1.0.0-alpha.198+749b0f95)": + - "react-native-attestation (1.0.0-alpha.202+e022b725)": - RCT-Folly (= 2021.07.22.00) - React-Core - react-native-config (1.5.0): @@ -905,7 +905,7 @@ SPEC CHECKSUMS: React-jsiexecutor: ff70a72027dea5cc7d71cfcc6fad7f599f63987a React-jsinspector: aef73cbd43b70675f572214d10fa438c89bf11ba React-logger: 2e4aee3e11b3ec4fa6cfd8004610bbb3b8d6cca4 - react-native-attestation: 52202ccdb000deba61613bf6091b7dae93b6f575 + react-native-attestation: 9c673340d3853d336d3b76b87213c9b924dfc272 react-native-config: 5330c8258265c1e5fdb8c009d2cabd6badd96727 react-native-encrypted-storage: db300a3f2f0aba1e818417c1c0a6be549038deb7 react-native-get-random-values: a6ea6a8a65dc93e96e24a11105b1a9c8cfe1d72a diff --git a/app/package.json b/app/package.json index ba88eaccc..90a53f271 100644 --- a/app/package.json +++ b/app/package.json @@ -61,11 +61,11 @@ "@formatjs/intl-relativetimeformat": "9.3.1", "@hyperledger/anoncreds-react-native": "0.1.0", "@hyperledger/aries-askar-react-native": "0.1.1", - "@hyperledger/aries-bifold-core": "1.0.0-alpha.198", - "@hyperledger/aries-bifold-remote-logs": "1.0.0-alpha.198", - "@hyperledger/aries-bifold-verifier": "1.0.0-alpha.198", - "@hyperledger/aries-oca": "1.0.0-alpha.198", - "@hyperledger/aries-react-native-attestation": "1.0.0-alpha.198", + "@hyperledger/aries-bifold-core": "1.0.0-alpha.202", + "@hyperledger/aries-bifold-remote-logs": "1.0.0-alpha.202", + "@hyperledger/aries-bifold-verifier": "1.0.0-alpha.202", + "@hyperledger/aries-oca": "1.0.0-alpha.202", + "@hyperledger/aries-react-native-attestation": "1.0.0-alpha.202", "@hyperledger/indy-vdr-react-native": "0.1.0", "@react-native-async-storage/async-storage": "1.15.11", "@react-native-community/masked-view": "0.1.11", diff --git a/app/src/index.ts b/app/src/index.ts index 446ddc630..94d6f8a4f 100644 --- a/app/src/index.ts +++ b/app/src/index.ts @@ -77,7 +77,7 @@ const configuration: ConfigurationContext = { disableOnboardingSkip: true, useCustomNotifications: useNotifications, useAttestation: useAttestation, - enableUseMultUseInvitation: true, + enableUseMultUseInvitation: false, whereToUseWalletUrl: 'https://www2.gov.bc.ca/gov/content/governments/government-id/bc-wallet#where', getCredentialHelpDictionary: [ { diff --git a/yarn.lock b/yarn.lock index 5aad6ff27..1210fe99f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4451,9 +4451,9 @@ __metadata: languageName: node linkType: hard -"@hyperledger/aries-bifold-core@npm:1.0.0-alpha.198": - version: 1.0.0-alpha.198 - resolution: "@hyperledger/aries-bifold-core@npm:1.0.0-alpha.198" +"@hyperledger/aries-bifold-core@npm:1.0.0-alpha.202": + version: 1.0.0-alpha.202 + resolution: "@hyperledger/aries-bifold-core@npm:1.0.0-alpha.202" peerDependencies: "@aries-framework/anoncreds": ^0.4.0 "@aries-framework/anoncreds-rs": ^0.4.0 @@ -4524,13 +4524,13 @@ __metadata: uuid: ^9.0.0 bin: bifold: bin/bifold - checksum: 8245fd4d15a413966f8979863cd0d96611a83237eb511c63e995a7015bd027de437b6e5fac859371c567f7b7265b32dce63953d9ad3d28cab3b44fdeb97ea723 + checksum: 1567e72657604e33e4273f2c7d3819a4d5ccde4cc6364106984c5c6c865ec4f5e42dfec59bd0f5f45c62f4b8c21ffff60726619e900fecbc0acdab94cfe1538e languageName: node linkType: hard -"@hyperledger/aries-bifold-remote-logs@npm:1.0.0-alpha.198": - version: 1.0.0-alpha.198 - resolution: "@hyperledger/aries-bifold-remote-logs@npm:1.0.0-alpha.198" +"@hyperledger/aries-bifold-remote-logs@npm:1.0.0-alpha.202": + version: 1.0.0-alpha.202 + resolution: "@hyperledger/aries-bifold-remote-logs@npm:1.0.0-alpha.202" peerDependencies: "@aries-framework/core": ^0.4.0 axios: ^1.4.0 @@ -4538,41 +4538,41 @@ __metadata: react: ^18.2.0 react-native: ^0.72.5 react-native-logs: ^5.0.1 - checksum: 6955af07e7ea13ebce650df93caa6670c76ea367fc32955b28021c647309d08901d981a131a93610cb2d35d2930652a942b0149c7e6b8b85d1fc51aca7ffd19f + checksum: 89d0c2565570eab0d0092332270f6f25c8aed8a29f98e9a8d612206b9fe9f02738e6c566d683b8c4d003d85fb66e6cb9f5631f06608cf0c63f48b23dc25006ed languageName: node linkType: hard -"@hyperledger/aries-bifold-verifier@npm:1.0.0-alpha.198": - version: 1.0.0-alpha.198 - resolution: "@hyperledger/aries-bifold-verifier@npm:1.0.0-alpha.198" +"@hyperledger/aries-bifold-verifier@npm:1.0.0-alpha.202": + version: 1.0.0-alpha.202 + resolution: "@hyperledger/aries-bifold-verifier@npm:1.0.0-alpha.202" peerDependencies: "@aries-framework/anoncreds": ^0.4.0 "@aries-framework/core": ^0.4.0 "@aries-framework/react-hooks": ^0.4.2 react: ^18.2.0 - checksum: 3deb1d07d68bafcac671dac8ac90f5c18893e3709fe6058fb17bfe5551fd86a66c6f97da185a120e6485ea944764767ad4afac86e2c4e86666a8991a18ab46e7 + checksum: 00e196d0a2c760590d5807348869ac8c22a054f2f2e20c8a3a5fc1d299b4e88d9a30eeb85d1f878359edf445ecfca6f3cc238fc1b51ab90a294d36dfdc10820b languageName: node linkType: hard -"@hyperledger/aries-oca@npm:1.0.0-alpha.198": - version: 1.0.0-alpha.198 - resolution: "@hyperledger/aries-oca@npm:1.0.0-alpha.198" +"@hyperledger/aries-oca@npm:1.0.0-alpha.202": + version: 1.0.0-alpha.202 + resolution: "@hyperledger/aries-oca@npm:1.0.0-alpha.202" dependencies: "@aries-framework/anoncreds": "npm:^0.4.0" "@aries-framework/core": "npm:^0.4.0" axios: "npm:^1.4.0" lodash.startcase: "npm:^4.4.0" - checksum: 25d0ca576e2dae18ad4faae5a86ef8f531460067352e7c080c7b0c2aa642a6d7f877cc213eb0e356ad6b782e493b5dc47eafa6a80f5a369b48ea50891623d769 + checksum: 1d0caea396d5059f43deb5340a05484413a56365b49f63d18e79769688c60208062bb4a1a5c54e3ec95d485f388e544b3477a1486a8be82ac8db0cf9d9e05209 languageName: node linkType: hard -"@hyperledger/aries-react-native-attestation@npm:1.0.0-alpha.198": - version: 1.0.0-alpha.198 - resolution: "@hyperledger/aries-react-native-attestation@npm:1.0.0-alpha.198" +"@hyperledger/aries-react-native-attestation@npm:1.0.0-alpha.202": + version: 1.0.0-alpha.202 + resolution: "@hyperledger/aries-react-native-attestation@npm:1.0.0-alpha.202" peerDependencies: react: "*" react-native: "*" - checksum: 8fa70b3847cf29bdbd92361c26e67ada0cf8925dce506f327aed49bd21d97f99bb8cf08d94eae447655e1f1c050f3c1ce3048d04bb0310eb0e29bcc1b8221e58 + checksum: 0f61ff638ace1fb2caf19fcc537262c6e7cbc6c8dea1356cff9e582ad44aac98bc43d0468cb3b2d836fb5504349ec5e5986995bd89cfee21f0a9bf2a4fe37619 languageName: node linkType: hard @@ -9085,11 +9085,11 @@ __metadata: "@formatjs/intl-relativetimeformat": "npm:9.3.1" "@hyperledger/anoncreds-react-native": "npm:0.1.0" "@hyperledger/aries-askar-react-native": "npm:0.1.1" - "@hyperledger/aries-bifold-core": "npm:1.0.0-alpha.198" - "@hyperledger/aries-bifold-remote-logs": "npm:1.0.0-alpha.198" - "@hyperledger/aries-bifold-verifier": "npm:1.0.0-alpha.198" - "@hyperledger/aries-oca": "npm:1.0.0-alpha.198" - "@hyperledger/aries-react-native-attestation": "npm:1.0.0-alpha.198" + "@hyperledger/aries-bifold-core": "npm:1.0.0-alpha.202" + "@hyperledger/aries-bifold-remote-logs": "npm:1.0.0-alpha.202" + "@hyperledger/aries-bifold-verifier": "npm:1.0.0-alpha.202" + "@hyperledger/aries-oca": "npm:1.0.0-alpha.202" + "@hyperledger/aries-react-native-attestation": "npm:1.0.0-alpha.202" "@hyperledger/indy-vdr-react-native": "npm:0.1.0" "@react-native-async-storage/async-storage": "npm:1.15.11" "@react-native-community/masked-view": "npm:0.1.11"