← Files AgentBrokoARCHIVED FILE

.venv/Lib/site-packages/rlp/sedes/boolean.py

781 Bytes · Sep 30, 2026 · 23:15 UTC

↓ Download file

from rlp.exceptions import (
    DeserializationError,
    SerializationError,
)


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()

SHA-256: 77860f2069aa3844f25bb0556162315b45f3eb7fd6e3d507075d6cc5d1d26c9e