mirror of
https://github.com/selfxyz/self.git
synced 2026-04-05 03:00:53 -04:00
* 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
52 lines
1.3 KiB
TypeScript
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],
|
|
};
|
|
}
|