Files
self/common/src/utils/selfAttestation.ts
Justin Hernandez 5305ef83fc Feat: Improved import export sorting for app and common (#833)
* save import sorting work

* remove dupe headers and fix type errors

* sort imports and exports

* fix errors from export sorting

* fix tests

* codex feedback

* fix exports

* fix exports and tweak test build

* fix export and format

* fix license headers

* fix app building and clean up test errors

* fix android local e2e test

* improve caching

* final fixes

* remove invalid option

* fix sorting and get random values loading

* fix import sorting
2025-08-06 15:18:42 -07:00

52 lines
1.3 KiB
TypeScript

import type { Groth16Proof, PublicSignals } from 'snarkjs';
export interface SelfVerificationResult {
isValid: boolean;
isValidDetails: {
isValidScope: boolean;
isValidAttestationId: boolean;
isValidProof: boolean;
isValidNationality: boolean;
};
userId: string;
application: string;
nullifier: string;
credentialSubject: {
merkle_root?: string;
attestation_id?: string;
current_date?: string;
issuing_state?: string;
name?: string;
passport_number?: string;
nationality?: string;
date_of_birth?: string;
gender?: string;
expiry_date?: string;
older_than?: string;
passport_no_ofac?: boolean;
name_and_dob_ofac?: boolean;
name_and_yob_ofac?: boolean;
};
proof: {
value: {
proof: Groth16Proof;
publicSignals: PublicSignals;
};
};
error: any;
}
export function parsePublicSignalsDisclose(publicSignals) {
return {
revealedData_packed: publicSignals.slice(0, 2),
forbidden_countries_list_packed: publicSignals.slice(3),
nullifier: publicSignals[4],
attestation_id: publicSignals[5],
merkle_root: publicSignals[6],
current_date: publicSignals.slice(7, 12),
smt_root: publicSignals[13],
user_identifier: publicSignals[14],
scope: publicSignals[15],
};
}