docs: def _addAttr(self, txn, isCommitted=False) -> None:
          """
          The state trie stores the hash of the whole attribute data at:
              the did+attribute name if the data is plaintext (RAW)
              the did+hash(attribute) if the data is encrypted (ENC)
          If the attribute is HASH, then nothing is stored in attribute store,
          the trie stores a blank value for the key did+hash
          """
          assert get_type(txn) == ATTRIB
          attr_type, path, value, hashed_value, value_bytes = domain.prepare_attr_for_state(txn)
          self.state.set(path, value_bytes)
          if attr_type != HASH:
              self.attributeStore.set(hashed_value, value)