Right now, the app sends the proof to the SDK in the OpenPassportVerifierInputs format, then the sdk creates an OpenPassportVerifierReport by parsing inputs from the proof.
We want an object that represents the OpenPassport attestation. It doesn't necessarily have to comply with W3C's VC standard, but it should expose all the attributes and the proofs necessary for verifying them. My proposal is to replace OpenPassportVerifierInputs with OpenPassportAttestation, and have the SDK simply respond true or false when the attestation is passed. OpenPassportAttestation would look like this:
{
context: "OpenPassport"
circuit: "register"
attributes: {
...all the current context of VerifierReport,
...including optional attributes like `isCountryInList` that includes a list of countries, and `isOfacSanctioned`
}
proofs: {
dscProof
cscaProof?
dsc?
}
verifiers: {
dscProofVkey
cscaProofVkey
// those are links to github, e.g. "https://github.com/zk-passport/openpassport/blob/ef68691f886ca8512de320afb066ea9186fcb70e/common/src/constants/vkey.ts"
}
}
Right now, the app sends the proof to the SDK in the
OpenPassportVerifierInputs
format, then the sdk creates anOpenPassportVerifierReport
by parsing inputs from the proof.We want an object that represents the OpenPassport
attestation
. It doesn't necessarily have to comply with W3C's VC standard, but it should expose all the attributes and the proofs necessary for verifying them. My proposal is to replaceOpenPassportVerifierInputs
withOpenPassportAttestation
, and have the SDK simply respondtrue
orfalse
when the attestation is passed.OpenPassportAttestation
would look like this: