-
Notifications
You must be signed in to change notification settings - Fork 5
AttributeError: 'NoneType' object has no attribute 'issuer' - presenting revoked OOR credential fails #45
Copy link
Copy link
Open
Description
Presenting a revoked OOR credential fails with the below error and stack trace:
2025-05-15 14:22:41 [sally] ERROR revocation received for unknown credential ELSmY2plM7OBpLsn2r5QgNrWT0XYClQpS4Q5m1N7T_pF
Traceback (most recent call last):
File "/sally/src/sally/app/cli/kli.py", line 22, in main
args.handler(args)
File "/sally/src/sally/app/cli/commands/server/start.py", line 18, in <lambda>
parser.set_defaults(handler=lambda args: launch(args),
^^^^^^^^^^^^
File "/sally/src/sally/app/cli/commands/server/start.py", line 129, in launch
directing.runController(doers=doers, expire=expire)
File "/keripy/venv/lib/python3.12/site-packages/keri/app/directing.py", line 665, in runController
doist.do(doers=doers)
File "/keripy/venv/lib/python3.12/site-packages/hio/base/doing.py", line 156, in do
self.recur() # increments .tyme runs recur context
^^^^^^^^^^^^
File "/keripy/venv/lib/python3.12/site-packages/hio/base/doing.py", line 275, in recur
tock = dog.send(self.tyme) # yielded tock == 0.0 means re-run asap
^^^^^^^^^^^^^^^^^^^
File "/sally/src/sally/core/credentials.py", line 49, in do
prefixer = coring.Prefixer(qb64=creder.issuer)
^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'issuer'Instead of failing then when a revoked credential is received then the original, unrevoked credential should be processed first followed by the revocation.
WARNING:
This assumes that the original issued credential arrives in the CESR stream of the revoked credential. Validate this assumption before working on this issue. If the original issuance is not present in the CESR stream sent during the IPEX Grant of the revoked credential then work with the KERIpy maintainers to change this behavior of IPEX. An IPEX Grant should send both the original issuance and the revocation of a credential.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels