Surviving mutants

Generated by scripts/mutation_survivors.py from the cosmic-ray session databases. One row per surviving mutant: the suite ran that mutated line and no assertion failed.

A survivor is not automatically a bug — see the equivalent-mutant classes catalogued in docs/how-to/mutation-testing.md (type annotations, error-message f-strings, interpreter-detail rewrites). Triage means deciding, per row, whether the mutated behaviour is genuinely indistinguishable or whether nothing tests it.

221 surviving mutants across 2 modules, of which 22 are marked annot — a type annotation rewritten by a BitOr-family operator, which cannot change behaviour. Start with the unmarked rows.

Snapshot, not a live view. These rows were produced by a sweep at commit 9c0617e and the line numbers, source text and outcomes are all as of that tree. Code moves afterwards: a row can end up quoting today’s production line as a mutant (this happened to a poll_interval_s bound within a day of the first sweep). Re-run the group before treating any single row as current.

src/pyrxd/glyph/payload.py — 143 survivors (0 annot)

Line

Definition

Operator

Original

Mutant

42

_cbor_str

ReplaceComparisonOperator_Eq_Is

if v == "":

if v is "":

67

(module level)

NumberReplacer

_MAX_MIME_TYPE_CHARS = 256

_MAX_MIME_TYPE_CHARS = 255

67

(module level)

NumberReplacer

_MAX_MIME_TYPE_CHARS = 256

_MAX_MIME_TYPE_CHARS = 257

111

_decode_rel_refs

ReplaceComparisonOperator_NotEq_Gt

if not isinstance(item, (bytes, bytearray)) or len(item) != 36:

if not isinstance(item, (bytes, bytearray)) or len(item) > 36:

111

_decode_rel_refs

ReplaceComparisonOperator_NotEq_Lt

if not isinstance(item, (bytes, bytearray)) or len(item) != 36:

if not isinstance(item, (bytes, bytearray)) or len(item) < 36:

116

_decode_rel_refs

ExceptionReplacer

except ValidationError as exc:  # pragma: no cover length already checked

except CosmicRayTestingException as exc:  # pragma: no cover length already checked

136

decode_payload

ReplaceComparisonOperator_Gt_GtE

if len(cbor_bytes) > _MAX_CBOR_PAYLOAD_BYTES:

if len(cbor_bytes) >= _MAX_CBOR_PAYLOAD_BYTES:

151

decode_payload

ReplaceAndWithOr

if isinstance(m, dict) and "t" in m and "b" in m:

if isinstance(m, dict) and "t" in m or "b" in m:

151

decode_payload

ReplaceAndWithOr

if isinstance(m, dict) and "t" in m and "b" in m:

if isinstance(m, dict) or "t" in m and "b" in m:

153

decode_payload

ReplaceComparisonOperator_Gt_GtE

if len(mime_type) > _MAX_MIME_TYPE_CHARS:

if len(mime_type) >= _MAX_MIME_TYPE_CHARS:

170

decode_payload

ExceptionReplacer

except (TypeError, ValueError) as e:

except (TypeError, CosmicRayTestingException) as e:

170

decode_payload

ExceptionReplacer

except (TypeError, ValueError) as e:

except (CosmicRayTestingException, ValueError) as e:

185

decode_payload

ExceptionReplacer

except (ValidationError, KeyError, ValueError) as e:

except (ValidationError, KeyError, CosmicRayTestingException) as e:

185

decode_payload

ExceptionReplacer

except (ValidationError, KeyError, ValueError) as e:

except (ValidationError, CosmicRayTestingException, ValueError) as e:

185

decode_payload

ExceptionReplacer

except (ValidationError, KeyError, ValueError) as e:

except (CosmicRayTestingException, KeyError, ValueError) as e:

192

decode_payload

ExceptionReplacer

except (ValidationError, KeyError, ValueError) as e:

except (CosmicRayTestingException, KeyError, ValueError) as e:

192

decode_payload

ExceptionReplacer

except (ValidationError, KeyError, ValueError) as e:

except (ValidationError, CosmicRayTestingException, ValueError) as e:

192

decode_payload

ExceptionReplacer

except (ValidationError, KeyError, ValueError) as e:

except (ValidationError, KeyError, CosmicRayTestingException) as e:

199

decode_payload

ExceptionReplacer

except (ValidationError, KeyError, ValueError) as e:

except (ValidationError, KeyError, CosmicRayTestingException) as e:

199

decode_payload

ExceptionReplacer

except (ValidationError, KeyError, ValueError) as e:

except (ValidationError, CosmicRayTestingException, ValueError) as e:

199

decode_payload

