@zkpassport/sdk 0.9.1 → 0.11.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/constants.cjs +1 -1
- package/dist/cjs/constants.d.cts +1 -1
- package/dist/cjs/index.cjs +260 -115
- package/dist/cjs/public-input-checker.cjs +167 -47
- package/dist/cjs/public-input-checker.d.cts +1 -0
- package/dist/cjs/solidity-verifier.cjs +79 -56
- package/dist/esm/{chunk-OOHOBXGU.js → chunk-6FIXE2II.js} +169 -49
- package/dist/esm/chunk-7UUZHRZ3.js +2564 -0
- package/dist/esm/{chunk-VJZDMGW3.js → chunk-JG37KYXW.js} +1 -1
- package/dist/esm/constants.d.ts +1 -1
- package/dist/esm/constants.js +1 -1
- package/dist/esm/index.js +16 -14
- package/dist/esm/public-input-checker.d.ts +1 -0
- package/dist/esm/public-input-checker.js +2 -2
- package/dist/esm/solidity-verifier.js +2 -2
- package/package.json +5 -5
- package/dist/esm/chunk-OTQ7QDA2.js +0 -2541
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
GOOGLE_APP_ATTEST_RSA_ROOT_KEY_HASH,
|
|
6
6
|
ZKPASSPORT_ANDROID_APP_ID_HASH,
|
|
7
7
|
ZKPASSPORT_IOS_APP_ID_HASH
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-JG37KYXW.js";
|
|
9
9
|
|
|
10
10
|
// src/public-input-checker.ts
|
|
11
11
|
import {
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
getCommitmentOutFromIntegrityProof,
|
|
19
19
|
getCommitmentInFromDisclosureProof,
|
|
20
20
|
getMerkleRootFromDSCProof,
|
|
21
|
-
|
|
21
|
+
getCurrentDateFromDisclosureProof,
|
|
22
22
|
DisclosedData,
|
|
23
23
|
formatName,
|
|
24
24
|
getNumberOfPublicInputs,
|
|
@@ -992,12 +992,6 @@ var PublicInputChecker = class {
|
|
|
992
992
|
};
|
|
993
993
|
}
|
|
994
994
|
const EXPECTED_ENVIRONMENT = "production";
|
|
995
|
-
console.log("facematchCommittedInputs.environment", facematchCommittedInputs.environment);
|
|
996
|
-
console.log("EXPECTED_ENVIRONMENT", EXPECTED_ENVIRONMENT);
|
|
997
|
-
console.log(
|
|
998
|
-
"facematchCommittedInputs.environment !== EXPECTED_ENVIRONMENT",
|
|
999
|
-
facematchCommittedInputs.environment !== EXPECTED_ENVIRONMENT
|
|
1000
|
-
);
|
|
1001
995
|
if (facematchCommittedInputs.environment !== EXPECTED_ENVIRONMENT) {
|
|
1002
996
|
console.warn("Invalid facematch environment, it should be production");
|
|
1003
997
|
isCorrect = false;
|
|
@@ -1010,7 +1004,7 @@ var PublicInputChecker = class {
|
|
|
1010
1004
|
}
|
|
1011
1005
|
};
|
|
1012
1006
|
}
|
|
1013
|
-
if (facematchCommittedInputs.
|
|
1007
|
+
if (facematchCommittedInputs.appIdHash !== ZKPASSPORT_IOS_APP_ID_HASH && facematchCommittedInputs.appIdHash !== ZKPASSPORT_ANDROID_APP_ID_HASH) {
|
|
1014
1008
|
console.warn(
|
|
1015
1009
|
"Invalid facematch app id hash, the attestation should be coming from the ZKPassport app"
|
|
1016
1010
|
);
|
|
@@ -1019,7 +1013,7 @@ var PublicInputChecker = class {
|
|
|
1019
1013
|
...queryResultErrors.facematch,
|
|
1020
1014
|
eq: {
|
|
1021
1015
|
expected: `${ZKPASSPORT_IOS_APP_ID_HASH} (iOS) or ${ZKPASSPORT_ANDROID_APP_ID_HASH} (Android)`,
|
|
1022
|
-
received: facematchCommittedInputs.
|
|
1016
|
+
received: facematchCommittedInputs.appIdHash,
|
|
1023
1017
|
message: "Invalid facematch app id hash, the attestation should be coming from the ZKPassport app"
|
|
1024
1018
|
}
|
|
1025
1019
|
};
|
|
@@ -1027,6 +1021,36 @@ var PublicInputChecker = class {
|
|
|
1027
1021
|
}
|
|
1028
1022
|
return { isCorrect, queryResultErrors };
|
|
1029
1023
|
}
|
|
1024
|
+
static async checkCurrentDate(circuitName, proofData, validity, queryResultErrors) {
|
|
1025
|
+
const currentTime = /* @__PURE__ */ new Date();
|
|
1026
|
+
const today = new Date(
|
|
1027
|
+
currentTime.getFullYear(),
|
|
1028
|
+
currentTime.getMonth(),
|
|
1029
|
+
currentTime.getDate(),
|
|
1030
|
+
0,
|
|
1031
|
+
0,
|
|
1032
|
+
0,
|
|
1033
|
+
0
|
|
1034
|
+
);
|
|
1035
|
+
const currentDate = getCurrentDateFromDisclosureProof(proofData);
|
|
1036
|
+
const todayToCurrentDate = today.getTime() - currentDate.getTime();
|
|
1037
|
+
const expectedDifference = validity ? validity * 1e3 : DEFAULT_VALIDITY * 1e3;
|
|
1038
|
+
const actualDifference = today.getTime() - (today.getTime() - expectedDifference);
|
|
1039
|
+
let isCorrect = true;
|
|
1040
|
+
if (todayToCurrentDate >= actualDifference) {
|
|
1041
|
+
console.warn("The date used to check the validity of the ID falls out of the validity period");
|
|
1042
|
+
isCorrect = false;
|
|
1043
|
+
if (!queryResultErrors[circuitName]) {
|
|
1044
|
+
queryResultErrors[circuitName] = {};
|
|
1045
|
+
}
|
|
1046
|
+
queryResultErrors[circuitName].date = {
|
|
1047
|
+
expected: `Difference: ${validity} seconds`,
|
|
1048
|
+
received: `Difference: ${Math.round(todayToCurrentDate / 1e3)} seconds`,
|
|
1049
|
+
message: "The date used to check the validity of the ID falls out of the validity period"
|
|
1050
|
+
};
|
|
1051
|
+
}
|
|
1052
|
+
return { isCorrect, queryResultErrors };
|
|
1053
|
+
}
|
|
1030
1054
|
static async checkPublicInputs(domain, proofs, queryResult, validity, scope) {
|
|
1031
1055
|
let commitmentIn;
|
|
1032
1056
|
let commitmentOut;
|
|
@@ -1155,14 +1179,9 @@ var PublicInputChecker = class {
|
|
|
1155
1179
|
if (!!committedInputs?.compare_age || !!committedInputs?.compare_age_evm) {
|
|
1156
1180
|
const ageCommittedInputs = committedInputs?.compare_age ?? committedInputs?.compare_age_evm;
|
|
1157
1181
|
const ageParameterCommitment = isForEVM ? await getAgeEVMParameterCommitment(
|
|
1158
|
-
ageCommittedInputs.currentDateTimestamp,
|
|
1159
|
-
ageCommittedInputs.minAge,
|
|
1160
|
-
ageCommittedInputs.maxAge
|
|
1161
|
-
) : await getAgeParameterCommitment(
|
|
1162
|
-
ageCommittedInputs.currentDateTimestamp,
|
|
1163
1182
|
ageCommittedInputs.minAge,
|
|
1164
1183
|
ageCommittedInputs.maxAge
|
|
1165
|
-
);
|
|
1184
|
+
) : await getAgeParameterCommitment(ageCommittedInputs.minAge, ageCommittedInputs.maxAge);
|
|
1166
1185
|
if (!paramCommitments.includes(ageParameterCommitment)) {
|
|
1167
1186
|
console.warn("This proof does not verify the age");
|
|
1168
1187
|
isCorrect = false;
|
|
@@ -1186,16 +1205,12 @@ var PublicInputChecker = class {
|
|
|
1186
1205
|
const birthdateCommittedInputs = committedInputs?.compare_birthdate ?? committedInputs?.compare_birthdate_evm;
|
|
1187
1206
|
const birthdateParameterCommitment = isForEVM ? await getDateEVMParameterCommitment(
|
|
1188
1207
|
ProofType.BIRTHDATE,
|
|
1189
|
-
birthdateCommittedInputs.currentDateTimestamp,
|
|
1190
1208
|
birthdateCommittedInputs.minDateTimestamp,
|
|
1191
|
-
birthdateCommittedInputs.maxDateTimestamp
|
|
1192
|
-
0
|
|
1209
|
+
birthdateCommittedInputs.maxDateTimestamp
|
|
1193
1210
|
) : await getDateParameterCommitment(
|
|
1194
1211
|
ProofType.BIRTHDATE,
|
|
1195
|
-
birthdateCommittedInputs.currentDateTimestamp,
|
|
1196
1212
|
birthdateCommittedInputs.minDateTimestamp,
|
|
1197
|
-
birthdateCommittedInputs.maxDateTimestamp
|
|
1198
|
-
0
|
|
1213
|
+
birthdateCommittedInputs.maxDateTimestamp
|
|
1199
1214
|
);
|
|
1200
1215
|
if (!paramCommitments.includes(birthdateParameterCommitment)) {
|
|
1201
1216
|
console.warn("This proof does not verify the birthdate");
|
|
@@ -1225,7 +1240,6 @@ var PublicInputChecker = class {
|
|
|
1225
1240
|
expiryCommittedInputs.maxDateTimestamp
|
|
1226
1241
|
) : await getDateParameterCommitment(
|
|
1227
1242
|
ProofType.EXPIRY_DATE,
|
|
1228
|
-
expiryCommittedInputs.currentDateTimestamp,
|
|
1229
1243
|
expiryCommittedInputs.minDateTimestamp,
|
|
1230
1244
|
expiryCommittedInputs.maxDateTimestamp
|
|
1231
1245
|
);
|
|
@@ -1429,7 +1443,11 @@ var PublicInputChecker = class {
|
|
|
1429
1443
|
if (!!committedInputs?.exclusion_check_sanctions || !!committedInputs?.exclusion_check_sanctions_evm) {
|
|
1430
1444
|
const sanctionsBuilder = await SanctionsBuilder.create();
|
|
1431
1445
|
const exclusionCheckSanctionsCommittedInputs = committedInputs?.exclusion_check_sanctions ?? committedInputs?.exclusion_check_sanctions_evm;
|
|
1432
|
-
const exclusionCheckSanctionsParameterCommitment = isForEVM ? await sanctionsBuilder.getSanctionsEvmParameterCommitment(
|
|
1446
|
+
const exclusionCheckSanctionsParameterCommitment = isForEVM ? await sanctionsBuilder.getSanctionsEvmParameterCommitment(
|
|
1447
|
+
exclusionCheckSanctionsCommittedInputs.isStrict
|
|
1448
|
+
) : await sanctionsBuilder.getSanctionsParameterCommitment(
|
|
1449
|
+
exclusionCheckSanctionsCommittedInputs.isStrict
|
|
1450
|
+
);
|
|
1433
1451
|
if (!paramCommitments.includes(exclusionCheckSanctionsParameterCommitment)) {
|
|
1434
1452
|
console.warn("This proof does not verify the exclusion from the sanction lists");
|
|
1435
1453
|
isCorrect = false;
|
|
@@ -1461,12 +1479,12 @@ var PublicInputChecker = class {
|
|
|
1461
1479
|
const facematchParameterCommitment = isForEVM ? await getFacematchEvmParameterCommitment(
|
|
1462
1480
|
BigInt(facematchCommittedInputs.rootKeyLeaf),
|
|
1463
1481
|
facematchCommittedInputs.environment === "development" ? 0n : 1n,
|
|
1464
|
-
BigInt(facematchCommittedInputs.
|
|
1482
|
+
BigInt(facematchCommittedInputs.appIdHash),
|
|
1465
1483
|
facematchCommittedInputs.mode === "regular" ? 1n : 2n
|
|
1466
1484
|
) : await getFacematchParameterCommitment(
|
|
1467
1485
|
BigInt(facematchCommittedInputs.rootKeyLeaf),
|
|
1468
1486
|
facematchCommittedInputs.environment === "development" ? 0n : 1n,
|
|
1469
|
-
BigInt(facematchCommittedInputs.
|
|
1487
|
+
BigInt(facematchCommittedInputs.appIdHash),
|
|
1470
1488
|
facematchCommittedInputs.mode === "regular" ? 1n : 2n
|
|
1471
1489
|
);
|
|
1472
1490
|
if (!paramCommitments.includes(facematchParameterCommitment)) {
|
|
@@ -1538,24 +1556,6 @@ var PublicInputChecker = class {
|
|
|
1538
1556
|
};
|
|
1539
1557
|
}
|
|
1540
1558
|
commitmentOut = getCommitmentOutFromIntegrityProof(proofData);
|
|
1541
|
-
const currentDate = getCurrentDateFromIntegrityProof(proofData);
|
|
1542
|
-
const todayToCurrentDate = today.getTime() - currentDate.getTime();
|
|
1543
|
-
const expectedDifference = validity ? validity * 1e3 : DEFAULT_VALIDITY * 1e3;
|
|
1544
|
-
const actualDifference = today.getTime() - (today.getTime() - expectedDifference);
|
|
1545
|
-
if (todayToCurrentDate >= actualDifference) {
|
|
1546
|
-
console.warn(
|
|
1547
|
-
`The date used to check the validity of the ID is older than the validity period`
|
|
1548
|
-
);
|
|
1549
|
-
isCorrect = false;
|
|
1550
|
-
queryResultErrors.data_check_integrity = {
|
|
1551
|
-
...queryResultErrors.data_check_integrity,
|
|
1552
|
-
date: {
|
|
1553
|
-
expected: `Difference: ${validity} seconds`,
|
|
1554
|
-
received: `Difference: ${Math.round(todayToCurrentDate / 1e3)} seconds`,
|
|
1555
|
-
message: "The date used to check the validity of the ID is older than the validity period"
|
|
1556
|
-
}
|
|
1557
|
-
};
|
|
1558
|
-
}
|
|
1559
1559
|
} else if (proof.name === "disclose_bytes") {
|
|
1560
1560
|
commitmentIn = getCommitmentInFromDisclosureProof(proofData);
|
|
1561
1561
|
if (commitmentIn !== commitmentOut) {
|
|
@@ -1608,6 +1608,17 @@ var PublicInputChecker = class {
|
|
|
1608
1608
|
...queryResultErrorsDisclose,
|
|
1609
1609
|
...queryResultErrorsScope
|
|
1610
1610
|
};
|
|
1611
|
+
const { isCorrect: isCorrectCurrentDate, queryResultErrors: queryResultErrorsCurrentDate } = await this.checkCurrentDate(
|
|
1612
|
+
"disclose",
|
|
1613
|
+
proofData,
|
|
1614
|
+
validity ?? DEFAULT_VALIDITY,
|
|
1615
|
+
queryResultErrors
|
|
1616
|
+
);
|
|
1617
|
+
isCorrect = isCorrect && isCorrectCurrentDate;
|
|
1618
|
+
queryResultErrors = {
|
|
1619
|
+
...queryResultErrors,
|
|
1620
|
+
...queryResultErrorsCurrentDate
|
|
1621
|
+
};
|
|
1611
1622
|
uniqueIdentifier = getNullifierFromDisclosureProof(proofData).toString(10);
|
|
1612
1623
|
uniqueIdentifierType = getNullifierTypeFromDisclosureProof(proofData);
|
|
1613
1624
|
} else if (proof.name === "compare_age") {
|
|
@@ -1629,7 +1640,6 @@ var PublicInputChecker = class {
|
|
|
1629
1640
|
const paramCommitment = getParameterCommitmentFromDisclosureProof(proofData);
|
|
1630
1641
|
const committedInputs = proof.committedInputs?.compare_age;
|
|
1631
1642
|
const calculatedParamCommitment = await getAgeParameterCommitment(
|
|
1632
|
-
committedInputs.currentDateTimestamp,
|
|
1633
1643
|
committedInputs.minAge,
|
|
1634
1644
|
committedInputs.maxAge
|
|
1635
1645
|
);
|
|
@@ -1655,6 +1665,17 @@ var PublicInputChecker = class {
|
|
|
1655
1665
|
...queryResultErrorsAge,
|
|
1656
1666
|
...queryResultErrorsScope
|
|
1657
1667
|
};
|
|
1668
|
+
const { isCorrect: isCorrectCurrentDate, queryResultErrors: queryResultErrorsCurrentDate } = await this.checkCurrentDate(
|
|
1669
|
+
"age",
|
|
1670
|
+
proofData,
|
|
1671
|
+
validity ?? DEFAULT_VALIDITY,
|
|
1672
|
+
queryResultErrors
|
|
1673
|
+
);
|
|
1674
|
+
isCorrect = isCorrect && isCorrectCurrentDate;
|
|
1675
|
+
queryResultErrors = {
|
|
1676
|
+
...queryResultErrors,
|
|
1677
|
+
...queryResultErrorsCurrentDate
|
|
1678
|
+
};
|
|
1658
1679
|
uniqueIdentifier = getNullifierFromDisclosureProof(proofData).toString(10);
|
|
1659
1680
|
uniqueIdentifierType = getNullifierTypeFromDisclosureProof(proofData);
|
|
1660
1681
|
} else if (proof.name === "compare_birthdate") {
|
|
@@ -1677,7 +1698,6 @@ var PublicInputChecker = class {
|
|
|
1677
1698
|
const committedInputs = proof.committedInputs?.compare_birthdate;
|
|
1678
1699
|
const calculatedParamCommitment = await getDateParameterCommitment(
|
|
1679
1700
|
ProofType.BIRTHDATE,
|
|
1680
|
-
committedInputs.currentDateTimestamp,
|
|
1681
1701
|
committedInputs.minDateTimestamp,
|
|
1682
1702
|
committedInputs.maxDateTimestamp,
|
|
1683
1703
|
0
|
|
@@ -1710,6 +1730,17 @@ var PublicInputChecker = class {
|
|
|
1710
1730
|
...queryResultErrorsBirthdate,
|
|
1711
1731
|
...queryResultErrorsScope
|
|
1712
1732
|
};
|
|
1733
|
+
const { isCorrect: isCorrectCurrentDate, queryResultErrors: queryResultErrorsCurrentDate } = await this.checkCurrentDate(
|
|
1734
|
+
"birthdate",
|
|
1735
|
+
proofData,
|
|
1736
|
+
validity ?? DEFAULT_VALIDITY,
|
|
1737
|
+
queryResultErrors
|
|
1738
|
+
);
|
|
1739
|
+
isCorrect = isCorrect && isCorrectCurrentDate;
|
|
1740
|
+
queryResultErrors = {
|
|
1741
|
+
...queryResultErrors,
|
|
1742
|
+
...queryResultErrorsCurrentDate
|
|
1743
|
+
};
|
|
1713
1744
|
uniqueIdentifier = getNullifierFromDisclosureProof(proofData).toString(10);
|
|
1714
1745
|
uniqueIdentifierType = getNullifierTypeFromDisclosureProof(proofData);
|
|
1715
1746
|
} else if (proof.name === "compare_expiry") {
|
|
@@ -1732,7 +1763,6 @@ var PublicInputChecker = class {
|
|
|
1732
1763
|
const committedInputs = proof.committedInputs?.compare_expiry;
|
|
1733
1764
|
const calculatedParamCommitment = await getDateParameterCommitment(
|
|
1734
1765
|
ProofType.EXPIRY_DATE,
|
|
1735
|
-
committedInputs.currentDateTimestamp,
|
|
1736
1766
|
committedInputs.minDateTimestamp,
|
|
1737
1767
|
committedInputs.maxDateTimestamp
|
|
1738
1768
|
);
|
|
@@ -1764,6 +1794,17 @@ var PublicInputChecker = class {
|
|
|
1764
1794
|
...queryResultErrorsExpiryDate,
|
|
1765
1795
|
...queryResultErrorsScope
|
|
1766
1796
|
};
|
|
1797
|
+
const { isCorrect: isCorrectCurrentDate, queryResultErrors: queryResultErrorsCurrentDate } = await this.checkCurrentDate(
|
|
1798
|
+
"expiry_date",
|
|
1799
|
+
proofData,
|
|
1800
|
+
validity ?? DEFAULT_VALIDITY,
|
|
1801
|
+
queryResultErrors
|
|
1802
|
+
);
|
|
1803
|
+
isCorrect = isCorrect && isCorrectCurrentDate;
|
|
1804
|
+
queryResultErrors = {
|
|
1805
|
+
...queryResultErrors,
|
|
1806
|
+
...queryResultErrorsCurrentDate
|
|
1807
|
+
};
|
|
1767
1808
|
uniqueIdentifier = getNullifierFromDisclosureProof(proofData).toString(10);
|
|
1768
1809
|
uniqueIdentifierType = getNullifierTypeFromDisclosureProof(proofData);
|
|
1769
1810
|
} else if (proof.name === "exclusion_check_nationality") {
|
|
@@ -1820,6 +1861,17 @@ var PublicInputChecker = class {
|
|
|
1820
1861
|
...queryResultErrorsNationalityExclusion,
|
|
1821
1862
|
...queryResultErrorsScope
|
|
1822
1863
|
};
|
|
1864
|
+
const { isCorrect: isCorrectCurrentDate, queryResultErrors: queryResultErrorsCurrentDate } = await this.checkCurrentDate(
|
|
1865
|
+
"nationality",
|
|
1866
|
+
proofData,
|
|
1867
|
+
validity ?? DEFAULT_VALIDITY,
|
|
1868
|
+
queryResultErrors
|
|
1869
|
+
);
|
|
1870
|
+
isCorrect = isCorrect && isCorrectCurrentDate;
|
|
1871
|
+
queryResultErrors = {
|
|
1872
|
+
...queryResultErrors,
|
|
1873
|
+
...queryResultErrorsCurrentDate
|
|
1874
|
+
};
|
|
1823
1875
|
uniqueIdentifier = getNullifierFromDisclosureProof(proofData).toString(10);
|
|
1824
1876
|
uniqueIdentifierType = getNullifierTypeFromDisclosureProof(proofData);
|
|
1825
1877
|
} else if (proof.name === "exclusion_check_issuing_country") {
|
|
@@ -1876,6 +1928,17 @@ var PublicInputChecker = class {
|
|
|
1876
1928
|
...queryResultErrorsIssuingCountryExclusion,
|
|
1877
1929
|
...queryResultErrorsScope
|
|
1878
1930
|
};
|
|
1931
|
+
const { isCorrect: isCorrectCurrentDate, queryResultErrors: queryResultErrorsCurrentDate } = await this.checkCurrentDate(
|
|
1932
|
+
"issuing_country",
|
|
1933
|
+
proofData,
|
|
1934
|
+
validity ?? DEFAULT_VALIDITY,
|
|
1935
|
+
queryResultErrors
|
|
1936
|
+
);
|
|
1937
|
+
isCorrect = isCorrect && isCorrectCurrentDate;
|
|
1938
|
+
queryResultErrors = {
|
|
1939
|
+
...queryResultErrors,
|
|
1940
|
+
...queryResultErrorsCurrentDate
|
|
1941
|
+
};
|
|
1879
1942
|
uniqueIdentifier = getNullifierFromDisclosureProof(proofData).toString(10);
|
|
1880
1943
|
uniqueIdentifierType = getNullifierTypeFromDisclosureProof(proofData);
|
|
1881
1944
|
} else if (proof.name === "inclusion_check_nationality") {
|
|
@@ -1932,6 +1995,17 @@ var PublicInputChecker = class {
|
|
|
1932
1995
|
...queryResultErrorsNationalityInclusion,
|
|
1933
1996
|
...queryResultErrorsScope
|
|
1934
1997
|
};
|
|
1998
|
+
const { isCorrect: isCorrectCurrentDate, queryResultErrors: queryResultErrorsCurrentDate } = await this.checkCurrentDate(
|
|
1999
|
+
"nationality",
|
|
2000
|
+
proofData,
|
|
2001
|
+
validity ?? DEFAULT_VALIDITY,
|
|
2002
|
+
queryResultErrors
|
|
2003
|
+
);
|
|
2004
|
+
isCorrect = isCorrect && isCorrectCurrentDate;
|
|
2005
|
+
queryResultErrors = {
|
|
2006
|
+
...queryResultErrors,
|
|
2007
|
+
...queryResultErrorsCurrentDate
|
|
2008
|
+
};
|
|
1935
2009
|
uniqueIdentifier = getNullifierFromDisclosureProof(proofData).toString(10);
|
|
1936
2010
|
uniqueIdentifierType = getNullifierTypeFromDisclosureProof(proofData);
|
|
1937
2011
|
} else if (proof.name === "inclusion_check_issuing_country") {
|
|
@@ -1988,6 +2062,17 @@ var PublicInputChecker = class {
|
|
|
1988
2062
|
...queryResultErrorsIssuingCountryInclusion,
|
|
1989
2063
|
...queryResultErrorsScope
|
|
1990
2064
|
};
|
|
2065
|
+
const { isCorrect: isCorrectCurrentDate, queryResultErrors: queryResultErrorsCurrentDate } = await this.checkCurrentDate(
|
|
2066
|
+
"issuing_country",
|
|
2067
|
+
proofData,
|
|
2068
|
+
validity ?? DEFAULT_VALIDITY,
|
|
2069
|
+
queryResultErrors
|
|
2070
|
+
);
|
|
2071
|
+
isCorrect = isCorrect && isCorrectCurrentDate;
|
|
2072
|
+
queryResultErrors = {
|
|
2073
|
+
...queryResultErrors,
|
|
2074
|
+
...queryResultErrorsCurrentDate
|
|
2075
|
+
};
|
|
1991
2076
|
uniqueIdentifier = getNullifierFromDisclosureProof(proofData).toString(10);
|
|
1992
2077
|
uniqueIdentifierType = getNullifierTypeFromDisclosureProof(proofData);
|
|
1993
2078
|
} else if (proof.name === "bind") {
|
|
@@ -2014,12 +2099,25 @@ var PublicInputChecker = class {
|
|
|
2014
2099
|
...queryResultErrors,
|
|
2015
2100
|
...queryResultErrorsBind
|
|
2016
2101
|
};
|
|
2102
|
+
const { isCorrect: isCorrectCurrentDate, queryResultErrors: queryResultErrorsCurrentDate } = await this.checkCurrentDate(
|
|
2103
|
+
"bind",
|
|
2104
|
+
proofData,
|
|
2105
|
+
validity ?? DEFAULT_VALIDITY,
|
|
2106
|
+
queryResultErrors
|
|
2107
|
+
);
|
|
2108
|
+
isCorrect = isCorrect && isCorrectCurrentDate;
|
|
2109
|
+
queryResultErrors = {
|
|
2110
|
+
...queryResultErrors,
|
|
2111
|
+
...queryResultErrorsCurrentDate
|
|
2112
|
+
};
|
|
2017
2113
|
uniqueIdentifier = getNullifierFromDisclosureProof(proofData).toString(10);
|
|
2018
2114
|
uniqueIdentifierType = getNullifierTypeFromDisclosureProof(proofData);
|
|
2019
2115
|
} else if (proof.name === "exclusion_check_sanctions") {
|
|
2020
2116
|
const sanctionsBuilder = await SanctionsBuilder.create();
|
|
2021
2117
|
const exclusionCheckSanctionsCommittedInputs = proof.committedInputs?.exclusion_check_sanctions;
|
|
2022
|
-
const calculatedParamCommitment = await sanctionsBuilder.getSanctionsParameterCommitment(
|
|
2118
|
+
const calculatedParamCommitment = await sanctionsBuilder.getSanctionsParameterCommitment(
|
|
2119
|
+
exclusionCheckSanctionsCommittedInputs.isStrict
|
|
2120
|
+
);
|
|
2023
2121
|
const paramCommittment = getParameterCommitmentFromDisclosureProof(proofData);
|
|
2024
2122
|
if (paramCommittment !== calculatedParamCommitment) {
|
|
2025
2123
|
console.warn(
|
|
@@ -2048,6 +2146,17 @@ var PublicInputChecker = class {
|
|
|
2048
2146
|
...queryResultErrors,
|
|
2049
2147
|
...queryResultErrorsSanctionsExclusion
|
|
2050
2148
|
};
|
|
2149
|
+
const { isCorrect: isCorrectCurrentDate, queryResultErrors: queryResultErrorsCurrentDate } = await this.checkCurrentDate(
|
|
2150
|
+
"sanctions",
|
|
2151
|
+
proofData,
|
|
2152
|
+
validity ?? DEFAULT_VALIDITY,
|
|
2153
|
+
queryResultErrors
|
|
2154
|
+
);
|
|
2155
|
+
isCorrect = isCorrect && isCorrectCurrentDate;
|
|
2156
|
+
queryResultErrors = {
|
|
2157
|
+
...queryResultErrors,
|
|
2158
|
+
...queryResultErrorsCurrentDate
|
|
2159
|
+
};
|
|
2051
2160
|
uniqueIdentifier = getNullifierFromDisclosureProof(proofData).toString(10);
|
|
2052
2161
|
uniqueIdentifierType = getNullifierTypeFromDisclosureProof(proofData);
|
|
2053
2162
|
} else if (proof.name?.startsWith("facematch") && !proof.name?.endsWith("_evm")) {
|
|
@@ -2056,7 +2165,7 @@ var PublicInputChecker = class {
|
|
|
2056
2165
|
const calculatedParamCommitment = await getFacematchParameterCommitment(
|
|
2057
2166
|
BigInt(facematchCommittedInputs.rootKeyLeaf),
|
|
2058
2167
|
facematchCommittedInputs.environment === "development" ? 0n : 1n,
|
|
2059
|
-
BigInt(facematchCommittedInputs.
|
|
2168
|
+
BigInt(facematchCommittedInputs.appIdHash),
|
|
2060
2169
|
facematchCommittedInputs.mode === "regular" ? 1n : 2n
|
|
2061
2170
|
);
|
|
2062
2171
|
if (paramCommittment !== calculatedParamCommitment) {
|
|
@@ -2077,6 +2186,17 @@ var PublicInputChecker = class {
|
|
|
2077
2186
|
...queryResultErrors,
|
|
2078
2187
|
...queryResultErrorsFacematch
|
|
2079
2188
|
};
|
|
2189
|
+
const { isCorrect: isCorrectCurrentDate, queryResultErrors: queryResultErrorsCurrentDate } = await this.checkCurrentDate(
|
|
2190
|
+
"facematch",
|
|
2191
|
+
proofData,
|
|
2192
|
+
validity ?? DEFAULT_VALIDITY,
|
|
2193
|
+
queryResultErrors
|
|
2194
|
+
);
|
|
2195
|
+
isCorrect = isCorrect && isCorrectCurrentDate;
|
|
2196
|
+
queryResultErrors = {
|
|
2197
|
+
...queryResultErrors,
|
|
2198
|
+
...queryResultErrorsCurrentDate
|
|
2199
|
+
};
|
|
2080
2200
|
uniqueIdentifier = getNullifierFromDisclosureProof(proofData).toString(10);
|
|
2081
2201
|
uniqueIdentifierType = getNullifierTypeFromDisclosureProof(proofData);
|
|
2082
2202
|
}
|