diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index e581d444b7..cfb09a46f6 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -62,7 +62,7 @@ jobs: - name: Automated testing run: | - yarn run test:coverage + yarn lerna run --stream test:coverage - uses: codecov/codecov-action@v3 if: always() diff --git a/lerna.json b/lerna.json index a7754d6f70..315cb6e594 100644 --- a/lerna.json +++ b/lerna.json @@ -2,6 +2,7 @@ "$schema": "node_modules/lerna/schemas/lerna-schema.json", "packages": [ "packages/oca", + "packages/verifier", "packages/react-native-attestation", "packages/legacy/core" ], diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md deleted file mode 100644 index 5013713261..0000000000 --- a/packages/core/CHANGELOG.md +++ /dev/null @@ -1,5 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines. - -## x.x.x (yyyy-mm-dd) diff --git a/packages/core/README.md b/packages/core/README.md deleted file mode 100644 index 95cc870127..0000000000 --- a/packages/core/README.md +++ /dev/null @@ -1,33 +0,0 @@ -

-
- Hyperledger Aries logo -

-

Aries Bifold - Core

-

- License - typescript - @aries-bifold/core version - -

-
- -Aries Bifold Core provides the primary components and services of Aries Bifold. - -_Package structure inspired / adapted from the [Aries Framework Javascript](https://github.com/hyperledger/aries-framework-javascript) project_ diff --git a/packages/core/android/build.gradle b/packages/core/android/build.gradle deleted file mode 100644 index 1ccb4030e9..0000000000 --- a/packages/core/android/build.gradle +++ /dev/null @@ -1,85 +0,0 @@ -buildscript { - // Buildscript is evaluated before everything else so we can't use getExtOrDefault - def kotlin_version = rootProject.ext.has("kotlinVersion") ? rootProject.ext.get("kotlinVersion") : project.properties["Core_kotlinVersion"] - - repositories { - google() - mavenCentral() - } - - dependencies { - classpath "com.android.tools.build:gradle:7.2.1" - // noinspection DifferentKotlinGradleVersion - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - -def isNewArchitectureEnabled() { - return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true" -} - -apply plugin: "com.android.library" -apply plugin: "kotlin-android" - - -def appProject = rootProject.allprojects.find { it.plugins.hasPlugin('com.android.application') } - -if (isNewArchitectureEnabled()) { - apply plugin: "com.facebook.react" -} - -def getExtOrDefault(name) { - return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["Core_" + name] -} - -def getExtOrIntegerDefault(name) { - return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["Core_" + name]).toInteger() -} - -android { - compileSdkVersion getExtOrIntegerDefault("compileSdkVersion") - - defaultConfig { - minSdkVersion getExtOrIntegerDefault("minSdkVersion") - targetSdkVersion getExtOrIntegerDefault("targetSdkVersion") - buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() - } - buildTypes { - release { - minifyEnabled false - } - } - - lintOptions { - disable "GradleCompatible" - } - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - -} - -repositories { - mavenCentral() - google() -} - -def kotlin_version = getExtOrDefault("kotlinVersion") - -dependencies { - // For < 0.71, this will be from the local maven repo - // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin - //noinspection GradleDynamicVersion - implementation "com.facebook.react:react-native:+" - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" -} - -if (isNewArchitectureEnabled()) { - react { - jsRootDir = file("../src/") - libraryName = "Core" - codegenJavaPackageName = "com.ariesbifold.core" - } -} diff --git a/packages/core/android/gradle.properties b/packages/core/android/gradle.properties deleted file mode 100644 index 658abc2098..0000000000 --- a/packages/core/android/gradle.properties +++ /dev/null @@ -1,5 +0,0 @@ -Core_kotlinVersion=1.7.0 -Core_minSdkVersion=21 -Core_targetSdkVersion=33 -Core_compileSdkVersion=33 -Core_ndkversion=21.4.7075529 diff --git a/packages/core/android/src/main/AndroidManifest.xml b/packages/core/android/src/main/AndroidManifest.xml deleted file mode 100644 index 03c281a7a7..0000000000 --- a/packages/core/android/src/main/AndroidManifest.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - diff --git a/packages/core/android/src/main/java/com/ariesbifold/core/CoreModule.kt b/packages/core/android/src/main/java/com/ariesbifold/core/CoreModule.kt deleted file mode 100644 index 64a5b8849f..0000000000 --- a/packages/core/android/src/main/java/com/ariesbifold/core/CoreModule.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.ariesbifold.core - -import com.facebook.react.bridge.ReactApplicationContext -import com.facebook.react.bridge.ReactContextBaseJavaModule -import com.facebook.react.bridge.ReactMethod -import com.facebook.react.bridge.Promise - -class CoreModule(reactContext: ReactApplicationContext) : - ReactContextBaseJavaModule(reactContext) { - - override fun getName(): String { - return NAME - } - - // Example method - // See https://reactnative.dev/docs/native-modules-android - @ReactMethod - fun multiply(a: Double, b: Double, promise: Promise) { - promise.resolve(a * b) - } - - companion object { - const val NAME = "Core" - } -} diff --git a/packages/core/android/src/main/java/com/ariesbifold/core/CorePackage.kt b/packages/core/android/src/main/java/com/ariesbifold/core/CorePackage.kt deleted file mode 100644 index 6f2d1cc33b..0000000000 --- a/packages/core/android/src/main/java/com/ariesbifold/core/CorePackage.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.ariesbifold.core - -import com.facebook.react.ReactPackage -import com.facebook.react.bridge.NativeModule -import com.facebook.react.bridge.ReactApplicationContext -import com.facebook.react.uimanager.ViewManager - - -class CorePackage : ReactPackage { - override fun createNativeModules(reactContext: ReactApplicationContext): List { - return listOf(CoreModule(reactContext)) - } - - override fun createViewManagers(reactContext: ReactApplicationContext): List> { - return emptyList() - } -} diff --git a/packages/core/aries-bifold-core.podspec b/packages/core/aries-bifold-core.podspec deleted file mode 100644 index 67de105677..0000000000 --- a/packages/core/aries-bifold-core.podspec +++ /dev/null @@ -1,35 +0,0 @@ -require "json" - -package = JSON.parse(File.read(File.join(__dir__, "package.json"))) -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' - -Pod::Spec.new do |s| - s.name = "aries-bifold-core" - s.version = package["version"] - s.summary = package["description"] - s.homepage = package["homepage"] - s.license = package["license"] - s.authors = package["author"] - - s.platforms = { :ios => "11.0" } - s.source = { :git => "https://github.com/hyperledger/aries-mobile-agent-react-native/tree/main/packages/core", :tag => "#{s.version}" } - - s.source_files = "ios/**/*.{h,m,mm,swift}" - - s.dependency "React-Core" - - # Don't install the dependencies when we run `pod install` in the old architecture. - if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then - s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1" - s.pod_target_xcconfig = { - "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"", - "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" - } - s.dependency "React-Codegen" - s.dependency "RCT-Folly" - s.dependency "RCTRequired" - s.dependency "RCTTypeSafety" - s.dependency "ReactCommon/turbomodule/core" - end -end diff --git a/packages/core/ios/Core-Bridging-Header.h b/packages/core/ios/Core-Bridging-Header.h deleted file mode 100644 index dea7ff6bf0..0000000000 --- a/packages/core/ios/Core-Bridging-Header.h +++ /dev/null @@ -1,2 +0,0 @@ -#import -#import diff --git a/packages/core/ios/Core.m b/packages/core/ios/Core.m deleted file mode 100644 index fc8ea13035..0000000000 --- a/packages/core/ios/Core.m +++ /dev/null @@ -1,14 +0,0 @@ -#import - -@interface RCT_EXTERN_MODULE(Core, NSObject) - -RCT_EXTERN_METHOD(multiply:(float)a withB:(float)b - withResolver:(RCTPromiseResolveBlock)resolve - withRejecter:(RCTPromiseRejectBlock)reject) - -+ (BOOL)requiresMainQueueSetup -{ - return NO; -} - -@end diff --git a/packages/core/ios/Core.swift b/packages/core/ios/Core.swift deleted file mode 100644 index b01cc85908..0000000000 --- a/packages/core/ios/Core.swift +++ /dev/null @@ -1,8 +0,0 @@ -@objc(Core) -class Core: NSObject { - - @objc(multiply:withB:withResolver:withRejecter:) - func multiply(a: Float, b: Float, resolve:RCTPromiseResolveBlock,reject:RCTPromiseRejectBlock) -> Void { - resolve(a*b) - } -} diff --git a/packages/core/ios/Core.xcodeproj/project.pbxproj b/packages/core/ios/Core.xcodeproj/project.pbxproj deleted file mode 100644 index c67a2e8d73..0000000000 --- a/packages/core/ios/Core.xcodeproj/project.pbxproj +++ /dev/null @@ -1,283 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 5E555C0D2413F4C50049A1A2 /* Core.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* Core.m */; }; - F4FF95D7245B92E800C19C63 /* Core.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FF95D6245B92E800C19C63 /* Core.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 58B511D91A9E6C8500147676 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = "include/$(PRODUCT_NAME)"; - dstSubfolderSpec = 16; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 134814201AA4EA6300B7C361 /* libCore.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libCore.a; sourceTree = BUILT_PRODUCTS_DIR; }; - B3E7B5891CC2AC0600A0062D /* Core.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Core.m; sourceTree = ""; }; - F4FF95D5245B92E700C19C63 /* Core-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Core-Bridging-Header.h"; sourceTree = ""; }; - F4FF95D6245B92E800C19C63 /* Core.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Core.swift; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 58B511D81A9E6C8500147676 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 134814211AA4EA7D00B7C361 /* Products */ = { - isa = PBXGroup; - children = ( - 134814201AA4EA6300B7C361 /* libCore.a */, - ); - name = Products; - sourceTree = ""; - }; - 58B511D21A9E6C8500147676 = { - isa = PBXGroup; - children = ( - F4FF95D6245B92E800C19C63 /* Core.swift */, - B3E7B5891CC2AC0600A0062D /* Core.m */, - F4FF95D5245B92E700C19C63 /* Core-Bridging-Header.h */, - 134814211AA4EA7D00B7C361 /* Products */, - ); - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 58B511DA1A9E6C8500147676 /* Core */ = { - isa = PBXNativeTarget; - buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "Core" */; - buildPhases = ( - 58B511D71A9E6C8500147676 /* Sources */, - 58B511D81A9E6C8500147676 /* Frameworks */, - 58B511D91A9E6C8500147676 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Core; - productName = RCTDataManager; - productReference = 134814201AA4EA6300B7C361 /* libCore.a */; - productType = "com.apple.product-type.library.static"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 58B511D31A9E6C8500147676 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0920; - ORGANIZATIONNAME = Facebook; - TargetAttributes = { - 58B511DA1A9E6C8500147676 = { - CreatedOnToolsVersion = 6.1.1; - }; - }; - }; - buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "Core" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - en, - ); - mainGroup = 58B511D21A9E6C8500147676; - productRefGroup = 58B511D21A9E6C8500147676; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 58B511DA1A9E6C8500147676 /* Core */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 58B511D71A9E6C8500147676 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - F4FF95D7245B92E800C19C63 /* Core.swift in Sources */, - B3E7B58A1CC2AC0600A0062D /* Core.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 58B511ED1A9E6C8500147676 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=*]" = arm64; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Debug; - }; - 58B511EE1A9E6C8500147676 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=*]" = arm64; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 58B511F01A9E6C8500147676 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = ( - "$(inherited)", - /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, - "$(SRCROOT)/../../../React/**", - "$(SRCROOT)/../../react-native/React/**", - ); - LIBRARY_SEARCH_PATHS = "$(inherited)"; - OTHER_LDFLAGS = "-ObjC"; - PRODUCT_NAME = Core; - SKIP_INSTALL = YES; - SWIFT_OBJC_BRIDGING_HEADER = "Core-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 58B511F11A9E6C8500147676 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = ( - "$(inherited)", - /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, - "$(SRCROOT)/../../../React/**", - "$(SRCROOT)/../../react-native/React/**", - ); - LIBRARY_SEARCH_PATHS = "$(inherited)"; - OTHER_LDFLAGS = "-ObjC"; - PRODUCT_NAME = Core; - SKIP_INSTALL = YES; - SWIFT_OBJC_BRIDGING_HEADER = "Core-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "Core" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 58B511ED1A9E6C8500147676 /* Debug */, - 58B511EE1A9E6C8500147676 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "Core" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 58B511F01A9E6C8500147676 /* Debug */, - 58B511F11A9E6C8500147676 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 58B511D31A9E6C8500147676 /* Project object */; -} diff --git a/packages/core/ios/Core.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/core/ios/Core.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 94b2795e22..0000000000 --- a/packages/core/ios/Core.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,4 +0,0 @@ - - - diff --git a/packages/core/package.json b/packages/core/package.json deleted file mode 100644 index 66e8d1e83d..0000000000 --- a/packages/core/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "@hyperledger/aries-bifold-core", - "version": "1.0.0", - "private": true, - "main": "build/index", - "types": "build/index", - "files": [ - "build", - "android", - "ios", - "cpp", - "*.podspec", - "!lib/typescript/example", - "!ios/build", - "!android/build", - "!android/gradle", - "!android/gradlew", - "!android/gradlew.bat", - "!android/local.properties", - "!**/__tests__", - "!**/__fixtures__", - "!**/__mocks__", - "!**/.*" - ], - "license": "Apache-2.0", - "publishConfig": { - "access": "public" - }, - "homepage": "https://github.com/hyperledger/aries-mobile-agent-react-native/tree/main/packages/core", - "repository": { - "type": "git", - "url": "https://github.com/hyperledger/aries-mobile-agent-react-native", - "directory": "packages/core" - }, - "scripts": { - "build": "yarn run clean && yarn run compile", - "clean": "rimraf ./build", - "compile": "tsc -p tsconfig.build.json", - "prepublishOnly": "yarn run build", - "test": "jest" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - }, - "devDependencies": { - "@react-native-community/eslint-config": "^3.2.0", - "@types/jest": "^29.5.5", - "@types/react": "^18.0.24", - "@types/react-native": "0.71.5", - "@types/ws": "^7.4.6", - "react": "*", - "react-native": "*", - "rimraf": "^5.0.0", - "typescript": "^5.0.4" - } -} diff --git a/packages/core/src/__tests__/index.test.ts b/packages/core/src/__tests__/index.test.ts deleted file mode 100644 index d41123fcbe..0000000000 --- a/packages/core/src/__tests__/index.test.ts +++ /dev/null @@ -1 +0,0 @@ -it.todo('write a test') diff --git a/packages/core/src/index.tsx b/packages/core/src/index.tsx deleted file mode 100644 index 95af63cfe1..0000000000 --- a/packages/core/src/index.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { NativeModules, Platform } from 'react-native' - -const LINKING_ERROR = - `The package '@aries-bifold/core' doesn't seem to be linked. Make sure: \n\n` + - Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) + - '- You rebuilt the app after installing the package\n' + - '- You are not using Expo Go\n' - -const Core = NativeModules.Core - ? NativeModules.Core - : new Proxy( - {}, - { - get() { - throw new Error(LINKING_ERROR) - }, - } - ) - -export function multiply(a: number, b: number): Promise { - return Core.multiply(a, b) -} diff --git a/packages/core/tsconfig.build.json b/packages/core/tsconfig.build.json deleted file mode 100644 index 51ebbf77e7..0000000000 --- a/packages/core/tsconfig.build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.json", - - "compilerOptions": { - "outDir": "./build" - }, - - "include": ["src/**/*"] -} diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json deleted file mode 100644 index 6dc095ef79..0000000000 --- a/packages/core/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "allowJs": false - } -} diff --git a/packages/legacy/app/App.tsx b/packages/legacy/app/App.tsx index 6787d6b4eb..c3bc289b51 100644 --- a/packages/legacy/app/App.tsx +++ b/packages/legacy/app/App.tsx @@ -22,7 +22,7 @@ import { defaultConfiguration, animatedComponents, AnimatedComponentsProvider, -} from 'aries-bifold' +} from '@hyperledger/aries-bifold-core' import * as React from 'react' import { useEffect, useMemo } from 'react' import { StatusBar } from 'react-native' diff --git a/packages/legacy/app/index.js b/packages/legacy/app/index.js index 95c72d4533..9ec0c4663f 100644 --- a/packages/legacy/app/index.js +++ b/packages/legacy/app/index.js @@ -20,8 +20,8 @@ import '@formatjs/intl-datetimeformat/polyfill' import '@formatjs/intl-datetimeformat/locale-data/en' // locale-data for en import '@formatjs/intl-datetimeformat/add-all-tz' // Add ALL tz data +import { NavigationTheme } from '@hyperledger/aries-bifold-core' import { NavigationContainer, useNavigationContainerRef } from '@react-navigation/native' -import { NavigationTheme } from 'aries-bifold' import * as React from 'react' import { AppRegistry, LogBox } from 'react-native' //import { version as ReactNativeVersion } from 'react-native/Libraries/Core/ReactNativeVersion' diff --git a/packages/legacy/app/ios/ariesbifold.xcodeproj/project.pbxproj b/packages/legacy/app/ios/ariesbifold.xcodeproj/project.pbxproj index e3e3197b1e..0218196526 100644 --- a/packages/legacy/app/ios/ariesbifold.xcodeproj/project.pbxproj +++ b/packages/legacy/app/ios/ariesbifold.xcodeproj/project.pbxproj @@ -649,7 +649,6 @@ OTHER_LDFLAGS = ( "$(inherited)", " ", - "-Wl -ld_classic ", ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; @@ -718,7 +717,6 @@ OTHER_LDFLAGS = ( "$(inherited)", " ", - "-Wl -ld_classic ", ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; diff --git a/packages/legacy/app/metro.config.js b/packages/legacy/app/metro.config.js index 72c279b2bf..3b0fd9ecf1 100644 --- a/packages/legacy/app/metro.config.js +++ b/packages/legacy/app/metro.config.js @@ -6,7 +6,11 @@ const escape = require('escape-string-regexp') const exclusionList = require('metro-config/src/defaults/exclusionList') const path = require('path') -const packageDirs = [path.resolve(__dirname, '../core'), path.resolve(__dirname, '../../oca')] +const packageDirs = [ + path.resolve(__dirname, '../core'), + path.resolve(__dirname, '../../oca'), + path.resolve(__dirname, '../../verifier'), +] const watchFolders = [...packageDirs] diff --git a/packages/legacy/app/package.json b/packages/legacy/app/package.json index 2f30e6ae54..a0603da8ab 100644 --- a/packages/legacy/app/package.json +++ b/packages/legacy/app/package.json @@ -7,7 +7,8 @@ "android": "react-native run-android", "gradle": "./android/gradlew --project-dir=./android --no-daemon", "gradle:write-locks": "cd android && ./gradlew app:dependencies --write-locks", - "postinstall": "patch-package && react-native setup-ios-permissions && pod-install --non-interactive", + "prepare": "patch-package", + "setup:ios": "react-native setup-ios-permissions && pod-install --non-interactive", "ios": "react-native run-ios", "start": "react-native start", "test": "echo 'nothing to do'" @@ -32,6 +33,7 @@ "@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", "@hyperledger/aries-oca": "^1.0.0", "@hyperledger/indy-vdr-react-native": "^0.1.0", "@react-native-async-storage/async-storage": "1.15.11", @@ -42,7 +44,6 @@ "@react-navigation/devtools": "^6.0.8", "@react-navigation/native": "6.0.6", "@react-navigation/stack": "6.0.11", - "aries-bifold": "^1.0.0", "axios": "^1.4.0", "i18next": "^21.4.0", "lodash.flatten": "^4.4.0", diff --git a/packages/legacy/core/App/components/listItems/NotificationListItem.tsx b/packages/legacy/core/App/components/listItems/NotificationListItem.tsx index 7a0341b1db..edb4a43ead 100644 --- a/packages/legacy/core/App/components/listItems/NotificationListItem.tsx +++ b/packages/legacy/core/App/components/listItems/NotificationListItem.tsx @@ -8,6 +8,7 @@ import { ProofState, } from '@aries-framework/core' import { useAgent, useConnectionById } from '@aries-framework/react-hooks' +import { markProofAsViewed } from '@hyperledger/aries-bifold-verifier' import { useNavigation } from '@react-navigation/core' import { StackNavigationProp } from '@react-navigation/stack' import React, { useState, useEffect } from 'react' @@ -15,7 +16,6 @@ import { useTranslation } from 'react-i18next' import { StyleSheet, View, ViewStyle, Text, TextStyle, DeviceEventEmitter, TouchableOpacity } from 'react-native' import Icon from 'react-native-vector-icons/MaterialIcons' -import { markProofAsViewed } from '../../../verifier' import { EventTypes, hitSlop } from '../../constants' import { useConfiguration } from '../../contexts/configuration' import { useStore } from '../../contexts/store' diff --git a/packages/legacy/core/App/components/misc/SharedProofData.tsx b/packages/legacy/core/App/components/misc/SharedProofData.tsx index 9056d2bd03..41fe95b286 100644 --- a/packages/legacy/core/App/components/misc/SharedProofData.tsx +++ b/packages/legacy/core/App/components/misc/SharedProofData.tsx @@ -1,16 +1,16 @@ import { useAgent } from '@aries-framework/react-hooks' +import { + GroupedSharedProofData, + GroupedSharedProofDataItem, + getProofData, + groupSharedProofDataByCredential, +} from '@hyperledger/aries-bifold-verifier' import { BrandingOverlay } from '@hyperledger/aries-oca' import { Attribute, CredentialOverlay, Field, Predicate } from '@hyperledger/aries-oca/build/legacy' import React, { useEffect, useState } from 'react' import { useTranslation } from 'react-i18next' import { useWindowDimensions, Image, StyleSheet, Text, View } from 'react-native' -import { - GroupedSharedProofData, - GroupedSharedProofDataItem, - getProofData, - groupSharedProofDataByCredential, -} from '../../../verifier' import { useAnimatedComponents } from '../../contexts/animated-components' import { useConfiguration } from '../../contexts/configuration' import { useTheme } from '../../contexts/theme' diff --git a/packages/legacy/core/App/contexts/configuration.tsx b/packages/legacy/core/App/contexts/configuration.tsx index 058446c071..e2ac73b47f 100644 --- a/packages/legacy/core/App/contexts/configuration.tsx +++ b/packages/legacy/core/App/contexts/configuration.tsx @@ -1,8 +1,8 @@ import { IndyVdrPoolConfig } from '@aries-framework/indy-vdr' +import { ProofRequestTemplate } from '@hyperledger/aries-bifold-verifier' import { OCABundleResolverType } from '@hyperledger/aries-oca/build/legacy' import { createContext, ReducerAction, useContext } from 'react' -import { ProofRequestTemplate } from '../../verifier' import { EmptyListProps } from '../components/misc/EmptyList' import { RecordProps } from '../components/record/Record' import { Locales } from '../localization' diff --git a/packages/legacy/core/App/defaultConfiguration.ts b/packages/legacy/core/App/defaultConfiguration.ts index ebe307d007..78152a7a50 100644 --- a/packages/legacy/core/App/defaultConfiguration.ts +++ b/packages/legacy/core/App/defaultConfiguration.ts @@ -1,8 +1,8 @@ +import { useProofRequestTemplates } from '@hyperledger/aries-bifold-verifier' import { IOverlayBundleData } from '@hyperledger/aries-oca' import { BrandingOverlayType, DefaultOCABundleResolver } from '@hyperledger/aries-oca/build/legacy' import defaultIndyLedgers from '../configs/ledgers/indy' -import { useProofRequestTemplates } from '../verifier' import * as bundle from './assets/oca-bundles.json' import EmptyList from './components/misc/EmptyList' diff --git a/packages/legacy/core/App/hooks/notifications.ts b/packages/legacy/core/App/hooks/notifications.ts index c7d8f25278..e8906e7edf 100644 --- a/packages/legacy/core/App/hooks/notifications.ts +++ b/packages/legacy/core/App/hooks/notifications.ts @@ -6,8 +6,8 @@ import { ProofState, } from '@aries-framework/core' import { useBasicMessages, useCredentialByState, useProofByState } from '@aries-framework/react-hooks' +import { ProofCustomMetadata, ProofMetadata } from '@hyperledger/aries-bifold-verifier' -import { ProofCustomMetadata, ProofMetadata } from '../../verifier' import { BasicMessageMetadata, CredentialMetadata, diff --git a/packages/legacy/core/App/hooks/proof-request-templates.ts b/packages/legacy/core/App/hooks/proof-request-templates.ts index f2156d53d3..1b9b242b00 100644 --- a/packages/legacy/core/App/hooks/proof-request-templates.ts +++ b/packages/legacy/core/App/hooks/proof-request-templates.ts @@ -1,6 +1,6 @@ +import { ProofRequestTemplate } from '@hyperledger/aries-bifold-verifier' import { useEffect, useState } from 'react' -import { ProofRequestTemplate } from '../../verifier' import { useConfiguration } from '../contexts/configuration' import { useStore } from '../contexts/store' import { applyTemplateMarkers, useRemoteProofBundleResolver } from '../utils/proofBundle' diff --git a/packages/legacy/core/App/index.ts b/packages/legacy/core/App/index.ts index 8c290d59b8..62589ade47 100644 --- a/packages/legacy/core/App/index.ts +++ b/packages/legacy/core/App/index.ts @@ -96,7 +96,6 @@ export type { Migration as MigrationState, Tours as ToursState, } from './types/state' -export * from '../verifier' export { indyLedgers, diff --git a/packages/legacy/core/App/navigators/RootStack.tsx b/packages/legacy/core/App/navigators/RootStack.tsx index e2c1693ca9..1dc61a8590 100644 --- a/packages/legacy/core/App/navigators/RootStack.tsx +++ b/packages/legacy/core/App/navigators/RootStack.tsx @@ -1,5 +1,6 @@ import { ProofState } from '@aries-framework/core' import { useAgent, useProofByState } from '@aries-framework/react-hooks' +import { ProofCustomMetadata, ProofMetadata } from '@hyperledger/aries-bifold-verifier' import { useNavigation } from '@react-navigation/core' import { createStackNavigator, StackCardStyleInterpolator, StackNavigationProp } from '@react-navigation/stack' import { parseUrl } from 'query-string' @@ -7,7 +8,6 @@ import React, { useEffect, useRef, useState } from 'react' import { useTranslation } from 'react-i18next' import { AppState, DeviceEventEmitter } from 'react-native' -import { ProofCustomMetadata, ProofMetadata } from '../../verifier' import HeaderButton, { ButtonLocation } from '../components/buttons/HeaderButton' import { EventTypes, walletTimeout } from '../constants' import { useAuth } from '../contexts/auth' diff --git a/packages/legacy/core/App/screens/Chat.tsx b/packages/legacy/core/App/screens/Chat.tsx index 22161612c9..d50a9b71a7 100644 --- a/packages/legacy/core/App/screens/Chat.tsx +++ b/packages/legacy/core/App/screens/Chat.tsx @@ -7,6 +7,7 @@ import { ProofState, } from '@aries-framework/core' import { useAgent, useBasicMessagesByConnectionId, useConnectionById } from '@aries-framework/react-hooks' +import { isPresentationReceived } from '@hyperledger/aries-bifold-verifier' import { useIsFocused, useNavigation } from '@react-navigation/core' import { StackNavigationProp, StackScreenProps } from '@react-navigation/stack' import React, { useCallback, useEffect, useMemo, useState } from 'react' @@ -15,7 +16,6 @@ import { Linking, Text } from 'react-native' import { GiftedChat, IMessage } from 'react-native-gifted-chat' import { SafeAreaView } from 'react-native-safe-area-context' -import { isPresentationReceived } from '../../verifier' import InfoIcon from '../components/buttons/InfoIcon' import { renderComposer, renderInputToolbar, renderSend } from '../components/chat' import ActionSlider from '../components/chat/ActionSlider' diff --git a/packages/legacy/core/App/screens/ListProofRequests.tsx b/packages/legacy/core/App/screens/ListProofRequests.tsx index 867dd15a02..296aef9627 100644 --- a/packages/legacy/core/App/screens/ListProofRequests.tsx +++ b/packages/legacy/core/App/screens/ListProofRequests.tsx @@ -1,3 +1,4 @@ +import { ProofRequestTemplate, hasPredicates, isParameterizable } from '@hyperledger/aries-bifold-verifier' import { MetaOverlay, OverlayType } from '@hyperledger/aries-oca' import { StackNavigationProp, StackScreenProps } from '@react-navigation/stack' import React, { useEffect, useState } from 'react' @@ -6,7 +7,6 @@ import { FlatList, StyleSheet, Text, TouchableOpacity, View } from 'react-native import { SafeAreaView } from 'react-native-safe-area-context' import Icon from 'react-native-vector-icons/MaterialIcons' -import { ProofRequestTemplate, hasPredicates, isParameterizable } from '../../verifier' import EmptyList from '../components/misc/EmptyList' import { useConfiguration } from '../contexts/configuration' import { useStore } from '../contexts/store' diff --git a/packages/legacy/core/App/screens/ProofDetails.tsx b/packages/legacy/core/App/screens/ProofDetails.tsx index f6bc0d02ae..6aecab05db 100644 --- a/packages/legacy/core/App/screens/ProofDetails.tsx +++ b/packages/legacy/core/App/screens/ProofDetails.tsx @@ -2,6 +2,12 @@ import type { StackScreenProps } from '@react-navigation/stack' import { ProofExchangeRecord, ProofState } from '@aries-framework/core' import { useAgent, useConnectionById, useProofById } from '@aries-framework/react-hooks' +import { + ProofCustomMetadata, + ProofMetadata, + GroupedSharedProofDataItem, + markProofAsViewed, +} from '@hyperledger/aries-bifold-verifier' import { useFocusEffect } from '@react-navigation/native' import { StackNavigationProp } from '@react-navigation/stack' import React, { useCallback, useEffect, useMemo, useState } from 'react' @@ -10,7 +16,6 @@ import { BackHandler, ScrollView, StyleSheet, Text, View } from 'react-native' import { SafeAreaView } from 'react-native-safe-area-context' import Icon from 'react-native-vector-icons/MaterialCommunityIcons' -import { ProofCustomMetadata, ProofMetadata, GroupedSharedProofDataItem, markProofAsViewed } from '../../verifier' import InformationReceived from '../assets/img/information-received.svg' import Button, { ButtonType } from '../components/buttons/Button' import SharedProofData from '../components/misc/SharedProofData' diff --git a/packages/legacy/core/App/screens/ProofRequestDetails.tsx b/packages/legacy/core/App/screens/ProofRequestDetails.tsx index 1d361cb162..f2c9f79562 100644 --- a/packages/legacy/core/App/screens/ProofRequestDetails.tsx +++ b/packages/legacy/core/App/screens/ProofRequestDetails.tsx @@ -1,4 +1,10 @@ import { useAgent } from '@aries-framework/react-hooks' +import { + AnonCredsProofRequestTemplatePayloadData, + ProofRequestType, + linkProofWithTemplate, + sendProofRequest, +} from '@hyperledger/aries-bifold-verifier' import { MetaOverlay } from '@hyperledger/aries-oca' import { Attribute, Field, Predicate } from '@hyperledger/aries-oca/build/legacy' import { OverlayType } from '@hyperledger/aries-oca/build/types/TypeEnums' @@ -8,12 +14,6 @@ import { useTranslation } from 'react-i18next' import { FlatList, StyleProp, StyleSheet, Text, TextInput, TextStyle, View } from 'react-native' import { SafeAreaView } from 'react-native-safe-area-context' -import { - AnonCredsProofRequestTemplatePayloadData, - ProofRequestType, - linkProofWithTemplate, - sendProofRequest, -} from '../../verifier' import Button, { ButtonType } from '../components/buttons/Button' import AlertModal from '../components/modals/AlertModal' import { useConfiguration } from '../contexts/configuration' diff --git a/packages/legacy/core/App/screens/ProofRequestUsageHistory.tsx b/packages/legacy/core/App/screens/ProofRequestUsageHistory.tsx index 1fe39f4e7a..345e2f6b1a 100644 --- a/packages/legacy/core/App/screens/ProofRequestUsageHistory.tsx +++ b/packages/legacy/core/App/screens/ProofRequestUsageHistory.tsx @@ -1,5 +1,6 @@ import { ProofExchangeRecord, ProofState } from '@aries-framework/core' import { useConnectionById } from '@aries-framework/react-hooks' +import { useProofsByTemplateId, isPresentationReceived } from '@hyperledger/aries-bifold-verifier' import { StackNavigationProp, StackScreenProps } from '@react-navigation/stack' import React, { useCallback, useMemo } from 'react' import { useTranslation } from 'react-i18next' @@ -7,7 +8,6 @@ import { FlatList, StyleSheet, Text, TouchableOpacity, View } from 'react-native import { SafeAreaView } from 'react-native-safe-area-context' import Icon from 'react-native-vector-icons/MaterialIcons' -import { useProofsByTemplateId, isPresentationReceived } from '../../verifier' import EmptyList from '../components/misc/EmptyList' import { useStore } from '../contexts/store' import { useTheme } from '../contexts/theme' diff --git a/packages/legacy/core/App/screens/ProofRequesting.tsx b/packages/legacy/core/App/screens/ProofRequesting.tsx index 5278f82009..f9fa5ed476 100644 --- a/packages/legacy/core/App/screens/ProofRequesting.tsx +++ b/packages/legacy/core/App/screens/ProofRequesting.tsx @@ -2,6 +2,14 @@ import type { StackScreenProps } from '@react-navigation/stack' import { DidExchangeState } from '@aries-framework/core' import { useAgent, useProofById } from '@aries-framework/react-hooks' +import { + ProofCustomMetadata, + ProofMetadata, + isPresentationFailed, + isPresentationReceived, + linkProofWithTemplate, + sendProofRequest, +} from '@hyperledger/aries-bifold-verifier' import { useIsFocused } from '@react-navigation/core' import { useFocusEffect } from '@react-navigation/native' import React, { useCallback, useEffect, useState } from 'react' @@ -18,14 +26,6 @@ import { } from 'react-native' import { SafeAreaView } from 'react-native-safe-area-context' -import { - ProofCustomMetadata, - ProofMetadata, - isPresentationFailed, - isPresentationReceived, - linkProofWithTemplate, - sendProofRequest, -} from '../../verifier' import LoadingIndicator from '../components/animated/LoadingIndicator' import Button, { ButtonType } from '../components/buttons/Button' import QRRenderer from '../components/misc/QRRenderer' diff --git a/packages/legacy/core/App/utils/oca.ts b/packages/legacy/core/App/utils/oca.ts index 27e0b60b31..8b902fa9ff 100644 --- a/packages/legacy/core/App/utils/oca.ts +++ b/packages/legacy/core/App/utils/oca.ts @@ -1,8 +1,7 @@ import { CredentialExchangeRecord } from '@aries-framework/core' +import { CredentialSharedProofData, AnonCredsProofRequestTemplatePayloadData } from '@hyperledger/aries-bifold-verifier' import { Attribute, Field, Predicate } from '@hyperledger/aries-oca/build/legacy' -import { CredentialSharedProofData, AnonCredsProofRequestTemplatePayloadData } from '../../verifier' - export const buildFieldsFromAnonCredsCredential = (credential: CredentialExchangeRecord): Array => { return credential?.credentialAttributes?.map((attr) => new Attribute(attr)) || [] } diff --git a/packages/legacy/core/App/utils/proofBundle.ts b/packages/legacy/core/App/utils/proofBundle.ts index 2c27b8460b..cf2497e316 100644 --- a/packages/legacy/core/App/utils/proofBundle.ts +++ b/packages/legacy/core/App/utils/proofBundle.ts @@ -1,6 +1,10 @@ +import { + AnonCredsProofRequestTemplatePayload, + ProofRequestTemplate, + useProofRequestTemplates, +} from '@hyperledger/aries-bifold-verifier' import axios from 'axios' -import { AnonCredsProofRequestTemplatePayload, ProofRequestTemplate, useProofRequestTemplates } from '../../verifier' import { useConfiguration } from '../contexts/configuration' const calculatePreviousYear = (yearOffset: number) => { diff --git a/packages/legacy/core/__tests__/contexts/configuration.ts b/packages/legacy/core/__tests__/contexts/configuration.ts index d584f58c46..0792ca13fc 100644 --- a/packages/legacy/core/__tests__/contexts/configuration.ts +++ b/packages/legacy/core/__tests__/contexts/configuration.ts @@ -3,8 +3,8 @@ import { DefaultOCABundleResolver } from '@hyperledger/aries-oca/build/legacy' import { ConfigurationContext } from '../../App' import Record from '../../App/components/record/Record' import { useNotifications } from '../../App/hooks/notifications' -import { useProofRequestTemplates } from '../../verifier/request-templates' import { Locales } from '../../App/localization' +import { useProofRequestTemplates } from '@hyperledger/aries-bifold-verifier' const configurationContext: ConfigurationContext = { pages: () => [], diff --git a/packages/legacy/core/__tests__/screens/ListProofRequests.test.tsx b/packages/legacy/core/__tests__/screens/ListProofRequests.test.tsx index 9ce6ec50f7..5de462cd5a 100644 --- a/packages/legacy/core/__tests__/screens/ListProofRequests.test.tsx +++ b/packages/legacy/core/__tests__/screens/ListProofRequests.test.tsx @@ -7,7 +7,7 @@ import { ConfigurationContext } from '../../App/contexts/configuration' import { NetworkProvider } from '../../App/contexts/network' import configurationContext from '../contexts/configuration' import ListProofRequests from '../../App/screens/ListProofRequests' -import { useProofRequestTemplates } from '../../verifier/request-templates' +import { useProofRequestTemplates } from '@hyperledger/aries-bifold-verifier' jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter') jest.mock('@react-native-community/netinfo', () => mockRNCNetInfo) diff --git a/packages/legacy/core/__tests__/screens/ProofDetails.test.tsx b/packages/legacy/core/__tests__/screens/ProofDetails.test.tsx index 6ad82e99a4..21e6253b9b 100644 --- a/packages/legacy/core/__tests__/screens/ProofDetails.test.tsx +++ b/packages/legacy/core/__tests__/screens/ProofDetails.test.tsx @@ -10,7 +10,7 @@ import React from 'react' import { testIdWithKey } from '../../App/utils/testable' import ProofDetails from '../../App/screens/ProofDetails' -import * as proofUtils from '../../verifier/utils/proof' +import * as verifier from '@hyperledger/aries-bifold-verifier' import { AnonCredsProof } from '@aries-framework/anoncreds' import configurationContext from '../contexts/configuration' import { NetworkProvider } from '../../App/contexts/network' @@ -24,6 +24,14 @@ jest.mock('@react-navigation/core', () => { jest.mock('@react-navigation/native', () => { return require('../../__mocks__/custom/@react-navigation/native') }) +jest.mock('@hyperledger/aries-bifold-verifier',() => { + const original = jest. requireActual('@hyperledger/aries-bifold-verifier') + return { + ...original, + __esModule: true, + getProofData: jest.fn(original.getProofData) + } +}) // eslint-disable-next-line @typescript-eslint/no-empty-function jest.mock('react-native-localize', () => {}) jest.useFakeTimers({ legacyFakeTimers: true }) @@ -94,7 +102,7 @@ const requestPresentationMessage = new V1RequestPresentationMessage({ ], }) -const data = proofUtils.parseAnonCredsProof(proof_request, proof) +const data = verifier.parseAnonCredsProof(proof_request, proof) describe('ProofDetails Component', () => { afterEach(() => { @@ -142,7 +150,7 @@ describe('ProofDetails Component', () => { // @ts-ignore useProofById.mockReturnValue(testVerifiedProofRequest) // @ts-ignore - jest.spyOn(proofUtils, 'getProofData').mockReturnValue(Promise.resolve(data)) + jest.spyOn(verifier, 'getProofData').mockReturnValue(Promise.resolve(data)) }) test('renders correctly when history is true', async () => { diff --git a/packages/legacy/core/__tests__/screens/ProofRequestDetails.test.tsx b/packages/legacy/core/__tests__/screens/ProofRequestDetails.test.tsx index 0e47d8c1be..154011e633 100644 --- a/packages/legacy/core/__tests__/screens/ProofRequestDetails.test.tsx +++ b/packages/legacy/core/__tests__/screens/ProofRequestDetails.test.tsx @@ -7,7 +7,8 @@ import { ConfigurationContext } from '../../App/contexts/configuration' import { NetworkProvider } from '../../App/contexts/network' import configurationContext from '../contexts/configuration' import ProofRequestDetails from '../../App/screens/ProofRequestDetails' -import { ProofRequestType, testIdWithKey } from '../../App' +import { testIdWithKey } from '../../App' +import { ProofRequestType } from '@hyperledger/aries-bifold-verifier' import { useTemplates, useTemplate } from '../../App/hooks/proof-request-templates' import axios from 'axios' import { applyTemplateMarkers, useRemoteProofBundleResolver } from '../../App/utils/proofBundle' diff --git a/packages/legacy/core/__tests__/screens/ProofRequesting.test.tsx b/packages/legacy/core/__tests__/screens/ProofRequesting.test.tsx index 8eb8c860fc..ff6c3d4697 100644 --- a/packages/legacy/core/__tests__/screens/ProofRequesting.test.tsx +++ b/packages/legacy/core/__tests__/screens/ProofRequesting.test.tsx @@ -4,10 +4,11 @@ import { useNavigation } from '@react-navigation/core' import { act, cleanup, render, fireEvent, waitFor } from '@testing-library/react-native' import React from 'react' -import { useProofRequestTemplates } from '../../verifier/request-templates' +import * as verifier from '@hyperledger/aries-bifold-verifier' +import { useProofRequestTemplates } from '@hyperledger/aries-bifold-verifier' import { testIdWithKey } from '../../App' import ProofRequesting from '../../App/screens/ProofRequesting' -import * as proofRequestUtils from '../../verifier/utils/proof-request' + import * as proofRequestTemplatesHooks from '../../App/hooks/proof-request-templates' import { ConnectionRecord, @@ -32,6 +33,14 @@ jest.mock('@react-navigation/core', () => { jest.mock('@react-navigation/native', () => { return require('../../__mocks__/custom/@react-navigation/native') }) +jest.mock('@hyperledger/aries-bifold-verifier',() => { + const original = jest. requireActual('@hyperledger/aries-bifold-verifier') + return { + ...original, + __esModule: true, + createConnectionlessProofRequestInvitation: jest.fn(original.createConnectionlessProofRequestInvitation) + } +}) // eslint-disable-next-line @typescript-eslint/no-empty-function jest.mock('react-native-localize', () => {}) jest.mock('react-native-device-info', () => () => jest.fn()) @@ -116,7 +125,7 @@ describe('ProofRequesting Component', () => { // @ts-ignore useConnections.mockReturnValue({ records: [testContactRecord1, testContactRecord2] }) - jest.spyOn(proofRequestUtils, 'createConnectionlessProofRequestInvitation').mockReturnValue(Promise.resolve(data)) + jest.spyOn(verifier, 'createConnectionlessProofRequestInvitation').mockReturnValue(Promise.resolve(data)) jest.spyOn(proofRequestTemplatesHooks, 'useTemplate').mockReturnValue(template) }) diff --git a/packages/legacy/core/jest.config.js b/packages/legacy/core/jest.config.js index 987a63e72f..a5dc588ce4 100644 --- a/packages/legacy/core/jest.config.js +++ b/packages/legacy/core/jest.config.js @@ -28,6 +28,14 @@ module.exports = { '/__tests__/contexts/', '/__tests__/helpers/', ], + coveragePathIgnorePatterns: [ + '/node_modules/', + '/__tests__/', + '/App/navigators/defaultStackOptions.tsx', + '/App/defaultConfiguration.ts', + '/App/components/buttons/InfoIcon.tsx', + '/App/hooks/deep-links.ts', + ], cacheDirectory: '.jest/cache', snapshotFormat: { escapeString: true, diff --git a/packages/legacy/core/package.json b/packages/legacy/core/package.json index a7bff8a83a..ee45141538 100644 --- a/packages/legacy/core/package.json +++ b/packages/legacy/core/package.json @@ -1,10 +1,10 @@ { - "name": "aries-bifold", + "name": "@hyperledger/aries-bifold-core", "version": "1.0.0", - "private": true, "main": "lib/commonjs/index.js", "module": "lib/module/index.js", "react-native": "App/index.ts", + "source": "App/index", "types": "lib/typescript/App/index.d.ts", "bin": { "bifold": "bin/bifold" @@ -59,6 +59,7 @@ "@formatjs/intl-relativetimeformat": "9.3.1", "@hyperledger/anoncreds-react-native": "^0.1.0", "@hyperledger/aries-askar-react-native": "^0.1.1", + "@hyperledger/aries-bifold-verifier": "^1.0.0", "@hyperledger/aries-oca": "^1.0.0", "@hyperledger/indy-vdr-react-native": "^0.1.0", "@react-native-async-storage/async-storage": "1.15.11", @@ -78,7 +79,7 @@ "@types/lodash.flatten": "^4.4.6", "@types/lodash.startcase": "^4.4.7", "@types/react": "^18.0.24", - "@types/react-native": "0.71.5", + "@types/react-native": "~0.72.3", "@types/react-native-vector-icons": "^6.4.6", "@types/react-test-renderer": "^18.0.1", "@typescript-eslint/eslint-plugin": "^6.6.0", @@ -105,9 +106,9 @@ "patch-package": "^6.4.4", "prettier": "^2.8.4", "query-string": "^7.0.1", - "react": "*", + "react": "^18.2.0", "react-i18next": "11.13.0", - "react-native": "*", + "react-native": "~0.72.5", "react-native-animated-pagination-dots": "^0.1.72", "react-native-argon2": "^2.0.1", "react-native-bouncy-checkbox": "^3.0.5", @@ -161,7 +162,8 @@ "@formatjs/intl-relativetimeformat": "9.3.1", "@hyperledger/anoncreds-react-native": "^0.1.0", "@hyperledger/aries-askar-react-native": "^0.1.1", - "@hyperledger/aries-oca": "0.0.0", + "@hyperledger/aries-bifold-verifier": "^1.0.0", + "@hyperledger/aries-oca": "^1.0.0", "@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", @@ -177,7 +179,7 @@ "lodash.startcase": "^4.4.0", "moment": "^2.29.4", "query-string": "^7.0.1", - "react": "*", + "react": "^18.2.0", "react-i18next": "11.13.0", "react-native": "*", "react-native-animated-pagination-dots": "^0.1.72", diff --git a/packages/legacy/core/tsconfig.json b/packages/legacy/core/tsconfig.json index f3282bce06..d43e777c62 100644 --- a/packages/legacy/core/tsconfig.json +++ b/packages/legacy/core/tsconfig.json @@ -1,61 +1,8 @@ { + "extends": "../../../tsconfig-base.json", "compilerOptions": { - "target": "esnext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */, - "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, - "lib": ["es6"] /* Specify library files to be included in the compilation. */, - "allowJs": true /* Allow javascript files to be compiled. */, - // "checkJs": true, /* Report errors in .js files. */ - "jsx": "react-native" /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */, - // "declaration": true /* Generates corresponding '.d.ts' file. */, - //"emitDeclarationOnly": true, - "skipLibCheck": true, - // "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./", /* Concatenate and emit output to single file. */ - //"outDir": "./build" /* Redirect output structure to the directory. */, - // "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - "removeComments": false /* Do not emit comments to output. */, - //"noEmit": true, /* Do not emit outputs. */ - //"noEmitOnError": true, - // "incremental": true, /* Enable incremental compilation */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - "isolatedModules": true /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */, - - /* Strict Type-Checking Options */ - "strict": true /* Enable all strict type-checking options. */, - // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - - /* Module Resolution Options */ - "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, - "baseUrl": "./App" /* Base directory to resolve non-absolute module names. */, - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - "allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */, - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - - /* Source Map Options */ - // "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - "resolveJsonModule": true + "baseUrl": "./App", + "outDir": "./lib" }, "exclude": ["node_modules", "babel.config.js", "jest.config.js", "jestSetup.js", "lib"] -} +} \ No newline at end of file diff --git a/packages/oca/package.json b/packages/oca/package.json index b56bd75875..af420f3a89 100644 --- a/packages/oca/package.json +++ b/packages/oca/package.json @@ -4,6 +4,11 @@ "description": "TypeScript implementation of Overlay Capture Architecture (OCA) for styling Aries Verifiable Credentials", "main": "build/index.js", "types": "build/index.d.ts", + "source": "src/index.ts", + "files": [ + "src", + "build" + ], "license": "Apache-2.0", "scripts": { "build": "yarn run clean && yarn run compile", @@ -26,6 +31,7 @@ }, "homepage": "https://github.com/hyperledger/aries-mobile-agent-react-native#readme", "devDependencies": { + "@babel/runtime": "^7.20.0", "@types/lodash.startcase": "^4.4.7", "@typescript-eslint/parser": "^6.6.0", "eslint": "^8.48.0", diff --git a/packages/verifier/.eslintrc.js b/packages/verifier/.eslintrc.js new file mode 100644 index 0000000000..523eb27ad9 --- /dev/null +++ b/packages/verifier/.eslintrc.js @@ -0,0 +1,19 @@ +module.exports = { + env: { + browser: true, + es2021: true, + node: true, + }, + extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], + overrides: [], + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + }, + plugins: ['@typescript-eslint'], + rules: { + '@typescript-eslint/ban-ts-comment': 'warn', + '@typescript-eslint/explicit-member-accessibility': 'off', + }, +} diff --git a/packages/verifier/README.md b/packages/verifier/README.md new file mode 100644 index 0000000000..e7eace1551 --- /dev/null +++ b/packages/verifier/README.md @@ -0,0 +1 @@ +# verifier diff --git a/packages/verifier/babel.config.js b/packages/verifier/babel.config.js new file mode 100644 index 0000000000..f282a5aead --- /dev/null +++ b/packages/verifier/babel.config.js @@ -0,0 +1,7 @@ +const presets = ['module:metro-react-native-babel-preset'] +const plugins = [] + +module.exports = { + presets, + plugins, +} diff --git a/packages/verifier/jest.config.js b/packages/verifier/jest.config.js new file mode 100644 index 0000000000..241d02a2d3 --- /dev/null +++ b/packages/verifier/jest.config.js @@ -0,0 +1,24 @@ +module.exports = { + testTimeout: 10000, + moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], + transform: { + '^.+\\.(js|jsx|ts|tsx)$': 'babel-jest', + }, + transformIgnorePatterns: [ + 'node_modules\\/(?!(.*react-native.*)|(uuid)|(@aries-framework\\/core)|(@aries-framework\\/anoncreds))', + ], + testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.[jt]sx?$', + testPathIgnorePatterns: [ + '\\.snap$', + '/node_modules/', + '/lib', + '/build', + '/__tests__/contexts/', + '/__tests__/helpers/', + ], + cacheDirectory: '.jest/cache', + snapshotFormat: { + escapeString: true, + printBasicPrototype: true, + }, +} diff --git a/packages/verifier/package.json b/packages/verifier/package.json new file mode 100644 index 0000000000..e682fc22db --- /dev/null +++ b/packages/verifier/package.json @@ -0,0 +1,52 @@ +{ + "name": "@hyperledger/aries-bifold-verifier", + "version": "1.0.0", + "main": "build/commonjs/index.js", + "types": "build/typescript/index.d.ts", + "module": "build/module/index.js", + "source": "src/index.ts", + "react-native": "src/index.ts", + "files": [ + "src", + "build" + ], + "packageManager": "yarn@3.3.1", + "scripts": { + "build": "yarn run clean && yarn run bob build", + "clean": "rimraf ./build", + "prepublishOnly": "yarn run build", + "test": "TZ=GMT jest", + "test:coverage": "TZ=GMT jest --coverage" + }, + "devDependencies": { + "@aries-framework/anoncreds": "^0.4.0", + "@aries-framework/core": "^0.4.0", + "@aries-framework/react-hooks": "^0.4.2", + "@babel/core": "^7.20.0", + "@types/jest": "^29.5.5", + "@types/react": "^18.0.24", + "babel-jest": "^27.5.1", + "eslint": "^8.48.0", + "jest": "^29.6.4", + "metro-react-native-babel-preset": "^0.77.0", + "react": "^18.2.0", + "react-native-builder-bob": "^0.21.3", + "rimraf": "^5.0.0", + "typescript": "^5.0.4" + }, + "peerDependencies": { + "@aries-framework/anoncreds": "^0.4.0", + "@aries-framework/core": "^0.4.0", + "@aries-framework/react-hooks": "^0.4.2", + "react": "^18.2.0" + }, + "react-native-builder-bob": { + "source": "src", + "output": "build", + "targets": [ + "commonjs", + "module", + "typescript" + ] + } +} diff --git a/packages/legacy/core/verifier/README.md b/packages/verifier/src/README.md similarity index 100% rename from packages/legacy/core/verifier/README.md rename to packages/verifier/src/README.md diff --git a/packages/legacy/core/verifier/__tests__/verifier/__snapshots__/proof-request.test.ts.snap b/packages/verifier/src/__tests__/verifier/__snapshots__/proof-request.test.ts.snap similarity index 100% rename from packages/legacy/core/verifier/__tests__/verifier/__snapshots__/proof-request.test.ts.snap rename to packages/verifier/src/__tests__/verifier/__snapshots__/proof-request.test.ts.snap diff --git a/packages/legacy/core/verifier/__tests__/verifier/__snapshots__/proof.test.ts.snap b/packages/verifier/src/__tests__/verifier/__snapshots__/proof.test.ts.snap similarity index 100% rename from packages/legacy/core/verifier/__tests__/verifier/__snapshots__/proof.test.ts.snap rename to packages/verifier/src/__tests__/verifier/__snapshots__/proof.test.ts.snap diff --git a/packages/legacy/core/verifier/__tests__/verifier/proof-request.test.ts b/packages/verifier/src/__tests__/verifier/proof-request.test.ts similarity index 100% rename from packages/legacy/core/verifier/__tests__/verifier/proof-request.test.ts rename to packages/verifier/src/__tests__/verifier/proof-request.test.ts diff --git a/packages/legacy/core/verifier/__tests__/verifier/proof.test.ts b/packages/verifier/src/__tests__/verifier/proof.test.ts similarity index 100% rename from packages/legacy/core/verifier/__tests__/verifier/proof.test.ts rename to packages/verifier/src/__tests__/verifier/proof.test.ts diff --git a/packages/legacy/core/verifier/constants.ts b/packages/verifier/src/constants.ts similarity index 100% rename from packages/legacy/core/verifier/constants.ts rename to packages/verifier/src/constants.ts diff --git a/packages/legacy/core/verifier/hooks/proofs.ts b/packages/verifier/src/hooks/proofs.ts similarity index 100% rename from packages/legacy/core/verifier/hooks/proofs.ts rename to packages/verifier/src/hooks/proofs.ts diff --git a/packages/legacy/core/verifier/index.ts b/packages/verifier/src/index.ts similarity index 100% rename from packages/legacy/core/verifier/index.ts rename to packages/verifier/src/index.ts diff --git a/packages/legacy/core/verifier/request-templates.ts b/packages/verifier/src/request-templates.ts similarity index 100% rename from packages/legacy/core/verifier/request-templates.ts rename to packages/verifier/src/request-templates.ts diff --git a/packages/verifier/src/types/agent.ts b/packages/verifier/src/types/agent.ts new file mode 100644 index 0000000000..e267f1a64a --- /dev/null +++ b/packages/verifier/src/types/agent.ts @@ -0,0 +1,40 @@ +import { + AnonCredsCredentialFormatService, + AnonCredsModule, + AnonCredsProofFormatService, + LegacyIndyCredentialFormatService, + LegacyIndyProofFormatService, + V1CredentialProtocol, + V1ProofProtocol, +} from '@aries-framework/anoncreds' +import { + Agent, + ConnectionsModule, + CredentialsModule, + MediationRecipientModule, + ProofsModule, + V2CredentialProtocol, + V2ProofProtocol, +} from '@aries-framework/core' + +function getAgentModules() { + return null as unknown as { + //askar: AskarModule + //anoncredsRs: AnonCredsRsModule + anoncreds: AnonCredsModule + //indyVdr: IndyVdrModule + connections: ConnectionsModule + credentials: CredentialsModule< + ( + | V1CredentialProtocol + | V2CredentialProtocol<(LegacyIndyCredentialFormatService | AnonCredsCredentialFormatService)[]> + )[] + > + proofs: ProofsModule< + (V1ProofProtocol | V2ProofProtocol<(LegacyIndyProofFormatService | AnonCredsProofFormatService)[]>)[] + > + mediationRecipient: MediationRecipientModule + } +} + +export type BifoldAgent = Agent> diff --git a/packages/legacy/core/verifier/types/metadata.ts b/packages/verifier/src/types/metadata.ts similarity index 100% rename from packages/legacy/core/verifier/types/metadata.ts rename to packages/verifier/src/types/metadata.ts diff --git a/packages/legacy/core/verifier/types/proof-reqeust-template.ts b/packages/verifier/src/types/proof-reqeust-template.ts similarity index 100% rename from packages/legacy/core/verifier/types/proof-reqeust-template.ts rename to packages/verifier/src/types/proof-reqeust-template.ts diff --git a/packages/legacy/core/verifier/types/proof.ts b/packages/verifier/src/types/proof.ts similarity index 100% rename from packages/legacy/core/verifier/types/proof.ts rename to packages/verifier/src/types/proof.ts diff --git a/packages/legacy/core/verifier/utils/proof-request.ts b/packages/verifier/src/utils/proof-request.ts similarity index 99% rename from packages/legacy/core/verifier/utils/proof-request.ts rename to packages/verifier/src/utils/proof-request.ts index cf01f07bdf..2300f92396 100644 --- a/packages/legacy/core/verifier/utils/proof-request.ts +++ b/packages/verifier/src/utils/proof-request.ts @@ -6,7 +6,7 @@ import { } from '@aries-framework/anoncreds' import { Agent, AgentMessage, AutoAcceptProof, ProofExchangeRecord } from '@aries-framework/core' -import { BifoldAgent } from '../../App/utils/agent' +import { BifoldAgent } from '../types/agent' import { ProofRequestTemplate, ProofRequestType } from '../types/proof-reqeust-template' const protocolVersion = 'v2' diff --git a/packages/legacy/core/verifier/utils/proof.ts b/packages/verifier/src/utils/proof.ts similarity index 99% rename from packages/legacy/core/verifier/utils/proof.ts rename to packages/verifier/src/utils/proof.ts index 11a2e4199c..4f68094a05 100644 --- a/packages/legacy/core/verifier/utils/proof.ts +++ b/packages/verifier/src/utils/proof.ts @@ -1,7 +1,7 @@ import { AnonCredsProof, AnonCredsProofRequest } from '@aries-framework/anoncreds' import { Agent, ProofExchangeRecord, ProofState } from '@aries-framework/core' -import { BifoldAgent } from '../../App/utils/agent' +import { BifoldAgent } from '../types/agent' import { ProofMetadata } from '../types/metadata' import { CredentialSharedProofData, diff --git a/packages/verifier/tsconfig.json b/packages/verifier/tsconfig.json new file mode 100644 index 0000000000..d4e0ad9a0f --- /dev/null +++ b/packages/verifier/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig-base.json", + "compilerOptions": { + "baseUrl": "./src", + "outDir": "./build" + }, + "include": ["./src/**/*"], + "exclude": ["node_modules", "babel.config.js", "jest.config.js", "jestSetup.js", "lib"] +} \ No newline at end of file diff --git a/tsconfig-base.json b/tsconfig-base.json new file mode 100644 index 0000000000..888ef66c27 --- /dev/null +++ b/tsconfig-base.json @@ -0,0 +1,61 @@ +{ + "compilerOptions": { + "target": "esnext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */, + "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, + "lib": ["es6"] /* Specify library files to be included in the compilation. */, + "allowJs": true /* Allow javascript files to be compiled. */, + // "checkJs": true, /* Report errors in .js files. */ + "jsx": "react-native" /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */, + // "declaration": true /* Generates corresponding '.d.ts' file. */, + //"emitDeclarationOnly": true, + "skipLibCheck": true, + // "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + "outDir": "./build" /* Redirect output structure to the directory. */, + // "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + "removeComments": false /* Do not emit comments to output. */, + //"noEmit": true, /* Do not emit outputs. */ + "noEmitOnError": true, + // "incremental": true, /* Enable incremental compilation */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + "isolatedModules": true /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */, + + /* Strict Type-Checking Options */ + "strict": true /* Enable all strict type-checking options. */, + // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + + /* Module Resolution Options */ + "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, + "baseUrl": "./src" /* Base directory to resolve non-absolute module names. */, + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + "allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */, + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + + /* Source Map Options */ + // "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + "resolveJsonModule": true + }, + "exclude": ["node_modules", "babel.config.js", "jest.config.js", "jestSetup.js", "lib"] +} diff --git a/tsconfig.json b/tsconfig.json index 865221f910..1e7b9c546c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,6 +6,7 @@ "module": "commonjs", } }, + "compileOnSave": true, "compilerOptions": { "target": "esnext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */, "module": "esnext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, diff --git a/yarn.lock b/yarn.lock index d74a990e57..24fcdc3573 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3968,22 +3968,209 @@ __metadata: languageName: node linkType: hard -"@hyperledger/aries-bifold-core@workspace:packages/core": +"@hyperledger/aries-bifold-core@^1.0.0, @hyperledger/aries-bifold-core@workspace:packages/legacy/core": version: 0.0.0-use.local - resolution: "@hyperledger/aries-bifold-core@workspace:packages/core" + resolution: "@hyperledger/aries-bifold-core@workspace:packages/legacy/core" dependencies: + "@aries-framework/anoncreds": ^0.4.0 + "@aries-framework/anoncreds-rs": ^0.4.0 + "@aries-framework/askar": ^0.4.0 + "@aries-framework/core": ^0.4.0 + "@aries-framework/indy-sdk-to-askar-migration": 0.4.0 + "@aries-framework/indy-vdr": ^0.4.0 + "@aries-framework/push-notifications": 0.5.0 + "@aries-framework/react-hooks": ^0.4.2 + "@aries-framework/react-native": ^0.4.0 + "@babel/core": ^7.20.0 + "@babel/runtime": ^7.20.0 + "@commitlint/cli": ^11.0.0 + "@formatjs/intl-datetimeformat": 4.2.4 + "@formatjs/intl-displaynames": 5.2.4 + "@formatjs/intl-getcanonicallocales": 1.7.3 + "@formatjs/intl-listformat": 6.3.4 + "@formatjs/intl-locale": 2.4.38 + "@formatjs/intl-numberformat": 7.2.4 + "@formatjs/intl-pluralrules": 4.1.4 + "@formatjs/intl-relativetimeformat": 9.3.1 + "@hyperledger/anoncreds-react-native": ^0.1.0 + "@hyperledger/aries-askar-react-native": ^0.1.1 + "@hyperledger/aries-bifold-verifier": ^1.0.0 + "@hyperledger/aries-oca": ^1.0.0 + "@hyperledger/indy-vdr-react-native": ^0.1.0 + "@react-native-async-storage/async-storage": 1.15.11 "@react-native-community/eslint-config": ^3.2.0 + "@react-native-community/eslint-plugin": ^1.3.0 + "@react-native-community/masked-view": 0.1.11 + "@react-native-community/netinfo": ^9.3.0 + "@react-navigation/bottom-tabs": 6.0.9 + "@react-navigation/core": 6.1.0 + "@react-navigation/devtools": ^6.0.8 + "@react-navigation/native": 6.0.6 + "@react-navigation/stack": 6.0.11 + "@team-griffin/install-self-peers": ^1.1.1 + "@testing-library/jest-native": ^5.4.3 + "@testing-library/react-native": ^12.3.0 "@types/jest": ^29.5.5 + "@types/lodash.flatten": ^4.4.6 + "@types/lodash.startcase": ^4.4.7 "@types/react": ^18.0.24 - "@types/react-native": 0.71.5 - "@types/ws": ^7.4.6 - react: "*" + "@types/react-native": ~0.72.3 + "@types/react-native-vector-icons": ^6.4.6 + "@types/react-test-renderer": ^18.0.1 + "@typescript-eslint/eslint-plugin": ^6.6.0 + "@typescript-eslint/parser": ^6.6.0 + axios: ^1.4.0 + babel-jest: ^27.5.1 + babel-plugin-module-resolver: ^5.0.0 + commitlint: ^17.7.1 + eslint: ^8.48.0 + eslint-import-resolver-typescript: ^2.5.0 + eslint-plugin-import: ^2.28.1 + eslint-plugin-prettier: ^4.0.0 + husky: ^7.0.0 + i18next: ^21.4.0 + install-peerdeps: ^3.0.3 + jest: ^29.6.4 + lint-staged: ^11.2.6 + lodash.flatten: ^4.4.0 + lodash.startcase: ^4.4.0 + metro-react-native-babel-preset: ^0.77.0 + mockdate: ^3.0.5 + moment: ^2.29.4 + node-notifier: ^10.0.1 + patch-package: ^6.4.4 + prettier: ^2.8.4 + query-string: ^7.0.1 + react: ^18.2.0 + react-i18next: 11.13.0 + react-native: ~0.72.5 + react-native-animated-pagination-dots: ^0.1.72 + react-native-argon2: ^2.0.1 + react-native-bouncy-checkbox: ^3.0.5 + react-native-builder-bob: ^0.21.3 + react-native-camera: ^3.31.1 + react-native-collapsible: ^1.6.1 + react-native-config: ^1.4.2 + react-native-confirmation-code-field: ^7.3.0 + react-native-device-info: ^8.4.9 + react-native-encrypted-storage: ^4.0.2 + react-native-fs: ^2.16.6 + react-native-gesture-handler: ^1.10.3 + react-native-get-random-values: ^1.7.0 + react-native-gifted-chat: "*" + react-native-keychain: ^8.1.1 + react-native-localize: ^2.2.4 + react-native-permissions: ^3.8.4 + react-native-qrcode-svg: ^6.2.0 + react-native-reanimated: ^3.4.2 + react-native-safe-area-context: ^3.2.0 + react-native-scalable-image: ^1.1.0 + react-native-screens: ^3.24.0 + react-native-splash-screen: ^3.3.0 + react-native-svg: ^12.1.1 + react-native-svg-transformer: ^0.14.3 + react-native-tcp-socket: ^6.0.6 + react-native-toast-message: ^2.1.6 + react-native-uuid: ^2.0.1 + react-native-vector-icons: ^10.0.0 + react-test-renderer: ^18.2.0 + typescript: ^5.0.4 + uuid: ^9.0.0 + peerDependencies: + "@aries-framework/anoncreds": ^0.4.0 + "@aries-framework/anoncreds-rs": ^0.4.0 + "@aries-framework/askar": ^0.4.0 + "@aries-framework/core": ^0.4.0 + "@aries-framework/indy-sdk-to-askar-migration": 0.4.0 + "@aries-framework/indy-vdr": ^0.4.0 + "@aries-framework/push-notifications": 0.5.0 + "@aries-framework/react-hooks": ^0.4.2 + "@aries-framework/react-native": ^0.4.0 + "@formatjs/intl-datetimeformat": 4.2.4 + "@formatjs/intl-displaynames": 5.2.4 + "@formatjs/intl-getcanonicallocales": 1.7.3 + "@formatjs/intl-listformat": 6.3.4 + "@formatjs/intl-locale": 2.4.38 + "@formatjs/intl-numberformat": 7.2.4 + "@formatjs/intl-pluralrules": 4.1.4 + "@formatjs/intl-relativetimeformat": 9.3.1 + "@hyperledger/anoncreds-react-native": ^0.1.0 + "@hyperledger/aries-askar-react-native": ^0.1.1 + "@hyperledger/aries-bifold-verifier": ^1.0.0 + "@hyperledger/aries-oca": ^1.0.0 + "@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 + "@react-native-community/netinfo": ^9.3.0 + "@react-navigation/bottom-tabs": 6.0.9 + "@react-navigation/core": 6.1.0 + "@react-navigation/devtools": ^6.0.8 + "@react-navigation/native": 6.0.6 + "@react-navigation/stack": 6.0.11 + axios: ^1.4.0 + i18next: ^21.4.0 + lodash.flatten: ^4.4.0 + lodash.startcase: ^4.4.0 + moment: ^2.29.4 + query-string: ^7.0.1 + react: ^18.2.0 + react-i18next: 11.13.0 react-native: "*" + react-native-animated-pagination-dots: ^0.1.72 + react-native-argon2: ^2.0.1 + react-native-bouncy-checkbox: ^3.0.5 + react-native-camera: ^3.31.1 + react-native-collapsible: ^1.6.1 + react-native-config: ^1.4.2 + react-native-confirmation-code-field: ^7.3.0 + react-native-device-info: ^8.4.9 + react-native-encrypted-storage: ^4.0.2 + react-native-fs: ^2.16.6 + react-native-gesture-handler: ^1.10.3 + react-native-get-random-values: ^1.7.0 + react-native-gifted-chat: "*" + react-native-keychain: ^8.1.1 + react-native-localize: ^2.2.4 + react-native-permissions: ^3.8.4 + react-native-qrcode-svg: ^6.2.0 + react-native-reanimated: ^3.4.2 + react-native-safe-area-context: ^3.2.0 + react-native-screens: ^3.24.0 + react-native-splash-screen: ^3.3.0 + react-native-svg: ^12.1.1 + react-native-tcp-socket: ^6.0.6 + react-native-toast-message: ^2.1.6 + react-native-uuid: ^2.0.1 + react-native-vector-icons: ^10.0.0 + uuid: ^9.0.0 + bin: + bifold: bin/bifold + languageName: unknown + linkType: soft + +"@hyperledger/aries-bifold-verifier@^1.0.0, @hyperledger/aries-bifold-verifier@workspace:packages/verifier": + version: 0.0.0-use.local + resolution: "@hyperledger/aries-bifold-verifier@workspace:packages/verifier" + dependencies: + "@aries-framework/anoncreds": ^0.4.0 + "@aries-framework/core": ^0.4.0 + "@aries-framework/react-hooks": ^0.4.2 + "@babel/core": ^7.20.0 + "@types/jest": ^29.5.5 + "@types/react": ^18.0.24 + babel-jest: ^27.5.1 + eslint: ^8.48.0 + jest: ^29.6.4 + metro-react-native-babel-preset: ^0.77.0 + react: ^18.2.0 + react-native-builder-bob: ^0.21.3 rimraf: ^5.0.0 typescript: ^5.0.4 peerDependencies: - react: "*" - react-native: "*" + "@aries-framework/anoncreds": ^0.4.0 + "@aries-framework/core": ^0.4.0 + "@aries-framework/react-hooks": ^0.4.2 + react: ^18.2.0 languageName: unknown linkType: soft @@ -3993,6 +4180,7 @@ __metadata: dependencies: "@aries-framework/anoncreds": ^0.4.0 "@aries-framework/core": ^0.4.0 + "@babel/runtime": ^7.20.0 "@types/lodash.startcase": ^4.4.7 "@typescript-eslint/parser": ^6.6.0 axios: ^1.4.0 @@ -5697,7 +5885,7 @@ __metadata: languageName: node linkType: hard -"@react-native/virtualized-lists@npm:^0.72.8": +"@react-native/virtualized-lists@npm:^0.72.4, @react-native/virtualized-lists@npm:^0.72.8": version: 0.72.8 resolution: "@react-native/virtualized-lists@npm:0.72.8" dependencies: @@ -6552,6 +6740,16 @@ __metadata: languageName: node linkType: hard +"@types/react-native@npm:~0.72.3": + version: 0.72.5 + resolution: "@types/react-native@npm:0.72.5" + dependencies: + "@react-native/virtualized-lists": ^0.72.4 + "@types/react": "*" + checksum: b6d93762c20001488a529f2f5c1e9c4874ed854ea96dd923929cdb4c8b5854332a9d44755c454a63e315c8bab69beb86173d4490e364b82a382f695b7de35aa2 + languageName: node + linkType: hard + "@types/react-test-renderer@npm:^18.0.1": version: 18.0.2 resolution: "@types/react-test-renderer@npm:18.0.2" @@ -6617,15 +6815,6 @@ __metadata: languageName: node linkType: hard -"@types/ws@npm:^7.4.6": - version: 7.4.7 - resolution: "@types/ws@npm:7.4.7" - dependencies: - "@types/node": "*" - checksum: b4c9b8ad209620c9b21e78314ce4ff07515c0cadab9af101c1651e7bfb992d7fd933bd8b9c99d110738fd6db523ed15f82f29f50b45510288da72e964dedb1a3 - languageName: node - linkType: hard - "@types/ws@npm:^8.5.4": version: 8.5.4 resolution: "@types/ws@npm:8.5.4" @@ -7268,6 +7457,7 @@ __metadata: "@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 "@hyperledger/aries-oca": ^1.0.0 "@hyperledger/indy-vdr-react-native": ^0.1.0 "@react-native-async-storage/async-storage": 1.15.11 @@ -7286,7 +7476,6 @@ __metadata: "@types/lodash.startcase": ^4.4.7 "@types/react": ^18.0.24 "@types/react-native": 0.71.5 - aries-bifold: ^1.0.0 axios: ^1.4.0 babel-plugin-module-resolver: ^5.0.0 eslint: ^8.48.0 @@ -7359,184 +7548,6 @@ __metadata: languageName: unknown linkType: soft -"aries-bifold@^1.0.0, aries-bifold@workspace:packages/legacy/core": - version: 0.0.0-use.local - resolution: "aries-bifold@workspace:packages/legacy/core" - dependencies: - "@aries-framework/anoncreds": ^0.4.0 - "@aries-framework/anoncreds-rs": ^0.4.0 - "@aries-framework/askar": ^0.4.0 - "@aries-framework/core": ^0.4.0 - "@aries-framework/indy-sdk-to-askar-migration": 0.4.0 - "@aries-framework/indy-vdr": ^0.4.0 - "@aries-framework/push-notifications": 0.5.0 - "@aries-framework/react-hooks": ^0.4.2 - "@aries-framework/react-native": ^0.4.0 - "@babel/core": ^7.20.0 - "@babel/runtime": ^7.20.0 - "@commitlint/cli": ^11.0.0 - "@formatjs/intl-datetimeformat": 4.2.4 - "@formatjs/intl-displaynames": 5.2.4 - "@formatjs/intl-getcanonicallocales": 1.7.3 - "@formatjs/intl-listformat": 6.3.4 - "@formatjs/intl-locale": 2.4.38 - "@formatjs/intl-numberformat": 7.2.4 - "@formatjs/intl-pluralrules": 4.1.4 - "@formatjs/intl-relativetimeformat": 9.3.1 - "@hyperledger/anoncreds-react-native": ^0.1.0 - "@hyperledger/aries-askar-react-native": ^0.1.1 - "@hyperledger/aries-oca": ^1.0.0 - "@hyperledger/indy-vdr-react-native": ^0.1.0 - "@react-native-async-storage/async-storage": 1.15.11 - "@react-native-community/eslint-config": ^3.2.0 - "@react-native-community/eslint-plugin": ^1.3.0 - "@react-native-community/masked-view": 0.1.11 - "@react-native-community/netinfo": ^9.3.0 - "@react-navigation/bottom-tabs": 6.0.9 - "@react-navigation/core": 6.1.0 - "@react-navigation/devtools": ^6.0.8 - "@react-navigation/native": 6.0.6 - "@react-navigation/stack": 6.0.11 - "@team-griffin/install-self-peers": ^1.1.1 - "@testing-library/jest-native": ^5.4.3 - "@testing-library/react-native": ^12.3.0 - "@types/jest": ^29.5.5 - "@types/lodash.flatten": ^4.4.6 - "@types/lodash.startcase": ^4.4.7 - "@types/react": ^18.0.24 - "@types/react-native": 0.71.5 - "@types/react-native-vector-icons": ^6.4.6 - "@types/react-test-renderer": ^18.0.1 - "@typescript-eslint/eslint-plugin": ^6.6.0 - "@typescript-eslint/parser": ^6.6.0 - axios: ^1.4.0 - babel-jest: ^27.5.1 - babel-plugin-module-resolver: ^5.0.0 - commitlint: ^17.7.1 - eslint: ^8.48.0 - eslint-import-resolver-typescript: ^2.5.0 - eslint-plugin-import: ^2.28.1 - eslint-plugin-prettier: ^4.0.0 - husky: ^7.0.0 - i18next: ^21.4.0 - install-peerdeps: ^3.0.3 - jest: ^29.6.4 - lint-staged: ^11.2.6 - lodash.flatten: ^4.4.0 - lodash.startcase: ^4.4.0 - metro-react-native-babel-preset: ^0.77.0 - mockdate: ^3.0.5 - moment: ^2.29.4 - node-notifier: ^10.0.1 - patch-package: ^6.4.4 - prettier: ^2.8.4 - query-string: ^7.0.1 - react: "*" - react-i18next: 11.13.0 - react-native: "*" - react-native-animated-pagination-dots: ^0.1.72 - react-native-argon2: ^2.0.1 - react-native-bouncy-checkbox: ^3.0.5 - react-native-builder-bob: ^0.21.3 - react-native-camera: ^3.31.1 - react-native-collapsible: ^1.6.1 - react-native-config: ^1.4.2 - react-native-confirmation-code-field: ^7.3.0 - react-native-device-info: ^8.4.9 - react-native-encrypted-storage: ^4.0.2 - react-native-fs: ^2.16.6 - react-native-gesture-handler: ^1.10.3 - react-native-get-random-values: ^1.7.0 - react-native-gifted-chat: "*" - react-native-keychain: ^8.1.1 - react-native-localize: ^2.2.4 - react-native-permissions: ^3.8.4 - react-native-qrcode-svg: ^6.2.0 - react-native-reanimated: ^3.4.2 - react-native-safe-area-context: ^3.2.0 - react-native-scalable-image: ^1.1.0 - react-native-screens: ^3.24.0 - react-native-splash-screen: ^3.3.0 - react-native-svg: ^12.1.1 - react-native-svg-transformer: ^0.14.3 - react-native-tcp-socket: ^6.0.6 - react-native-toast-message: ^2.1.6 - react-native-uuid: ^2.0.1 - react-native-vector-icons: ^10.0.0 - react-test-renderer: ^18.2.0 - typescript: ^5.0.4 - uuid: ^9.0.0 - peerDependencies: - "@aries-framework/anoncreds": ^0.4.0 - "@aries-framework/anoncreds-rs": ^0.4.0 - "@aries-framework/askar": ^0.4.0 - "@aries-framework/core": ^0.4.0 - "@aries-framework/indy-sdk-to-askar-migration": 0.4.0 - "@aries-framework/indy-vdr": ^0.4.0 - "@aries-framework/push-notifications": 0.5.0 - "@aries-framework/react-hooks": ^0.4.2 - "@aries-framework/react-native": ^0.4.0 - "@formatjs/intl-datetimeformat": 4.2.4 - "@formatjs/intl-displaynames": 5.2.4 - "@formatjs/intl-getcanonicallocales": 1.7.3 - "@formatjs/intl-listformat": 6.3.4 - "@formatjs/intl-locale": 2.4.38 - "@formatjs/intl-numberformat": 7.2.4 - "@formatjs/intl-pluralrules": 4.1.4 - "@formatjs/intl-relativetimeformat": 9.3.1 - "@hyperledger/anoncreds-react-native": ^0.1.0 - "@hyperledger/aries-askar-react-native": ^0.1.1 - "@hyperledger/aries-oca": 0.0.0 - "@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 - "@react-native-community/netinfo": ^9.3.0 - "@react-navigation/bottom-tabs": 6.0.9 - "@react-navigation/core": 6.1.0 - "@react-navigation/devtools": ^6.0.8 - "@react-navigation/native": 6.0.6 - "@react-navigation/stack": 6.0.11 - axios: ^1.4.0 - i18next: ^21.4.0 - lodash.flatten: ^4.4.0 - lodash.startcase: ^4.4.0 - moment: ^2.29.4 - query-string: ^7.0.1 - react: "*" - react-i18next: 11.13.0 - react-native: "*" - react-native-animated-pagination-dots: ^0.1.72 - react-native-argon2: ^2.0.1 - react-native-bouncy-checkbox: ^3.0.5 - react-native-camera: ^3.31.1 - react-native-collapsible: ^1.6.1 - react-native-config: ^1.4.2 - react-native-confirmation-code-field: ^7.3.0 - react-native-device-info: ^8.4.9 - react-native-encrypted-storage: ^4.0.2 - react-native-fs: ^2.16.6 - react-native-gesture-handler: ^1.10.3 - react-native-get-random-values: ^1.7.0 - react-native-gifted-chat: "*" - react-native-keychain: ^8.1.1 - react-native-localize: ^2.2.4 - react-native-permissions: ^3.8.4 - react-native-qrcode-svg: ^6.2.0 - react-native-reanimated: ^3.4.2 - react-native-safe-area-context: ^3.2.0 - react-native-screens: ^3.24.0 - react-native-splash-screen: ^3.3.0 - react-native-svg: ^12.1.1 - react-native-tcp-socket: ^6.0.6 - react-native-toast-message: ^2.1.6 - react-native-uuid: ^2.0.1 - react-native-vector-icons: ^10.0.0 - uuid: ^9.0.0 - bin: - bifold: bin/bifold - languageName: unknown - linkType: soft - "arr-union@npm:^3.1.0": version: 3.1.0 resolution: "arr-union@npm:3.1.0" @@ -18869,6 +18880,54 @@ __metadata: languageName: node linkType: hard +"react-native@npm:~0.72.5": + version: 0.72.6 + resolution: "react-native@npm:0.72.6" + dependencies: + "@jest/create-cache-key-function": ^29.2.1 + "@react-native-community/cli": 11.3.7 + "@react-native-community/cli-platform-android": 11.3.7 + "@react-native-community/cli-platform-ios": 11.3.7 + "@react-native/assets-registry": ^0.72.0 + "@react-native/codegen": ^0.72.7 + "@react-native/gradle-plugin": ^0.72.11 + "@react-native/js-polyfills": ^0.72.1 + "@react-native/normalize-colors": ^0.72.0 + "@react-native/virtualized-lists": ^0.72.8 + abort-controller: ^3.0.0 + anser: ^1.4.9 + base64-js: ^1.1.2 + deprecated-react-native-prop-types: 4.1.0 + event-target-shim: ^5.0.1 + flow-enums-runtime: ^0.0.5 + invariant: ^2.2.4 + jest-environment-node: ^29.2.1 + jsc-android: ^250231.0.0 + memoize-one: ^5.0.0 + metro-runtime: 0.76.8 + metro-source-map: 0.76.8 + mkdirp: ^0.5.1 + nullthrows: ^1.1.1 + pretty-format: ^26.5.2 + promise: ^8.3.0 + react-devtools-core: ^4.27.2 + react-refresh: ^0.4.0 + react-shallow-renderer: ^16.15.0 + regenerator-runtime: ^0.13.2 + scheduler: 0.24.0-canary-efb381bbf-20230505 + stacktrace-parser: ^0.1.10 + use-sync-external-store: ^1.0.0 + whatwg-fetch: ^3.0.0 + ws: ^6.2.2 + yargs: ^17.6.2 + peerDependencies: + react: 18.2.0 + bin: + react-native: cli.js + checksum: 3cf0af092c0d6b9b6e67795664e324136f6d1a41c6a889737fb612e5ddb93d0537c890fe733e751fe3bbc139cbb4f9f6d9eff4467e8d8dc67194ac8b382fa168 + languageName: node + linkType: hard + "react-refresh@npm:^0.4.0": version: 0.4.3 resolution: "react-refresh@npm:0.4.3" @@ -18901,7 +18960,7 @@ __metadata: languageName: node linkType: hard -"react@npm:*": +"react@npm:*, react@npm:^18.2.0": version: 18.2.0 resolution: "react@npm:18.2.0" dependencies: