Source code for rlp.sedes.boolean

from rlp.exceptions import (
    DeserializationError,
    SerializationError,
)


[docs]class Boolean: """A sedes for booleans """ def serialize(self, obj): if not isinstance(obj, bool): raise SerializationError('Can only serialize integers', obj) if obj is False: return b'' elif obj is True: return b'\x01' else: raise Exception("Invariant: no other options for boolean values") def deserialize(self, serial): if serial == b'': return False elif serial == b'\x01': return True else: raise DeserializationError( 'Invalid serialized boolean. Must be either 0x01 or 0x00', serial )
boolean = Boolean()