WebOfTrust / keripy

Key Event Receipt Infrastructure - the spec and implementation of the KERI protocol
https://keripy.readthedocs.io/en/latest/
Apache License 2.0
60 stars 55 forks source link

processCredential telquery messages missing src identifier (fix or remove?) #865

Open iFergal opened 2 months ago

iFergal commented 2 months ago

Version

1.2.0.dev11 (still there on main)

Environment

No response

Expected behavior

If tel events are missing when processing a credential, the credential is escrowed and a telquery is initiated.

e.g. here

self.cues.append(dict(kin="telquery", q=dict(ri=regk, i=vcid, issr=creder.issuer)))

Given the current code, expected would be the telquery would be sent to the issuer, so the credential can get out of escrow.

However, yesterday we had some discussions on a TEL observer role and in many ways retrieving TELs may vary based on use case and not directly involve the issuer agent, so I wonder if we should remove the telquery and have application specific code decide how to retrieve the TELs if missing?

Actual behavior

Not only should this be pre=creder.issuer instead of issr but even then it's still missing the src field so the WitnessInquisitor doesn't know from which prefix to send the message - see query function here.

Steps to reproduce

I've added an endpoint in KERIA temporarily locally to call processCredential given an ACDC SAD. This happens if I don't do an explicit (properly formed) telquery beforehand.

An easier way might be to comment out the streaming of TEL events when disclosing an ACDC via IPEX: https://github.com/WebOfTrust/keripy/blob/1.2.0-dev11/src/keri/vdr/credentialing.py#L981-L990