def write_varint(w: Writer, n: int) -> None: ensure(n >= 0 and n <= 0xFFFFFFFF) if n < 253: w.append(n & 0xFF) elif n < 0x10000: w.append(253) w.append(n & 0xFF) w.append((n >> 8) & 0xFF) else: w.append(254) w.append(n & 0xFF) w.append((n >> 8) & 0xFF) w.append((n >> 16) & 0xFF) w.append((n >> 24) & 0xFF)
def write_op_push(w: Writer, n: int) -> None: ensure(0 <= n <= 0xFFFF_FFFF) if n < 0x4C: w.append(n & 0xFF) elif n < 0x100: w.append(0x4C) w.append(n & 0xFF) elif n < 0x1_0000: w.append(0x4D) w.append(n & 0xFF) w.append((n >> 8) & 0xFF) else: w.append(0x4E) w.append(n & 0xFF) w.append((n >> 8) & 0xFF) w.append((n >> 16) & 0xFF) w.append((n >> 24) & 0xFF)
def write_op_push(w: Writer, n: int) -> None: ensure(n >= 0 and n <= 0xFFFFFFFF) if n < 0x4C: w.append(n & 0xFF) elif n < 0xFF: w.append(0x4C) w.append(n & 0xFF) elif n < 0xFFFF: w.append(0x4D) w.append(n & 0xFF) w.append((n >> 8) & 0xFF) else: w.append(0x4E) w.append(n & 0xFF) w.append((n >> 8) & 0xFF) w.append((n >> 16) & 0xFF) w.append((n >> 24) & 0xFF)