Merge pull request #87 from zk-passport/release-v0.0.2

Release v0.0.2
This commit is contained in:
turboblitz
2024-04-10 20:26:10 -07:00
committed by GitHub
9 changed files with 932 additions and 840 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"ProofOfPassport":"0x4057c43602e8D5162Adc1D81706C01F0b6215777","Groth16Verifier":"0xfd07b8bC044d697393d6FE11a7AD808440cDd4eD"}
{"ProofOfPassport":"0x378Ba180c3AFFAf29815c9BBdCcfA1412b9Ce846","Groth16Verifier":"0xEd7495516a957dD7d378d8A78846646461cFF25f"}

View File

@@ -571,13 +571,13 @@ SPEC CHECKSUMS:
React-Core: 8293312ad137ea82fd2c29deb163dbc24aa4e00e
React-CoreModules: 32fab1d62416849a3b6dac6feff9d54e5ddc2d1e
React-cxxreact: 55d0f7cb6b4cc09ba9190797f1da87182d1a2fb6
React-debug: 533bc7812bc4731d1c73b70001c9fe7f037c122e
React-debug: 7e61555c8158126c6cd98c3154381ad3821aaaca
React-jsc: 0db8e8cc2074d979c37ffa7b8d7c914833960497
React-jsi: 58677ff4848ceb6aeb9118fe03448a843ea5e16a
React-jsiexecutor: 2c15ba1bace70177492368d5180b564f165870fd
React-jsinspector: b511447170f561157547bc0bef3f169663860be7
React-logger: c5b527272d5f22eaa09bb3c3a690fee8f237ae95
React-NativeModulesApple: 4d9624c9e6c8f034f2b174509ab8671c2ba51a8e
React-NativeModulesApple: 0438665fc7473be6edc496e823e6ea0b0537b46c
React-perflogger: 6bd153e776e6beed54c56b0847e1220a3ff92ba5
React-RCTActionSheet: c0b62af44e610e69d9a2049a682f5dba4e9dff17
React-RCTAnimation: fe7005136b58f58871cab2f70732343b6e330d30
@@ -591,9 +591,9 @@ SPEC CHECKSUMS:
React-RCTVibration: ea3a68a49873a54ced927c90923fc6932baf344a
React-rncore: 9672a017af4a7da7495d911f0b690cbcae9dd18d
React-runtimeexecutor: 369ae9bb3f83b65201c0c8f7d50b72280b5a1dbc
React-runtimescheduler: 810e1eb2778ad5ff7d36e531dffb2cf6e06a373f
React-utils: 9290f42c6de69e770dd9db84b0ab673d5098a4ab
ReactCommon: 792bc220c086422d4bea3449f74b1c44360f56a7
React-runtimescheduler: ec1066a4f2d1152eb1bc3fb61d69376b3bc0dde0
React-utils: d55ba834beb39f01b0b470ae43478c0a3a024abe
ReactCommon: 68e3a815fbb69af3bb4196e04c6ae7abb306e7a8
RNCClipboard: 41d8d918092ae8e676f18adada19104fa3e68495
RNFS: 4ac0f0ea233904cb798630b3c077808c06931688
RNSVG: 07dbd870b0dcdecc99b3a202fa37c8ca163caec2
@@ -601,6 +601,6 @@ SPEC CHECKSUMS:
SwiftyTesseract: 1f3d96668ae92dc2208d9842c8a59bea9fad2cbb
Yoga: 8796b55dba14d7004f980b54bcc9833ee45b28ce
PODFILE CHECKSUM: 3ec33f7f648c4a3966f1b01bfcf100100bbbebdc
PODFILE CHECKSUM: 2e0fb25883367cd333873ac29cbb9f28ba88c30f
COCOAPODS: 1.14.3

View File

@@ -47,6 +47,15 @@ const AppScreen: React.FC<AppScreenProps> = ({ selectedApp, setSelectedApp, step
const cardsData = [
{
app: soulbound,
title: 'Soulbound Token',
description: 'Mint a Soulbound Token and prove you\'re a human',
colorOfTheText: 'black',
selectable: true,
icon: Flame,
tags: [sepolia()]
},
{
app: zuzalu,
title: 'Zupass',
@@ -66,15 +75,6 @@ const AppScreen: React.FC<AppScreenProps> = ({ selectedApp, setSelectedApp, step
selectable: false,
icon: Coins,
tags: [comingSoon()]
},
{
app: soulbound,
title: 'Soulbound Token',
description: 'Mint a Soulbound Token and prove you\'re a human',
colorOfTheText: 'black',
selectable: true,
icon: Flame,
tags: [sepolia()]
}
];

View File

@@ -318,11 +318,11 @@ const MainScreen: React.FC<MainScreenProps> = ({
<YStack flex={1} mt="$3" jc="space-evenly">
<YStack >
<H3 color={textColor1}>Security and Privacy</H3>
<Text color={textColor2} ml="$2" mt="$1">Proof of Passport uses Zero-Knowledge cryptography to allow you to prove facts about yourself like humanity, nationality or age without disclosing sensitive information.</Text>
<Text color={textColor2} ml="$2" mt="$1">Proof of Passport uses zero-knowledge cryptography to allow you to prove facts about yourself like humanity, nationality or age without disclosing sensitive information.</Text>
</YStack>
<YStack >
<H3 color={textColor1}>About ZK Proofs</H3>
<Text color={textColor2} ml="$2" mt="$1">Zero-knowledge proofs rely on mathematical magic tricks to show the correctness of some computation while hiding some inputs of its inputs. In our case, the proof shows the passport has not been forged, but allows you to hide sensitive data.</Text>
<Text color={textColor2} ml="$2" mt="$1">Zero-knowledge proofs rely on mathematical magic tricks to show the validity of some computation without revealing of all its inputs. In our case, the proof shows the passport has not been forged, but allows you to hide sensitive data.</Text>
</YStack>
<YStack gap="$1">
<H3 color={textColor1}>FAQ</H3>
@@ -336,7 +336,7 @@ const MainScreen: React.FC<MainScreenProps> = ({
</YStack>
<YStack ml="$1">
<H4 color={textColor1}>My passport is not supported</H4>
<Text color={textColor2} ml="$2">Please contact us on Telegram, or if you have development skills, you can easily <Text onPress={() => Linking.openURL('https://t.me/proofofpassport')} color={blueColorLight} style={{ textDecorationLine: 'underline', fontStyle: 'italic' }}>contribute</Text> to the project by adding your region.</Text>
<Text color={textColor2} ml="$2">Please contact us on Telegram, or if you have programming skills, you can easily <Text onPress={() => Linking.openURL('https://t.me/proofofpassport')} color={blueColorLight} style={{ textDecorationLine: 'underline', fontStyle: 'italic' }}>contribute</Text> to the project by adding your signature algorithm.</Text>
</YStack>
</YStack>

View File

@@ -40,7 +40,7 @@ const ScanScreen: React.FC<ScanScreenProps> = ({ onStartCameraScan, handleNFCSca
h="$13"
source={{ uri: SCANHelp }}
/>
<Text mt="$1" color={textColor1}>Use the camera to scan main page of your passport.</Text>
<Text mt="$1" color={textColor1}>Use your camera to scan the main page of your passport.</Text>
<Text fontSize="$2" style={{ fontStyle: 'italic' }} color={textColor2}>No personal data will be stored or shared with external apps.</Text>
</YStack>

View File

@@ -36,10 +36,18 @@ export const prove = async ({
const reveal_bitmap = revealBitmapFromMapping(disclosure);
// if (!["sha256WithRSAEncryption"].includes(passportData.signatureAlgorithm)) {
// console.log(`${passportData.signatureAlgorithm} not supported for proof right now.`);
// return;
// }
if (!["sha256WithRSAEncryption"].includes(passportData.signatureAlgorithm)) {
console.log(`${passportData.signatureAlgorithm} not supported for proof right now.`);
toast.show('Error', {
message: `${passportData.signatureAlgorithm} not supported for proof right now.`,
customData: {
type: "error",
},
})
setStep(Steps.NFC_SCAN_COMPLETED);
setGeneratingProof(false);
return;
}
try {
const inputs = generateCircuitInputs(

File diff suppressed because it is too large Load Diff

View File

@@ -6,6 +6,7 @@
export function toStandardName(jmrtdName: string): string {
switch (jmrtdName) {
// hash functions
case "SHA-1":
case "SHA1":
@@ -22,6 +23,7 @@ export function toStandardName(jmrtdName: string): string {
case "SHA-512":
case "SHA512":
return "sha512";
// sig algs
case "SHA1withECDSA":
return "ecdsa-with-SHA1";
@@ -53,8 +55,16 @@ export function toStandardName(jmrtdName: string): string {
return "rsassa-pss";
case "SHA256withRSAandMGF1":
return "id-mgf1"
// added this one for iOS
case "rsaEncryption":
return "sha256WithRSAEncryption"; // added this one for iOS
// for security
case "SHA256WITHRSA":
case "SHA256withRSA":
case "sha256withRSA":
case "sha256withrsa":
case "SHA256WITHRSAENCRYPTION":
return "sha256WithRSAEncryption";
default:
console.log(`JMRTD sig alg or hash function ${jmrtdName} not found in mapping, returning it as it is`);
return jmrtdName;