From 4960800686ce1aa6980fe557f3018e677fbf0ea4 Mon Sep 17 00:00:00 2001 From: 0xturboblitz Date: Tue, 26 Mar 2024 15:46:25 -0700 Subject: [PATCH] calculating multiplier circuit witness --- app/App.tsx | 27 +- app/ios/ProofOfPassport-Bridging-Header.h | 2 +- .../ProofOfPassport.xcodeproj/project.pbxproj | 239 +++++++++++++++++- .../authV2.dat.dataset/Contents.json | 13 + .../authV2.dat.dataset/authV2.dat | Bin 0 -> 6176 bytes app/ios/Prover.swift | 107 ++++++-- app/ios/authV2.dat | Bin 0 -> 6176 bytes app/ios/libfq.a | Bin 0 -> 58328 bytes app/ios/libfr.a | Bin 0 -> 58320 bytes app/ios/libgmp.a | Bin 0 -> 17267480 bytes app/ios/libwitnesscalc_authV2.a | Bin 0 -> 2953944 bytes app/ios/witnesscalc_authV2.h | 41 +++ circuits/test/passport.test.ts | 3 + 13 files changed, 393 insertions(+), 39 deletions(-) create mode 100644 app/ios/ProofOfPassport/Assets.xcassets/authV2.dat.dataset/Contents.json create mode 100644 app/ios/ProofOfPassport/Assets.xcassets/authV2.dat.dataset/authV2.dat create mode 100644 app/ios/authV2.dat create mode 100644 app/ios/libfq.a create mode 100644 app/ios/libfr.a create mode 100644 app/ios/libgmp.a create mode 100644 app/ios/libwitnesscalc_authV2.a create mode 100644 app/ios/witnesscalc_authV2.h diff --git a/app/App.tsx b/app/App.tsx index c5438d289..b1113c340 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -75,18 +75,27 @@ function App(): JSX.Element { async function init() { await new Promise(resolve => setTimeout(resolve, 2000)); console.log('launching init') - const res = await NativeModules.Prover.runInitAction() + // const res = await NativeModules.Prover.runInitAction() console.log('init done') - console.log('init res', res) + // console.log('init res', res) } - const handleStartCameraScan = () => { - startCameraScan({ - setPassportNumber, - setDateOfBirth, - setDateOfExpiry, - setStep, - }); + const handleStartCameraScan = async () => { + // await NativeModules.Prover.runInitAction(); + + const startTime = Date.now(); + console.log('running mopro prove action'); + const response = await NativeModules.Prover.runProveAction({}); + console.log('proof response:', response); + const endTime = Date.now(); + console.log('Total proof time from frontend:', endTime - startTime); + + // startCameraScan({ + // setPassportNumber, + // setDateOfBirth, + // setDateOfExpiry, + // setStep, + // }); }; diff --git a/app/ios/ProofOfPassport-Bridging-Header.h b/app/ios/ProofOfPassport-Bridging-Header.h index 2299b247b..7d66c4723 100644 --- a/app/ios/ProofOfPassport-Bridging-Header.h +++ b/app/ios/ProofOfPassport-Bridging-Header.h @@ -2,4 +2,4 @@ // Use this file to import your target's public headers that you would like to expose to Swift. // -#import "React/RCTBridgeModule.h" +#include "witnesscalc_authV2.h" diff --git a/app/ios/ProofOfPassport.xcodeproj/project.pbxproj b/app/ios/ProofOfPassport.xcodeproj/project.pbxproj index 21ac95f99..2da70acb5 100644 --- a/app/ios/ProofOfPassport.xcodeproj/project.pbxproj +++ b/app/ios/ProofOfPassport.xcodeproj/project.pbxproj @@ -8,10 +8,17 @@ /* Begin PBXBuildFile section */ 00E356F31AD99517003FC87E /* ProofOfPassportTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ProofOfPassportTests.m */; }; - 057DFC5F2B56DC0D003D24A3 /* libmopro_ffi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 057DFC5E2B56DC0D003D24A3 /* libmopro_ffi.a */; }; + 056247BA2BB26D4400FFBD3B /* Contents.json in Resources */ = {isa = PBXBuildFile; fileRef = 056247B82BB26D4400FFBD3B /* Contents.json */; }; + 056247BB2BB26D4400FFBD3B /* authV2.dat in Resources */ = {isa = PBXBuildFile; fileRef = 056247B92BB26D4400FFBD3B /* authV2.dat */; }; 05BD9DCC2B548AA900823023 /* MoproKit in Resources */ = {isa = PBXBuildFile; fileRef = 05BD9DCB2B548AA900823023 /* MoproKit */; }; 05BD9DCE2B554FA300823023 /* libmopro_ffi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 05BD9DCD2B554FA300823023 /* libmopro_ffi.a */; }; + 05D985F52BB331AB00F58EEA /* libgmp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 05D985F22BB331AB00F58EEA /* libgmp.a */; }; + 05D985F62BB331AB00F58EEA /* libfr.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 05D985F32BB331AB00F58EEA /* libfr.a */; }; + 05D985F72BB331AB00F58EEA /* libfq.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 05D985F42BB331AB00F58EEA /* libfq.a */; }; + 05D985F92BB3335B00F58EEA /* authV2.dat in Resources */ = {isa = PBXBuildFile; fileRef = 05D985F82BB3335B00F58EEA /* authV2.dat */; }; + 05D985FB2BB3344600F58EEA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 05D985FA2BB3344600F58EEA /* Assets.xcassets */; }; 05E2174E2E7E48EB80B9C8D8 /* Luciole-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = ABB740B68A8141229E6118AC /* Luciole-Bold.ttf */; }; + 05E439192BB32D5800E57227 /* libwitnesscalc_authV2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 056247BD2BB328C800FFBD3B /* libwitnesscalc_authV2.a */; }; 05EDEDC62B52D25D00AA51AD /* Prover.m in Sources */ = {isa = PBXBuildFile; fileRef = 05EDEDC42B52D25D00AA51AD /* Prover.m */; }; 05EDEDC72B52D25D00AA51AD /* Prover.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05EDEDC52B52D25D00AA51AD /* Prover.swift */; }; 0651723A94C70A2B31E3E4F8 /* Pods_ProofOfPassport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAAF621B99F62C9ED35AA07 /* Pods_ProofOfPassport.framework */; }; @@ -67,10 +74,18 @@ 00E356EE1AD99517003FC87E /* ProofOfPassportTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ProofOfPassportTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* ProofOfPassportTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ProofOfPassportTests.m; sourceTree = ""; }; + 056247B82BB26D4400FFBD3B /* Contents.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = Contents.json; sourceTree = ""; }; + 056247B92BB26D4400FFBD3B /* authV2.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = authV2.dat; sourceTree = ""; }; + 056247BD2BB328C800FFBD3B /* libwitnesscalc_authV2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libwitnesscalc_authV2.a; sourceTree = ""; }; 057DFC5E2B56DC0D003D24A3 /* libmopro_ffi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmopro_ffi.a; path = MoproKit/Libs/libmopro_ffi.a; sourceTree = ""; }; 05A0773D2B5333CE0037E489 /* MoproKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MoproKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 05BD9DCB2B548AA900823023 /* MoproKit */ = {isa = PBXFileReference; lastKnownFileType = folder; path = MoproKit; sourceTree = ""; }; 05BD9DCD2B554FA300823023 /* libmopro_ffi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmopro_ffi.a; path = MoproKit/Libs/libmopro_ffi.a; sourceTree = ""; }; + 05D985F22BB331AB00F58EEA /* libgmp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmp.a; sourceTree = ""; }; + 05D985F32BB331AB00F58EEA /* libfr.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libfr.a; sourceTree = ""; }; + 05D985F42BB331AB00F58EEA /* libfq.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libfq.a; sourceTree = ""; }; + 05D985F82BB3335B00F58EEA /* authV2.dat */ = {isa = PBXFileReference; lastKnownFileType = file; name = authV2.dat; path = ProofOfPassport/Assets.xcassets/authV2.dat.dataset/authV2.dat; sourceTree = ""; }; + 05D985FA2BB3344600F58EEA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = ProofOfPassport/Assets.xcassets; sourceTree = ""; }; 05EDEDC42B52D25D00AA51AD /* Prover.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Prover.m; sourceTree = ""; }; 05EDEDC52B52D25D00AA51AD /* Prover.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Prover.swift; sourceTree = ""; }; 066DD67BD55B4E90941F2B97 /* Inter-Black.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Black.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-Black.otf"; sourceTree = ""; }; @@ -136,9 +151,12 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 05D985F72BB331AB00F58EEA /* libfq.a in Frameworks */, + 05E439192BB32D5800E57227 /* libwitnesscalc_authV2.a in Frameworks */, 0651723A94C70A2B31E3E4F8 /* Pods_ProofOfPassport.framework in Frameworks */, + 05D985F52BB331AB00F58EEA /* libgmp.a in Frameworks */, 05BD9DCE2B554FA300823023 /* libmopro_ffi.a in Frameworks */, - 057DFC5F2B56DC0D003D24A3 /* libmopro_ffi.a in Frameworks */, + 05D985F62BB331AB00F58EEA /* libfr.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -162,6 +180,16 @@ name = "Supporting Files"; sourceTree = ""; }; + 056247B72BB26D4400FFBD3B /* authV2.dat.dataset */ = { + isa = PBXGroup; + children = ( + 056247B82BB26D4400FFBD3B /* Contents.json */, + 056247B92BB26D4400FFBD3B /* authV2.dat */, + ); + name = authV2.dat.dataset; + path = ProofOfPassport/Assets.xcassets/authV2.dat.dataset; + sourceTree = ""; + }; 13B07FAE1A68108700A75B9A /* ProofOfPassport */ = { isa = PBXGroup; children = ( @@ -169,7 +197,13 @@ 05EDEDC52B52D25D00AA51AD /* Prover.swift */, 905B700A2A72A5E900AFA232 /* masterList.pem */, 905B70082A729CD400AFA232 /* ProofOfPassport.entitlements */, + 05D985F42BB331AB00F58EEA /* libfq.a */, + 05D985F32BB331AB00F58EEA /* libfr.a */, + 05D985F82BB3335B00F58EEA /* authV2.dat */, + 05D985FA2BB3344600F58EEA /* Assets.xcassets */, + 05D985F22BB331AB00F58EEA /* libgmp.a */, 057DFC5E2B56DC0D003D24A3 /* libmopro_ffi.a */, + 056247B72BB26D4400FFBD3B /* authV2.dat.dataset */, 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 05BD9DCB2B548AA900823023 /* MoproKit */, 13B07FB01A68108700A75B9A /* AppDelegate.mm */, @@ -180,6 +214,7 @@ 13B07FB71A68108700A75B9A /* main.m */, 905B70042A72767900AFA232 /* PassportReader.swift */, 905B70032A72767800AFA232 /* ProofOfPassport-Bridging-Header.h */, + 056247BD2BB328C800FFBD3B /* libwitnesscalc_authV2.a */, 165E76C22B8DC8370000FA90 /* ScannerHostingController.swift */, 905B70062A72774000AFA232 /* PassportReader.m */, 165E76BC2B8DC4A00000FA90 /* MRZScannerModule.swift */, @@ -325,7 +360,7 @@ 83CBB9F71A601CBA00E9B192 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1210; + LastUpgradeCheck = 1520; TargetAttributes = { 00E356ED1AD99517003FC87E = { CreatedOnToolsVersion = 6.2; @@ -367,16 +402,20 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 056247BB2BB26D4400FFBD3B /* authV2.dat in Resources */, 905B700B2A72A5E900AFA232 /* masterList.pem in Resources */, 05BD9DCC2B548AA900823023 /* MoproKit in Resources */, 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 2FA7C90AFAF5417DAA7BCB1E /* Inter-Black.otf in Resources */, + 056247BA2BB26D4400FFBD3B /* Contents.json in Resources */, C9B733B168F84BBA818C6CB8 /* Inter-BlackItalic.otf in Resources */, 15AAF7651FCF40EB993543A3 /* Inter-BoldItalic.otf in Resources */, 1D2A11340C7041909B820A90 /* Inter-ExtraBold.otf in Resources */, E4BC7CC193684992A11E3135 /* Inter-ExtraBoldItalic.otf in Resources */, + 05D985F92BB3335B00F58EEA /* authV2.dat in Resources */, 1BA25F26C91C45F697D55099 /* Inter-ExtraLight.otf in Resources */, + 05D985FB2BB3344600F58EEA /* Assets.xcassets in Resources */, 625D35EA2F1643E89F9887CE /* Inter-ExtraLightItalic.otf in Resources */, EEC491DF41A44001A577E8C5 /* Inter-Italic.otf in Resources */, 0A6918EB0654476189741475 /* Inter-Light.otf in Resources */, @@ -619,6 +658,102 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = 5B29R5LYHQ; ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/MoproKit\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/NFCPassportReader\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/QKMRZParser\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/QKMRZScanner\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCClipboard\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNSVG\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAppDelegate\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-debug\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsc\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsi\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-logger\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-perflogger\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-runtimescheduler\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-utils\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTesseract\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Yoga\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/fmt\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/glog\"", + "\"${PODS_ROOT}/OpenSSL-Universal/Frameworks\"", + "\"${PODS_ROOT}/SwiftyTesseract/SwiftyTesseract\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/SwiftyTesseract\"", + "$(PROJECT_DIR)", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion/DoubleConversion.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/MoproKit/MoproKit.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/NFCPassportReader/NFCPassportReader.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/QKMRZParser/QKMRZParser.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/QKMRZScanner/QKMRZScanner.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/folly.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety/RCTTypeSafety.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCClipboard/RNCClipboard.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNSVG/RNSVG.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules/CoreModules.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation/RCTAnimation.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAppDelegate/React_RCTAppDelegate.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob/RCTBlob.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage/RCTImage.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking/RCTLinking.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork/RCTNetwork.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings/RCTSettings.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText/RCTText.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration/RCTVibration.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/cxxreact.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-debug/React_debug.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsc/React_jsc.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsi/jsi.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor/jsireact.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector/jsinspector.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-logger/logger.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-perflogger/reactperflogger.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-runtimescheduler/React_runtimescheduler.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-utils/React_utils.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket/SocketRocket.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTesseract/SwiftyTesseract.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Yoga/yoga.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/fmt/fmt.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/glog/glog.framework/Headers\"", + "\"${PODS_ROOT}/Headers/Public\"", + "\"${PODS_ROOT}/Headers/Public/FBLazyVector\"", + "\"${PODS_ROOT}/Headers/Public/RCTRequired\"", + "\"${PODS_ROOT}/Headers/Public/React-callinvoker\"", + "\"${PODS_ROOT}/Headers/Public/React-runtimeexecutor\"", + "\"$(PODS_ROOT)/DoubleConversion\"", + "\"$(PODS_ROOT)/boost\"", + "\"$(PODS_ROOT)/Headers/Private/React-Core\"", + "$(PROJECT_DIR)", + ); INFOPLIST_FILE = ProofOfPassport/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -641,6 +776,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.warroom.proofofpassport; PRODUCT_NAME = ProofOfPassport; PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OBJC_BRIDGING_HEADER = "$(PROJECT_DIR)/ProofOfPassport-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; @@ -656,6 +792,102 @@ CODE_SIGN_ENTITLEMENTS = ProofOfPassport/ProofOfPassport.entitlements; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = 5B29R5LYHQ; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/MoproKit\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/NFCPassportReader\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/QKMRZParser\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/QKMRZScanner\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCClipboard\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNSVG\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAppDelegate\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-debug\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsc\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsi\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-logger\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-perflogger\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-runtimescheduler\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-utils\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTesseract\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Yoga\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/fmt\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/glog\"", + "\"${PODS_ROOT}/OpenSSL-Universal/Frameworks\"", + "\"${PODS_ROOT}/SwiftyTesseract/SwiftyTesseract\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/SwiftyTesseract\"", + "$(PROJECT_DIR)", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion/DoubleConversion.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/MoproKit/MoproKit.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/NFCPassportReader/NFCPassportReader.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/QKMRZParser/QKMRZParser.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/QKMRZScanner/QKMRZScanner.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/folly.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety/RCTTypeSafety.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCClipboard/RNCClipboard.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNSVG/RNSVG.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules/CoreModules.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation/RCTAnimation.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAppDelegate/React_RCTAppDelegate.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob/RCTBlob.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage/RCTImage.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking/RCTLinking.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork/RCTNetwork.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings/RCTSettings.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText/RCTText.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration/RCTVibration.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/cxxreact.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-debug/React_debug.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsc/React_jsc.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsi/jsi.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor/jsireact.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector/jsinspector.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-logger/logger.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-perflogger/reactperflogger.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-runtimescheduler/React_runtimescheduler.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-utils/React_utils.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket/SocketRocket.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTesseract/SwiftyTesseract.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Yoga/yoga.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/fmt/fmt.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/glog/glog.framework/Headers\"", + "\"${PODS_ROOT}/Headers/Public\"", + "\"${PODS_ROOT}/Headers/Public/FBLazyVector\"", + "\"${PODS_ROOT}/Headers/Public/RCTRequired\"", + "\"${PODS_ROOT}/Headers/Public/React-callinvoker\"", + "\"${PODS_ROOT}/Headers/Public/React-runtimeexecutor\"", + "\"$(PODS_ROOT)/DoubleConversion\"", + "\"$(PODS_ROOT)/boost\"", + "\"$(PODS_ROOT)/Headers/Private/React-Core\"", + "$(PROJECT_DIR)", + ); INFOPLIST_FILE = ProofOfPassport/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -676,6 +908,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = com.warroom.proofofpassport; PRODUCT_NAME = ProofOfPassport; + SWIFT_OBJC_BRIDGING_HEADER = "$(PROJECT_DIR)/ProofOfPassport-Bridging-Header.h"; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; }; diff --git a/app/ios/ProofOfPassport/Assets.xcassets/authV2.dat.dataset/Contents.json b/app/ios/ProofOfPassport/Assets.xcassets/authV2.dat.dataset/Contents.json new file mode 100644 index 000000000..a1c7c35c8 --- /dev/null +++ b/app/ios/ProofOfPassport/Assets.xcassets/authV2.dat.dataset/Contents.json @@ -0,0 +1,13 @@ +{ + "data" : [ + { + "filename" : "authV2.dat", + "idiom" : "universal", + "universal-type-identifier" : "dyn.ah62d4rv4ge80k2py" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/app/ios/ProofOfPassport/Assets.xcassets/authV2.dat.dataset/authV2.dat b/app/ios/ProofOfPassport/Assets.xcassets/authV2.dat.dataset/authV2.dat new file mode 100644 index 0000000000000000000000000000000000000000..c95f7b7c325f5136f3f7fb837573c7d9b5f28c71 GIT binary patch literal 6176 zcmeI!F%5t)5Qfnf?BSwbn6S~ghDb2Lf&)s@GeA1N6L7=JKYS@U0t5&UAV7cs0RjXF u5cmX+JMY_B+A=sY76KCl>eF|1mA2Z|1Whjp5FkK+0D(UO(Y4XJ(Iqcnf(W4i literal 0 HcmV?d00001 diff --git a/app/ios/Prover.swift b/app/ios/Prover.swift index e4aea8688..82c777a83 100644 --- a/app/ios/Prover.swift +++ b/app/ios/Prover.swift @@ -10,6 +10,10 @@ import React import Security import MoproKit +#if canImport(witnesscalc_authV2) +import witnesscalc_authV2 +#endif + @available(iOS 15, *) @objc(Prover) class Prover: NSObject { @@ -69,42 +73,49 @@ class Prover: NSObject { // inputs["pubkey"] = pubkey; // inputs["address"] = address; - print(inputs) + let inputsDict = ["a": "2", "b": "4"] + let inputsMul = try! JSONEncoder().encode(inputsDict) + print("inputsMul size: \(inputsMul.count) bytes") + print("inputsMul data: \(String(data: inputsMul, encoding: .utf8) ?? "")") let start = CFAbsoluteTimeGetCurrent() - // Generate Proof - let generateProofResult = try generateProof2(circuitInputs: inputs) - assert(!generateProofResult.proof.isEmpty, "Proof should not be empty") + let wtns = try! calcWtnsAuthV2(inputsJson: inputsMul) + print("wtns size: \(wtns.count) bytes") + print("wtns data (hex): \(wtns.map { String(format: "%02hhx", $0) }.joined())") - // Record end time and compute duration - let end = CFAbsoluteTimeGetCurrent() - let timeTaken = end - start - print("Proof generation took \(timeTaken) seconds.") + // // Generate Proof + // let generateProofResult = try generateProof2(circuitInputs: inputs) + // assert(!generateProofResult.proof.isEmpty, "Proof should not be empty") - // Store the generated proof and public inputs for later verification - print("generateProofResult", generateProofResult) - generatedProof = generateProofResult.proof - publicInputs = generateProofResult.inputs + // // Record end time and compute duration + // let end = CFAbsoluteTimeGetCurrent() + // let timeTaken = end - start + // print("Proof generation took \(timeTaken) seconds.") - // Convert Data to array of bytes - let proofBytes = [UInt8](generateProofResult.proof) - let inputsBytes = [UInt8](generateProofResult.inputs) + // // Store the generated proof and public inputs for later verification + // print("generateProofResult", generateProofResult) + // generatedProof = generateProofResult.proof + // publicInputs = generateProofResult.inputs - print("proofBytes", proofBytes) - print("inputsBytes", inputsBytes) + // // Convert Data to array of bytes + // let proofBytes = [UInt8](generateProofResult.proof) + // let inputsBytes = [UInt8](generateProofResult.inputs) - // Create a dictionary with byte arrays - let resultDict: [String: [UInt8]] = [ - "proof": proofBytes, - "inputs": inputsBytes - ] + // print("proofBytes", proofBytes) + // print("inputsBytes", inputsBytes) - // Serialize dictionary to JSON - let jsonData = try JSONSerialization.data(withJSONObject: resultDict, options: []) - let jsonString = String(data: jsonData, encoding: .utf8)! + // // Create a dictionary with byte arrays + // let resultDict: [String: [UInt8]] = [ + // "proof": proofBytes, + // "inputs": inputsBytes + // ] - resolve(jsonString) + // // Serialize dictionary to JSON + // let jsonData = try JSONSerialization.data(withJSONObject: resultDict, options: []) + // let jsonString = String(data: jsonData, encoding: .utf8)! + + // resolve(jsonString) } catch let error as MoproError { print("MoproError: \(error)") reject("PROVER", "An error occurred during proof generation", error) @@ -138,3 +149,47 @@ class Prover: NSObject { } } } + + +public func calcWtnsAuthV2(inputsJson: Data) throws -> Data { + let dat = NSDataAsset(name: "authV2.dat")!.data + return try _calcWtnsAuthV2(dat: dat, jsonData: inputsJson) +} + +enum WitnessCalculationError: Error { + case error(String) + case shortBuffer(requiredSize: UInt) +} + +private func _calcWtnsAuthV2(dat: Data, jsonData: Data) throws -> Data { + let datSize = UInt(dat.count) + let jsonDataSize = UInt(jsonData.count) + + let errorSize = UInt(256); + + let wtnsSize = UnsafeMutablePointer.allocate(capacity: Int(1)); + wtnsSize.initialize(to: UInt(100 * 1024 * 1024 )) + + let wtnsBuffer = UnsafeMutablePointer.allocate(capacity: (100 * 1024 * 1024)) + let errorBuffer = UnsafeMutablePointer.allocate(capacity: Int(errorSize)) + + let result = witnesscalc_authV2( + (dat as NSData).bytes, datSize, + (jsonData as NSData).bytes, jsonDataSize, + wtnsBuffer, wtnsSize, + errorBuffer, errorSize + ) + + if result == WITNESSCALC_ERROR { + let errorMessage = String(bytes: Data(bytes: errorBuffer, count: Int(errorSize)), encoding: .utf8)! + .replacingOccurrences(of: "\0", with: "") + throw WitnessCalculationError.error(errorMessage) + } + + if result == WITNESSCALC_ERROR_SHORT_BUFFER { + throw WitnessCalculationError.shortBuffer(requiredSize: wtnsSize.pointee) + } + + return Data(bytes: wtnsBuffer, count: Int(wtnsSize.pointee)) +} + diff --git a/app/ios/authV2.dat b/app/ios/authV2.dat new file mode 100644 index 0000000000000000000000000000000000000000..c95f7b7c325f5136f3f7fb837573c7d9b5f28c71 GIT binary patch literal 6176 zcmeI!F%5t)5Qfnf?BSwbn6S~ghDb2Lf&)s@GeA1N6L7=JKYS@U0t5&UAV7cs0RjXF u5cmX+JMY_B+A=sY76KCl>eF|1mA2Z|1Whjp5FkK+0D(UO(Y4XJ(Iqcnf(W4i literal 0 HcmV?d00001 diff --git a/app/ios/libfq.a b/app/ios/libfq.a new file mode 100644 index 0000000000000000000000000000000000000000..6d400b56010e828981ec0a9a4a5ea8b9cb51ef7e GIT binary patch literal 58328 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 literal 0 HcmV?d00001 diff --git a/app/ios/libgmp.a b/app/ios/libgmp.a new file mode 100644 index 0000000000000000000000000000000000000000..f93cef780801ab22a423899cfb696c7cb282eb8d GIT binary patch literal 17267480 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 z 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