ExceptionReplacer

except (ValidationError, KeyError, ValueError) as e:

except (CosmicRayTestingException, KeyError, ValueError) as e:

206

decode_payload

ExceptionReplacer

except (ValidationError, KeyError, ValueError) as e:

except (CosmicRayTestingException, KeyError, ValueError) as e:

206

decode_payload

ExceptionReplacer

except (ValidationError, KeyError, ValueError) as e:

except (ValidationError, KeyError, CosmicRayTestingException) as e:

206

decode_payload

ExceptionReplacer

except (ValidationError, KeyError, ValueError) as e:

except (ValidationError, CosmicRayTestingException, ValueError) as e:

216

decode_payload

NumberReplacer

token_type=_cbor_str(d, "type", 64),

token_type=_cbor_str(d, "type", 63),

216

decode_payload

NumberReplacer

token_type=_cbor_str(d, "type", 64),

token_type=_cbor_str(d, "type", 65),

219

decode_payload

NumberReplacer

loc=_cbor_str(d, "loc", 512),

loc=_cbor_str(d, "loc", 511),

219

decode_payload

NumberReplacer

loc=_cbor_str(d, "loc", 512),

loc=_cbor_str(d, "loc", 513),

220

decode_payload

NumberReplacer

loc_hash=_cbor_str(d, "loc_hash", 128),

loc_hash=_cbor_str(d, "loc_hash", 127),

220

decode_payload

NumberReplacer

loc_hash=_cbor_str(d, "loc_hash", 128),

loc_hash=_cbor_str(d, "loc_hash", 129),

222

decode_payload

NumberReplacer

image_url=_cbor_str(d, "image", 512),

image_url=_cbor_str(d, "image", 511),

222

decode_payload

NumberReplacer

image_url=_cbor_str(d, "image", 512),

image_url=_cbor_str(d, "image", 513),

223

decode_payload

NumberReplacer

image_ipfs=_cbor_str(d, "image_ipfs", 128),

image_ipfs=_cbor_str(d, "image_ipfs", 127),

223

decode_payload

NumberReplacer

image_ipfs=_cbor_str(d, "image_ipfs", 128),

image_ipfs=_cbor_str(d, "image_ipfs", 129),

224

decode_payload

NumberReplacer

image_sha256=_cbor_str(d, "image_sha256", 64),

image_sha256=_cbor_str(d, "image_sha256", 65),

231

decode_payload

NumberReplacer

created=_cbor_str(d, "created", 64),

created=_cbor_str(d, "created", 65),

231

decode_payload

NumberReplacer

created=_cbor_str(d, "created", 64),

created=_cbor_str(d, "created", 63),

232

decode_payload

NumberReplacer

commit_outpoint=_cbor_str(d, "commit_outpoint", 128),

commit_outpoint=_cbor_str(d, "commit_outpoint", 129),

232

decode_payload

NumberReplacer

commit_outpoint=_cbor_str(d, "commit_outpoint", 128),

commit_outpoint=_cbor_str(d, "commit_outpoint", 127),

270

_push_minimal_int

ReplaceComparisonOperator_Eq_LtE

if n == 0:

if n <= 0:

272

_push_minimal_int

NumberReplacer

if 1 <= n <= 16:

if 0 <= n <= 16:

276

_push_minimal_int

ReplaceComparisonOperator_Gt_NotEq

while n > 0:

while n != 0:

279

_push_minimal_int

ReplaceBinaryOperator_BitAnd_FloorDiv

if result[-1] & 0x80:

if result[-1] // 0x80:

283

_push_minimal_int

NumberReplacer

if length < 0x4C:

if length < 77:

283

_push_minimal_int

NumberReplacer

if length < 0x4C:

if length < 75:

283

_push_minimal_int

ReplaceComparisonOperator_Lt_LtE

if length < 0x4C:

if length <= 0x4C:

283

_push_minimal_int

ReplaceComparisonOperator_Lt_NotEq

if length < 0x4C:

if length != 0x4C:

285

_push_minimal_int

AddNot

if length <= 0xFF:

if not length <= 0xFF:

285

_push_minimal_int

NumberReplacer

if length <= 0xFF:

if length <= 254:

285

_push_minimal_int

NumberReplacer

if length <= 0xFF:

if length <= 256:

285

_push_minimal_int

ReplaceComparisonOperator_LtE_Eq

if length <= 0xFF:

if length == 0xFF:

285

_push_minimal_int

ReplaceComparisonOperator_LtE_Gt

if length <= 0xFF:

if length > 0xFF:

285

_push_minimal_int

ReplaceComparisonOperator_LtE_GtE

if length <= 0xFF:

if length >= 0xFF:

285

_push_minimal_int

ReplaceComparisonOperator_LtE_Lt

if length <= 0xFF:

if length < 0xFF:

285

_push_minimal_int

ReplaceComparisonOperator_LtE_NotEq

if length <= 0xFF:

if length != 0xFF:

286

_push_minimal_int

ReplaceBinaryOperator_Add_BitAnd

return b"\x4c" + bytes([length]) + payload

return b"\x4c" + bytes([length]) & payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_BitAnd

return b"\x4c" + bytes([length]) + payload

return b"\x4c" & bytes([length]) + payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_BitOr

return b"\x4c" + bytes([length]) + payload

return b"\x4c" + bytes([length]) | payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_BitOr

return b"\x4c" + bytes([length]) + payload

return b"\x4c" | bytes([length]) + payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_BitXor

return b"\x4c" + bytes([length]) + payload

return b"\x4c" ^ bytes([length]) + payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_BitXor

return b"\x4c" + bytes([length]) + payload

return b"\x4c" + bytes([length]) ^ payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_Div

return b"\x4c" + bytes([length]) + payload

return b"\x4c" / bytes([length]) + payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_Div

return b"\x4c" + bytes([length]) + payload

return b"\x4c" + bytes([length]) / payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_FloorDiv

return b"\x4c" + bytes([length]) + payload

return b"\x4c" // bytes([length]) + payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_FloorDiv

return b"\x4c" + bytes([length]) + payload

return b"\x4c" + bytes([length]) // payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_LShift

return b"\x4c" + bytes([length]) + payload

return b"\x4c" << bytes([length]) + payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_LShift

return b"\x4c" + bytes([length]) + payload

return b"\x4c" + bytes([length]) << payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_Mod

return b"\x4c" + bytes([length]) + payload

return b"\x4c" % bytes([length]) + payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_Mod

return b"\x4c" + bytes([length]) + payload

return b"\x4c" + bytes([length]) % payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_Mul

return b"\x4c" + bytes([length]) + payload

return b"\x4c" * bytes([length]) + payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_Mul

return b"\x4c" + bytes([length]) + payload

return b"\x4c" + bytes([length]) * payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_Pow

return b"\x4c" + bytes([length]) + payload

return b"\x4c" ** bytes([length]) + payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_Pow

return b"\x4c" + bytes([length]) + payload

return b"\x4c" + bytes([length]) ** payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_RShift

return b"\x4c" + bytes([length]) + payload

return b"\x4c" >> bytes([length]) + payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_RShift

return b"\x4c" + bytes([length]) + payload

return b"\x4c" + bytes([length]) >> payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_Sub

return b"\x4c" + bytes([length]) + payload

return b"\x4c" - bytes([length]) + payload

286

_push_minimal_int

ReplaceBinaryOperator_Add_Sub

return b"\x4c" + bytes([length]) + payload

return b"\x4c" + bytes([length]) - payload

329

_push_bytes

NumberReplacer

if n <= 75:

if n <= 76:

329

_push_bytes

NumberReplacer

if n <= 75:

if n <= 74:

329

_push_bytes

ReplaceComparisonOperator_LtE_Lt

if n <= 75:

if n < 75:

329

_push_bytes

ReplaceComparisonOperator_LtE_NotEq

if n <= 75:

if n != 75:

331

_push_bytes

AddNot

if n <= 255:

if not n <= 255:

331

_push_bytes

NumberReplacer

if n <= 255:

if n <= 256:

331

_push_bytes

NumberReplacer

if n <= 255:

if n <= 254:

331

_push_bytes

ReplaceComparisonOperator_LtE_Eq

if n <= 255:

if n == 255:

331

_push_bytes

ReplaceComparisonOperator_LtE_Gt

if n <= 255:

if n > 255:

331

_push_bytes

ReplaceComparisonOperator_LtE_GtE

if n <= 255:

if n >= 255:

331

_push_bytes

ReplaceComparisonOperator_LtE_Lt

if n <= 255:

if n < 255:

331

_push_bytes

ReplaceComparisonOperator_LtE_NotEq

if n <= 255:

if n != 255:

332

_push_bytes

ReplaceBinaryOperator_Add_BitAnd

return b"\x4c" + bytes([n]) + b

return b"\x4c" + bytes([n]) & b

332

_push_bytes

ReplaceBinaryOperator_Add_BitAnd

return b"\x4c" + bytes([n]) + b

return b"\x4c" & bytes([n]) + b

332

_push_bytes

ReplaceBinaryOperator_Add_BitOr

return b"\x4c" + bytes([n]) + b

return b"\x4c" | bytes([n]) + b

332

_push_bytes

ReplaceBinaryOperator_Add_BitOr

return b"\x4c" + bytes([n]) + b

return b"\x4c" + bytes([n]) | b

332

_push_bytes

ReplaceBinaryOperator_Add_BitXor

return b"\x4c" + bytes([n]) + b

return b"\x4c" + bytes([n]) ^ b

332

_push_bytes

ReplaceBinaryOperator_Add_BitXor

return b"\x4c" + bytes([n]) + b

return b"\x4c" ^ bytes([n]) + b

332

_push_bytes

ReplaceBinaryOperator_Add_Div

return b"\x4c" + bytes([n]) + b

return b"\x4c" / bytes([n]) + b

332

_push_bytes

ReplaceBinaryOperator_Add_Div

return b"\x4c" + bytes([n]) + b

return b"\x4c" + bytes([n]) / b

332

_push_bytes

ReplaceBinaryOperator_Add_FloorDiv

return b"\x4c" + bytes([n]) + b

return b"\x4c" + bytes([n]) // b

332

_push_bytes

ReplaceBinaryOperator_Add_FloorDiv

return b"\x4c" + bytes([n]) + b

return b"\x4c" // bytes([n]) + b

332

_push_bytes

ReplaceBinaryOperator_Add_LShift

return b"\x4c" + bytes([n]) + b

return b"\x4c" + bytes([n]) << b

332

_push_bytes

ReplaceBinaryOperator_Add_LShift

return b"\x4c" + bytes([n]) + b

return b"\x4c" << bytes([n]) + b

332

_push_bytes

ReplaceBinaryOperator_Add_Mod

return b"\x4c" + bytes([n]) + b

return b"\x4c" + bytes([n]) % b

332

_push_bytes

ReplaceBinaryOperator_Add_Mod

return b"\x4c" + bytes([n]) + b

return b"\x4c" % bytes([n]) + b

332

_push_bytes

ReplaceBinaryOperator_Add_Mul

return b"\x4c" + bytes([n]) + b

return b"\x4c" * bytes([n]) + b

332

_push_bytes

ReplaceBinaryOperator_Add_Mul

return b"\x4c" + bytes([n]) + b

return b"\x4c" + bytes([n]) * b

332

_push_bytes

ReplaceBinaryOperator_Add_Pow

return b"\x4c" + bytes([n]) + b

return b"\x4c" + bytes([n]) ** b

332

_push_bytes

ReplaceBinaryOperator_Add_Pow

return b"\x4c" + bytes([n]) + b

return b"\x4c" ** bytes([n]) + b

332

_push_bytes

ReplaceBinaryOperator_Add_RShift

return b"\x4c" + bytes([n]) + b

return b"\x4c" >> bytes([n]) + b

332

_push_bytes

ReplaceBinaryOperator_Add_RShift

return b"\x4c" + bytes([n]) + b

return b"\x4c" + bytes([n]) >> b

332

_push_bytes

ReplaceBinaryOperator_Add_Sub

return b"\x4c" + bytes([n]) + b

return b"\x4c" - bytes([n]) + b

332

_push_bytes

ReplaceBinaryOperator_Add_Sub

return b"\x4c" + bytes([n]) + b

return b"\x4c" + bytes([n]) - b

333

_push_bytes

AddNot

if n <= 65535:

if not n <= 65535:

333

_push_bytes

NumberReplacer

if n <= 65535:

if n <= 65536:

333

_push_bytes

NumberReplacer

if n <= 65535:

if n <= 65534:

333

_push_bytes

ReplaceComparisonOperator_LtE_Eq

if n <= 65535:

if n == 65535:

333

_push_bytes

ReplaceComparisonOperator_LtE_Gt

if n <= 65535:

if n > 65535:

333

_push_bytes

ReplaceComparisonOperator_LtE_GtE

if n <= 65535:

if n >= 65535:

333

_push_bytes

ReplaceComparisonOperator_LtE_Lt

if n <= 65535:

if n < 65535:

333

_push_bytes

ReplaceComparisonOperator_LtE_NotEq

if n <= 65535:

if n != 65535:

334

_push_bytes

NumberReplacer

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" + n.to_bytes( 1, "little") + b

334

_push_bytes

NumberReplacer

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" + n.to_bytes( 3, "little") + b

334

_push_bytes

ReplaceBinaryOperator_Add_BitAnd

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" & n.to_bytes(2, "little") + b

334

_push_bytes

ReplaceBinaryOperator_Add_BitAnd

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" + n.to_bytes(2, "little") & b

334

_push_bytes

ReplaceBinaryOperator_Add_BitOr

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" | n.to_bytes(2, "little") + b

334

_push_bytes

ReplaceBinaryOperator_Add_BitOr

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" + n.to_bytes(2, "little") | b

334

_push_bytes

ReplaceBinaryOperator_Add_BitXor

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" ^ n.to_bytes(2, "little") + b

334

_push_bytes

ReplaceBinaryOperator_Add_BitXor

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" + n.to_bytes(2, "little") ^ b

334

_push_bytes

ReplaceBinaryOperator_Add_Div

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" + n.to_bytes(2, "little") / b

334

_push_bytes

ReplaceBinaryOperator_Add_Div

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" / n.to_bytes(2, "little") + b

334

_push_bytes

ReplaceBinaryOperator_Add_FloorDiv

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" + n.to_bytes(2, "little") // b

334

_push_bytes

ReplaceBinaryOperator_Add_FloorDiv

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" // n.to_bytes(2, "little") + b

334

_push_bytes

ReplaceBinaryOperator_Add_LShift

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" << n.to_bytes(2, "little") + b

334

_push_bytes

ReplaceBinaryOperator_Add_LShift

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" + n.to_bytes(2, "little") << b

334

_push_bytes

ReplaceBinaryOperator_Add_Mod

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" % n.to_bytes(2, "little") + b

334

_push_bytes

ReplaceBinaryOperator_Add_Mod

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" + n.to_bytes(2, "little") % b

334

_push_bytes

ReplaceBinaryOperator_Add_Mul

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" * n.to_bytes(2, "little") + b

334

_push_bytes

ReplaceBinaryOperator_Add_Mul

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" + n.to_bytes(2, "little") * b

334

_push_bytes

ReplaceBinaryOperator_Add_Pow

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" + n.to_bytes(2, "little") ** b

334

_push_bytes

ReplaceBinaryOperator_Add_Pow

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" ** n.to_bytes(2, "little") + b

334

_push_bytes

ReplaceBinaryOperator_Add_RShift

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" + n.to_bytes(2, "little") >> b

334

_push_bytes

ReplaceBinaryOperator_Add_RShift

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" >> n.to_bytes(2, "little") + b

334

_push_bytes

ReplaceBinaryOperator_Add_Sub

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" + n.to_bytes(2, "little") - b

334

_push_bytes

ReplaceBinaryOperator_Add_Sub

return b"\x4d" + n.to_bytes(2, "little") + b

return b"\x4d" - n.to_bytes(2, "little") + b

src/pyrxd/glyph/script.py — 78 survivors (22 annot)

Line

Definition

Operator

Original

Mutant

169

build_nft_locking_script

ReplaceComparisonOperator_NotEq_Gt

if len(script) != 63:  # internal invariant

if len(script) > 63:  # internal invariant

169

build_nft_locking_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != 63:  # internal invariant

if len(script) < 63:  # internal invariant

179

build_ft_locking_script

ReplaceComparisonOperator_NotEq_Gt

if len(script) != 75:  # internal invariant

if len(script) > 75:  # internal invariant

179

build_ft_locking_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != 75:  # internal invariant

if len(script) < 75:  # internal invariant

187

build_commit_locking_script

ReplaceBinaryOperator_Mul_Div

*,

/,

280

parse_legacy_container_script

ReplaceBinaryOperator_BitOr_Add

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] | None:

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] + None:

annot

280

parse_legacy_container_script

ReplaceBinaryOperator_BitOr_BitAnd

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] | None:

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] & None:

annot

280

parse_legacy_container_script

ReplaceBinaryOperator_BitOr_BitXor

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] | None:

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] ^ None:

annot

280

parse_legacy_container_script

ReplaceBinaryOperator_BitOr_Div

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] | None:

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] / None:

annot

280

parse_legacy_container_script

ReplaceBinaryOperator_BitOr_FloorDiv

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] | None:

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] // None:

annot

280

parse_legacy_container_script

ReplaceBinaryOperator_BitOr_LShift

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] | None:

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] << None:

annot

280

parse_legacy_container_script

ReplaceBinaryOperator_BitOr_Mod

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] | None:

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] % None:

annot

280

parse_legacy_container_script

ReplaceBinaryOperator_BitOr_Mul

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] | None:

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] * None:

annot

280

parse_legacy_container_script

ReplaceBinaryOperator_BitOr_Pow

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] | None:

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] ** None:

annot

280

parse_legacy_container_script

ReplaceBinaryOperator_BitOr_RShift

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] | None:

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] >> None:

annot

280

parse_legacy_container_script

ReplaceBinaryOperator_BitOr_Sub

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] | None:

def parse_legacy_container_script(script: bytes) -> tuple[GlyphRef, GlyphRef, Hex20] - None:

annot

286

parse_legacy_container_script

ReplaceComparisonOperator_NotEq_Gt

if len(script) != LEGACY_CONTAINER_SCRIPT_SIZE or not LEGACY_CONTAINER_SCRIPT_RE.fullmatch(script.hex()):

if len(script) > LEGACY_CONTAINER_SCRIPT_SIZE or not LEGACY_CONTAINER_SCRIPT_RE.fullmatch(script.hex()):

286

parse_legacy_container_script

ReplaceComparisonOperator_NotEq_IsNot

if len(script) != LEGACY_CONTAINER_SCRIPT_SIZE or not LEGACY_CONTAINER_SCRIPT_RE.fullmatch(script.hex()):

if len(script) is not LEGACY_CONTAINER_SCRIPT_SIZE or not LEGACY_CONTAINER_SCRIPT_RE.fullmatch(script.hex()):

286

parse_legacy_container_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != LEGACY_CONTAINER_SCRIPT_SIZE or not LEGACY_CONTAINER_SCRIPT_RE.fullmatch(script.hex()):

if len(script) < LEGACY_CONTAINER_SCRIPT_SIZE or not LEGACY_CONTAINER_SCRIPT_RE.fullmatch(script.hex()):

286

parse_legacy_container_script

ReplaceOrWithAnd

if len(script) != LEGACY_CONTAINER_SCRIPT_SIZE or not LEGACY_CONTAINER_SCRIPT_RE.fullmatch(script.hex()):

if len(script) != LEGACY_CONTAINER_SCRIPT_SIZE and not LEGACY_CONTAINER_SCRIPT_RE.fullmatch(script.hex()):

288

parse_legacy_container_script

ReplaceBinaryOperator_Add_BitOr

child_ref = GlyphRef.from_bytes(script[1 : 1 + REF_OPERAND_WIDTH])

child_ref = GlyphRef.from_bytes(script[1 : 1 | REF_OPERAND_WIDTH])

288

parse_legacy_container_script

ReplaceBinaryOperator_Add_BitXor

child_ref = GlyphRef.from_bytes(script[1 : 1 + REF_OPERAND_WIDTH])

child_ref = GlyphRef.from_bytes(script[1 : 1 ^ REF_OPERAND_WIDTH])

345

extract_ref_from_nft_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != 63 or script[0] != 0xD8:

if len(script) != 63 or script[0] < 0xD8:

345

extract_ref_from_nft_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != 63 or script[0] != 0xD8:

if len(script) < 63 or script[0] != 0xD8:

347

extract_ref_from_nft_script

ReplaceBinaryOperator_Add_BitOr

return GlyphRef.from_bytes(script[1 : 1 + REF_OPERAND_WIDTH])

return GlyphRef.from_bytes(script[1 : 1 | REF_OPERAND_WIDTH])

347

extract_ref_from_nft_script

ReplaceBinaryOperator_Add_BitXor

return GlyphRef.from_bytes(script[1 : 1 + REF_OPERAND_WIDTH])

return GlyphRef.from_bytes(script[1 : 1 ^ REF_OPERAND_WIDTH])

352

extract_ref_from_ft_script

ReplaceComparisonOperator_NotEq_Gt

if len(script) != 75 or script[25] != 0xBD or script[26] != 0xD0:

if len(script) != 75 or script[25] != 0xBD or script[26] > 0xD0:

352

extract_ref_from_ft_script

ReplaceComparisonOperator_NotEq_Gt

if len(script) != 75 or script[25] != 0xBD or script[26] != 0xD0:

if len(script) != 75 or script[25] > 0xBD or script[26] != 0xD0:

352

extract_ref_from_ft_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != 75 or script[25] != 0xBD or script[26] != 0xD0:

if len(script) < 75 or script[25] != 0xBD or script[26] != 0xD0:

352

extract_ref_from_ft_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != 75 or script[25] != 0xBD or script[26] != 0xD0:

if len(script) != 75 or script[25] != 0xBD or script[26] < 0xD0:

352

extract_ref_from_ft_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != 75 or script[25] != 0xBD or script[26] != 0xD0:

if len(script) != 75 or script[25] < 0xBD or script[26] != 0xD0:

352

extract_ref_from_ft_script

ReplaceOrWithAnd

if len(script) != 75 or script[25] != 0xBD or script[26] != 0xD0:

if len(script) != 75 or script[25] != 0xBD and script[26] != 0xD0:

354

extract_ref_from_ft_script

ReplaceBinaryOperator_Add_BitOr

return GlyphRef.from_bytes(script[27 : 27 + REF_OPERAND_WIDTH])

return GlyphRef.from_bytes(script[27 : 27 | REF_OPERAND_WIDTH])

354

extract_ref_from_ft_script

ReplaceBinaryOperator_Add_BitXor

return GlyphRef.from_bytes(script[27 : 27 + REF_OPERAND_WIDTH])

return GlyphRef.from_bytes(script[27 : 27 ^ REF_OPERAND_WIDTH])

359

extract_owner_pkh_from_nft_script

ReplaceComparisonOperator_NotEq_Gt

if len(script) != 63 or script[0] != 0xD8:

if len(script) != 63 or script[0] > 0xD8:

359

extract_owner_pkh_from_nft_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != 63 or script[0] != 0xD8:

if len(script) < 63 or script[0] != 0xD8:

359

extract_owner_pkh_from_nft_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != 63 or script[0] != 0xD8:

if len(script) != 63 or script[0] < 0xD8:

366

extract_owner_pkh_from_ft_script

ReplaceComparisonOperator_NotEq_Gt

if len(script) != 75 or not FT_SCRIPT_RE.match(script.hex()):

if len(script) > 75 or not FT_SCRIPT_RE.match(script.hex()):

366

extract_owner_pkh_from_ft_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != 75 or not FT_SCRIPT_RE.match(script.hex()):

if len(script) < 75 or not FT_SCRIPT_RE.match(script.hex()):

366

extract_owner_pkh_from_ft_script

ReplaceOrWithAnd

if len(script) != 75 or not FT_SCRIPT_RE.match(script.hex()):

if len(script) != 75 and not FT_SCRIPT_RE.match(script.hex()):

373

extract_payload_hash_from_commit_script

ReplaceComparisonOperator_NotEq_Gt

if len(script) != 75 or not COMMIT_SCRIPT_RE.match(script.hex()):

if len(script) > 75 or not COMMIT_SCRIPT_RE.match(script.hex()):

373

extract_payload_hash_from_commit_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != 75 or not COMMIT_SCRIPT_RE.match(script.hex()):

if len(script) < 75 or not COMMIT_SCRIPT_RE.match(script.hex()):

380

extract_owner_pkh_from_commit_script

ReplaceComparisonOperator_NotEq_Gt

if len(script) != 75 or not COMMIT_SCRIPT_RE.match(script.hex()):

if len(script) > 75 or not COMMIT_SCRIPT_RE.match(script.hex()):

380

extract_owner_pkh_from_commit_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != 75 or not COMMIT_SCRIPT_RE.match(script.hex()):

if len(script) < 75 or not COMMIT_SCRIPT_RE.match(script.hex()):

380

extract_owner_pkh_from_commit_script

ReplaceOrWithAnd

if len(script) != 75 or not COMMIT_SCRIPT_RE.match(script.hex()):

if len(script) != 75 and not COMMIT_SCRIPT_RE.match(script.hex()):

442

build_mutable_nft_script

ReplaceComparisonOperator_NotEq_Lt

if len(payload_hash) != 32:

if len(payload_hash) < 32:

453

build_mutable_nft_script

ReplaceComparisonOperator_NotEq_Gt

if len(script) != MUTABLE_NFT_SCRIPT_SIZE:

if len(script) > MUTABLE_NFT_SCRIPT_SIZE:

453

build_mutable_nft_script

ReplaceComparisonOperator_NotEq_IsNot

if len(script) != MUTABLE_NFT_SCRIPT_SIZE:

if len(script) is not MUTABLE_NFT_SCRIPT_SIZE:

453

build_mutable_nft_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != MUTABLE_NFT_SCRIPT_SIZE:

if len(script) < MUTABLE_NFT_SCRIPT_SIZE:

460

parse_mutable_nft_script

ReplaceBinaryOperator_BitOr_Add

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] | None:

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] + None:

annot

460

parse_mutable_nft_script

ReplaceBinaryOperator_BitOr_BitAnd

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] | None:

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] & None:

annot

460

parse_mutable_nft_script

ReplaceBinaryOperator_BitOr_BitXor

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] | None:

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] ^ None:

annot

460

parse_mutable_nft_script

ReplaceBinaryOperator_BitOr_Div

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] | None:

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] / None:

annot

460

parse_mutable_nft_script

ReplaceBinaryOperator_BitOr_FloorDiv

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] | None:

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] // None:

annot

460

parse_mutable_nft_script

ReplaceBinaryOperator_BitOr_LShift

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] | None:

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] << None:

annot

460

parse_mutable_nft_script

ReplaceBinaryOperator_BitOr_Mod

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] | None:

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] % None:

annot

460

parse_mutable_nft_script

ReplaceBinaryOperator_BitOr_Mul

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] | None:

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] * None:

annot

460

parse_mutable_nft_script

ReplaceBinaryOperator_BitOr_Pow

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] | None:

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] ** None:

annot

460

parse_mutable_nft_script

ReplaceBinaryOperator_BitOr_RShift

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] | None:

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] >> None:

annot

460

parse_mutable_nft_script

ReplaceBinaryOperator_BitOr_Sub

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] | None:

def parse_mutable_nft_script(script: bytes) -> tuple[GlyphRef, bytes] - None:

annot

462

parse_mutable_nft_script

ReplaceComparisonOperator_NotEq_IsNot

if len(script) != MUTABLE_NFT_SCRIPT_SIZE:

if len(script) is not MUTABLE_NFT_SCRIPT_SIZE:

462

parse_mutable_nft_script

ReplaceComparisonOperator_NotEq_Lt

if len(script) != MUTABLE_NFT_SCRIPT_SIZE:

if len(script) < MUTABLE_NFT_SCRIPT_SIZE:

464

parse_mutable_nft_script

ReplaceComparisonOperator_NotEq_Gt

if script[0] != 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] != 0xD8:

if script[0] != 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] > 0xD8:

464

parse_mutable_nft_script

ReplaceComparisonOperator_NotEq_Gt

if script[0] != 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] != 0xD8:

if script[0] != 0x20 or script[33] != 0x75 or script[34] > 0xBD or script[35] != 0xD8:

464

parse_mutable_nft_script

ReplaceComparisonOperator_NotEq_Gt

if script[0] != 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] != 0xD8:

if script[0] > 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] != 0xD8:

464

parse_mutable_nft_script

ReplaceComparisonOperator_NotEq_Gt

if script[0] != 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] != 0xD8:

if script[0] != 0x20 or script[33] > 0x75 or script[34] != 0xBD or script[35] != 0xD8:

464

parse_mutable_nft_script

ReplaceComparisonOperator_NotEq_Lt

if script[0] != 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] != 0xD8:

if script[0] != 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] < 0xD8:

464

parse_mutable_nft_script

ReplaceComparisonOperator_NotEq_Lt

if script[0] != 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] != 0xD8:

if script[0] < 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] != 0xD8:

464

parse_mutable_nft_script

ReplaceComparisonOperator_NotEq_Lt

if script[0] != 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] != 0xD8:

if script[0] != 0x20 or script[33] < 0x75 or script[34] != 0xBD or script[35] != 0xD8:

464

parse_mutable_nft_script

ReplaceComparisonOperator_NotEq_Lt

if script[0] != 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] != 0xD8:

if script[0] != 0x20 or script[33] != 0x75 or script[34] < 0xBD or script[35] != 0xD8:

464

parse_mutable_nft_script

ReplaceOrWithAnd

if script[0] != 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] != 0xD8:

if script[0] != 0x20 or script[33] != 0x75 or script[34] != 0xBD and script[35] != 0xD8:

464

parse_mutable_nft_script

ReplaceOrWithAnd

if script[0] != 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] != 0xD8:

if script[0] != 0x20 and script[33] != 0x75 or script[34] != 0xBD or script[35] != 0xD8:

464

parse_mutable_nft_script

ReplaceOrWithAnd

if script[0] != 0x20 or script[33] != 0x75 or script[34] != 0xBD or script[35] != 0xD8:

if script[0] != 0x20 or script[33] != 0x75 and script[34] != 0xBD or script[35] != 0xD8:

466

parse_mutable_nft_script

ReplaceComparisonOperator_NotEq_Gt

if script[72:] != _MUTABLE_NFT_BODY:

if script[72:] > _MUTABLE_NFT_BODY:

466

parse_mutable_nft_script

ReplaceComparisonOperator_NotEq_Is

if script[72:] != _MUTABLE_NFT_BODY:

if script[72:] is _MUTABLE_NFT_BODY:

466

parse_mutable_nft_script

ReplaceComparisonOperator_NotEq_Lt

if script[72:] != _MUTABLE_NFT_BODY:

if script[72:] < _MUTABLE_NFT_BODY:

545

iter_script_ops_strict

ReplaceComparisonOperator_Lt_IsNot

while pos < n:

while pos is not n:

545

iter_script_ops_strict

ReplaceComparisonOperator_Lt_NotEq

while pos < n:

while pos != n: