diff --git a/src/keri/core/serdering.py b/src/keri/core/serdering.py index 9aa53c99d..f5df60b99 100644 --- a/src/keri/core/serdering.py +++ b/src/keri/core/serdering.py @@ -1055,6 +1055,8 @@ def said(self): Returns: said (str): qb64 """ + if not self.Fields[self.proto][self.vrsn][self.ilk].saids.keys() and 'd' in self._sad: + return self._sad['d'] # special case for non-saidive messages like rct return self._said @@ -1064,7 +1066,7 @@ def saidb(self): Returns: saidb (bytes): qb64b of said of .saider """ - return self._said.encode("utf-8") if self._said is not None else None + return self.said.encode("utf-8") if self.said is not None else None @property diff --git a/tests/core/test_serdering.py b/tests/core/test_serdering.py index 01d1b8d52..d3ffdb4d2 100644 --- a/tests/core/test_serdering.py +++ b/tests/core/test_serdering.py @@ -1580,7 +1580,9 @@ def test_serderkeri_rct(): assert not serder.verify() # because pre is empty assert serder.ilk == kering.Ilks.rct - assert serder.pre == '' != serder.said # prefix is not saidive + assert serder._said == None # no saidive fields + assert serder.pre == '' # prefix is not saidive + assert serder.said == '' # d field is not saidive sad = serder.sad