019c0ea9-0945-71ab-a38f-8eb14a6f4179
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 42033 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 42034 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 42035 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 42036 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 42037 | capability.graph | complete | 1 / 3 | 2 months ago |
| 42038 | detector.run | complete | 1 / 3 | 2 months ago |
| 42039 | validation.fork | complete | 1 / 3 | 2 months ago |
| 42421 | report.consolidate | complete | 1 / 6 | 2 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode shows two CALL sites (pc:0x5ca, pc:0xd5c) with computed targets/values and no explicit returndata checks; no delegatecall/proxy patterns detected. Access control heuristics indicate msg.sender is compared against a constant 0xffff… at multiple guard PCs, but this is uncertain from bytecode alone.","findings":[{"severity":"medium","category":"other","title":"External CALL with computed target/value and unchecked return","exploit_scenario":"If any public entrypoint allows user-controlled call target or ETH value for these CALL sites, an attacker could trigger arbitrary external calls or ETH transfers (and potentially reentrancy) to drain funds or manipulate state. Validation data suggests the target may be constant (possibly self-call), so impact depends on actual reachability and control over arguments.","recommendation":"Confirm whether the CALL target/value can be influenced by untrusted callers. If so, restrict to an allowlist or enforce strict access control, and check/bubble up call return data. Consider reentrancy protections around external calls.","evidence":"Detector flagged 2 CALL sites with computed targets/values and returndata_checked = null; validation did not confirm variable targets and observed the contract’s own address as a target candidate.","locations":["pc:0x5ca","pc:0xd5c"]},{"severity":"low","category":"access_control","title":"Authorization guard compares msg.sender to constant 0xffff… (possible hardcoded admin/lockout)","exploit_scenario":"If the guard truly compares msg.sender to 0xffff… then privileged functions may be permanently inaccessible or controlled by an unexpected hardcoded address. This could affect admin actions (e.g., ownership transfer selector 0xf2fde38b) and operational controls.","recommendation":"Verify whether access control is intended to be hardcoded. Prefer storage-based ownership with proper initialization and the ability to rotate the admin. If this is a heuristic artifact, confirm the real owner/role checks in source or with more precise analysis.","evidence":"Auth heuristics report msg_sender_eq_const at pcs 1120, 1558, 1972, 2261, 2695, 2854 with value 0xffffffffffffffffffffffffffffffffffffffff.","locations":["pc:0x460","pc:0x616","pc:0x7b4","pc:0x8d5","pc:0xa87","pc:0xb26"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-yyy4du9o
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0f6c-efee-79b3-8fe7-f49b7f8d79f8
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.
Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
mcp startup: no servers
exec
/bin/bash -lc ls in /tmp/codex-yyy4du9o succeeded in 7ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-yyy4du9o succeeded in 8ms:
{
"analysis_artifact": {
"address": "0x9ba6e731becc5c04878eef7d52c90a8cf07746ae",
"artifact_hash": "0xe45476e67e107c8ad42c97a17212f811077c8c40a7d20a03764132f34653cb0b",
"artifact_json": {
"auth": {
"guards": [
{
"pc": 1120,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1558,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1972,
"type": "msg_sender_eq_const",
exec
/bin/bash -lc 'rg -n "storage|slot|eip1967|proxy|delegatecall|DELEGATECALL|callsite|selector" BYTECODE_BUNDLE.json' in /tmp/codex-yyy4du9o succeeded in 10ms:
2578: "callsites": [
3242: "dispatcher_type": "selector_jump_table",
3246: "selector": "0xffffffff"
3250: "selector": "0x13299604"
3254: "selector": "0x43d726d6"
3258: "selector": "0x4e71e0c8"
3262: "selector": "0x4edc689d"
3266: "selector": "0x521eb273"
3270: "selector": "0x631449e5"
3274: "selector": "0x8c52dc41"
3278: "selector": "0x8da5cb5b"
3282: "selector": "0xc19d93fb"
3286: "selector": "0xcb13cddb"
3290: "selector": "0xe30c3978"
3294: "selector": "0xf2fde38b"
3298: "selector": "0xf340fa01"
3302: "selector": "0xfa89401a"
3342: "selector": "0xffffffff",
3345: "delegatecall": 0,
3349: "storage": {
exec
/bin/bash -lc 'rg -n "function_summaries|functions|selector_jump_table|proxy_evidence|callsites" BYTECODE_BUNDLE.json' in /tmp/codex-yyy4du9o succeeded in 7ms:
2578: "callsites": [
3242: "dispatcher_type": "selector_jump_table",
3305: "functions": [
5964: "proxy_evidence": {
exec
/bin/bash -lc "sed -n '2520,2700p' BYTECODE_BUNDLE.json" in /tmp/codex-yyy4du9o succeeded in 6ms:
"opcodes": [
"INVALID"
],
"start_pc": 3537
},
{
"end_pc": 3547,
"hash": "0x94bc51c404cd12e1f7b96cc0ebb7a12661a7aed5551753fc335a365ae56dbceb",
"opcodes": [
"JUMPDEST",
"OP_80",
"OP_91",
"POP",
"POP",
"OP_92",
"OP_91",
"POP",
"POP",
"JUMP"
],
exec
/bin/bash -lc "sed -n '3240,3380p' BYTECODE_BUNDLE.json" in /tmp/codex-yyy4du9o succeeded in 8ms:
],
"cfg_hash": "0xfaf78428fe9164f6aa2d2df2f766642384a92004ab614002264d40447ad1285c",
"dispatcher_type": "selector_jump_table",
"function_entries": [
{
"entry_pc": 213,
"selector": "0xffffffff"
},
{
"entry_pc": 1138173654,
"selector": "0x13299604"
},
{
"entry_pc": 1316085960,
"selector": "0x43d726d6"
},
{
"entry_pc": 1323067549,
"selector": "0x4e71e0c8"
},
exec
/bin/bash -lc "rg -n \"\\\"selector\\\": \\\"0xf2fde38b\\\"\" -n BYTECODE_BUNDLE.json" in /tmp/codex-yyy4du9o succeeded in 9ms:
3294: "selector": "0xf2fde38b"
5322: "selector": "0xf2fde38b",
7836: "selector": "0xf2fde38b",
exec
/bin/bash -lc "sed -n '5300,5365p' BYTECODE_BUNDLE.json" in /tmp/codex-yyy4du9o succeeded in 8ms:
"pc": 1972,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2261,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2695,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2854,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
exec
/bin/bash -lc "sed -n '5365,5445p' BYTECODE_BUNDLE.json" in /tmp/codex-yyy4du9o succeeded in 7ms:
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1654,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1755,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1920,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2163,
exec
/bin/bash -lc "sed -n '5445,5525p' BYTECODE_BUNDLE.json" in /tmp/codex-yyy4du9o succeeded in 6ms:
"slot": "0x0000000000000000000000000000000000000000000000000000000000000014"
}
],
"writes": 8
}
},
{
"auth": {
"guards": [
{
"pc": 1120,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1558,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
exec
/bin/bash -lc "rg -n \"\\\"pc\\\": 1482\" -n BYTECODE_BUNDLE.json" in /tmp/codex-yyy4du9o succeeded in 8ms:
2581: "pc": 1482,
7748: "pc": 1482,
7866: "pc": 1482,
7942: "pc": 1482,
exec
/bin/bash -lc "sed -n '7800,7925p' BYTECODE_BUNDLE.json" in /tmp/codex-yyy4du9o succeeded in 6ms:
"selector": "0x631449e5",
"type": "function"
},
{
"entry_pc": 2376452955,
"id": "fn:0x8c52dc41",
"selector": "0x8c52dc41",
"type": "function"
},
{
"entry_pc": 3248329723,
"id": "fn:0x8da5cb5b",
"selector": "0x8da5cb5b",
"type": "function"
},
{
"entry_pc": 3407072731,
"id": "fn:0xc19d93fb",
"selector": "0xc19d93fb",
"type": "function"
exec
/bin/bash -lc "sed -n '5765,5835p' BYTECODE_BUNDLE.json" in /tmp/codex-yyy4du9o succeeded in 11ms:
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2998,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000014"
},
{
"op": "SLOAD",
"pc": 3204,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000014"
}
],
"writes": 8
}
}
],
"selectors": [
"0xffffffff",
"0x13299604",
exec
/bin/bash -lc 'rg -n "SSTORE" BYTECODE_BUNDLE.json' in /tmp/codex-yyy4du9o succeeded in 7ms:
1290: "SSTORE",
1478: "SSTORE",
1499: "SSTORE",
1615: "SSTORE",
1873: "SSTORE",
2040: "SSTORE",
2279: "SSTORE",
2413: "SSTORE",
exec
/bin/bash -lc "sed -n '1240,1315p' BYTECODE_BUNDLE.json" in /tmp/codex-yyy4du9o succeeded in 7ms:
"PUSH1",
"OP_80",
"REVERT"
],
"start_pc": 1293
},
{
"end_pc": 1326,
"hash": "0xe20526590429e2510078a969cc6f5a8cd82af1f01c82c5675a1e74ddfac2ce94",
"opcodes": [
"JUMPDEST",
"PUSH1",
"PUSH1",
"PUSH1",
"PUSH2",
"EXP",
"OP_81",
"SLOAD",
"OP_81",
"PUSH1",
exec
/bin/bash -lc "sed -n '1450,1515p' BYTECODE_BUNDLE.json" in /tmp/codex-yyy4du9o succeeded in 6ms:
"PUSH1",
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH20",
"AND",
"PUSH1",
"OP_80",
"PUSH2",
"EXP",
"OP_81",
"SLOAD",
"OP_81",
"PUSH20",
"MUL",
"NOT",
codex
{"no_findings":false,"summary":"Bytecode shows two CALL sites (pc:0x5ca, pc:0xd5c) with computed targets/values and no explicit returndata checks; no delegatecall/proxy patterns detected. Access control heuristics indicate msg.sender is compared against a constant 0xffff… at multiple guard PCs, but this is uncertain from bytecode alone.","findings":[{"severity":"medium","category":"other","title":"External CALL with computed target/value and unchecked return","exploit_scenario":"If any public entrypoint allows user-controlled call target or ETH value for these CALL sites, an attacker could trigger arbitrary external calls or ETH transfers (and potentially reentrancy) to drain funds or manipulate state. Validation data suggests the target may be constant (possibly self-call), so impact depends on actual reachability and control over arguments.","recommendation":"Confirm whether the CALL target/value can be influenced by untrusted callers. If so, restrict to an allowlist or enforce strict access control, and check/bubble up call return data. Consider reentrancy protections around external calls.","evidence":"Detector flagged 2 CALL sites with computed targets/values and returndata_checked = null; validation did not confirm variable targets and observed the contract’s own address as a target candidate.","locations":["pc:0x5ca","pc:0xd5c"]},{"severity":"low","category":"access_control","title":"Authorization guard compares msg.sender to constant 0xffff… (possible hardcoded admin/lockout)","exploit_scenario":"If the guard truly compares msg.sender to 0xffff… then privileged functions may be permanently inaccessible or controlled by an unexpected hardcoded address. This could affect admin actions (e.g., ownership transfer selector 0xf2fde38b) and operational controls.","recommendation":"Verify whether access control is intended to be hardcoded. Prefer storage-based ownership with proper initialization and the ability to rotate the admin. If this is a heuristic artifact, confirm the real owner/role checks in source or with more precise analysis.","evidence":"Auth heuristics report msg_sender_eq_const at pcs 1120, 1558, 1972, 2261, 2695, 2854 with value 0xffffffffffffffffffffffffffffffffffffffff.","locations":["pc:0x460","pc:0x616","pc:0x7b4","pc:0x8d5","pc:0xa87","pc:0xb26"]}]}
tokens used
84,408
{
"codex": {
"ran_at": "2026-01-30T15:04:16.002667+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 7186,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode shows two CALL sites (pc:0x5ca, pc:0xd5c) with computed targets/values and no explicit returndata checks; no delegatecall/proxy patterns detected. Access control heuristics indicate msg.sender is compared against a constant 0xffff\u2026 at multiple guard PCs, but this is uncertain from bytecode alone.",
"raw_final": {
"summary": "Bytecode shows two CALL sites (pc:0x5ca, pc:0xd5c) with computed targets/values and no explicit returndata checks; no delegatecall/proxy patterns detected. Access control heuristics indicate msg.sender is compared against a constant 0xffff\u2026 at multiple guard PCs, but this is uncertain from bytecode alone.",
"findings": [
{
"title": "External CALL with computed target/value and unchecked return",
"category": "other",
"evidence": "Detector flagged 2 CALL sites with computed targets/values and returndata_checked = null; validation did not confirm variable targets and observed the contract\u2019s own address as a target candidate.",
"severity": "medium",
"locations": [
"pc:0x5ca",
"pc:0xd5c"
],
"recommendation": "Confirm whether the CALL target/value can be influenced by untrusted callers. If so, restrict to an allowlist or enforce strict access control, and check/bubble up call return data. Consider reentrancy protections around external calls.",
"exploit_scenario": "If any public entrypoint allows user-controlled call target or ETH value for these CALL sites, an attacker could trigger arbitrary external calls or ETH transfers (and potentially reentrancy) to drain funds or manipulate state. Validation data suggests the target may be constant (possibly self-call), so impact depends on actual reachability and control over arguments."
},
{
"title": "Authorization guard compares msg.sender to constant 0xffff\u2026 (possible hardcoded admin/lockout)",
"category": "access_control",
"evidence": "Auth heuristics report msg_sender_eq_const at pcs 1120, 1558, 1972, 2261, 2695, 2854 with value 0xffffffffffffffffffffffffffffffffffffffff.",
"severity": "low",
"locations": [
"pc:0x460",
"pc:0x616",
"pc:0x7b4",
"pc:0x8d5",
"pc:0xa87",
"pc:0xb26"
],
"recommendation": "Verify whether access control is intended to be hardcoded. Prefer storage-based ownership with proper initialization and the ability to rotate the admin. If this is a heuristic artifact, confirm the real owner/role checks in source or with more precise analysis.",
"exploit_scenario": "If the guard truly compares msg.sender to 0xffff\u2026 then privileged functions may be permanently inaccessible or controlled by an unexpected hardcoded address. This could affect admin actions (e.g., ownership transfer selector 0xf2fde38b) and operational controls."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x00d0 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002e: SWAP1 0000002f: DIV 00000030: PUSH4 0xffffffff 00000035: AND 00000036: DUP1 00000037: PUSH4 0x13299604 0000003c: EQ 0000003d: PUSH2 0x00d5 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0x43d726d6 00000047: EQ 00000048: PUSH2 0x012a 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0x4e71e0c8 00000052: EQ 00000053: PUSH2 0x013f 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0x4edc689d 0000005d: EQ 0000005e: PUSH2 0x0154 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0x521eb273 00000068: EQ 00000069: PUSH2 0x0198 0000006c: JUMPI 0000006d: DUP1 0000006e: PUSH4 0x631449e5 00000073: EQ 00000074: PUSH2 0x01ed 00000077: JUMPI 00000078: DUP1 00000079: PUSH4 0x8c52dc41 0000007e: EQ 0000007f: PUSH2 0x021a 00000082: JUMPI 00000083: DUP1 00000084: PUSH4 0x8da5cb5b 00000089: EQ 0000008a: PUSH2 0x022f 0000008d: JUMPI 0000008e: DUP1 0000008f: PUSH4 0xc19d93fb 00000094: EQ 00000095: PUSH2 0x0284 00000098: JUMPI 00000099: DUP1 0000009a: PUSH4 0xcb13cddb 0000009f: EQ 000000a0: PUSH2 0x02bb 000000a3: JUMPI 000000a4: DUP1 000000a5: PUSH4 0xe30c3978 000000aa: EQ 000000ab: PUSH2 0x0308 000000ae: JUMPI 000000af: DUP1 000000b0: PUSH4 0xf2fde38b 000000b5: EQ 000000b6: PUSH2 0x035d 000000b9: JUMPI 000000ba: DUP1 000000bb: PUSH4 0xf340fa01 000000c0: EQ 000000c1: PUSH2 0x0396 000000c4: JUMPI 000000c5: DUP1 000000c6: PUSH4 0xfa89401a 000000cb: EQ 000000cc: PUSH2 0x03c4 000000cf: JUMPI 000000d0: JUMPDEST 000000d1: PUSH1 0x00 000000d3: DUP1 000000d4: REVERT 000000d5: JUMPDEST 000000d6: CALLVALUE 000000d7: ISZERO 000000d8: PUSH2 0x00e0 000000db: JUMPI 000000dc: PUSH1 0x00 000000de: DUP1 000000df: REVERT 000000e0: JUMPDEST 000000e1: PUSH2 0x00e8 000000e4: PUSH2 0x03fd 000000e7: JUMP 000000e8: JUMPDEST 000000e9: PUSH1 0x40 000000eb: MLOAD 000000ec: DUP1 000000ed: DUP3 000000ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000103: AND 00000104: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000119: AND 0000011a: DUP2 0000011b: MSTORE 0000011c: PUSH1 0x20 0000011e: ADD 0000011f: SWAP2 00000120: POP 00000121: POP 00000122: PUSH1 0x40 00000124: MLOAD 00000125: DUP1 00000126: SWAP2 00000127: SUB 00000128: SWAP1 00000129: RETURN 0000012a: JUMPDEST 0000012b: CALLVALUE 0000012c: ISZERO 0000012d: PUSH2 0x0135 00000130: JUMPI 00000131: PUSH1 0x00 00000133: DUP1 00000134: REVERT 00000135: JUMPDEST 00000136: PUSH2 0x013d 00000139: PUSH2 0x0427 0000013c: JUMP 0000013d: JUMPDEST 0000013e: STOP 0000013f: JUMPDEST 00000140: CALLVALUE 00000141: ISZERO 00000142: PUSH2 0x014a 00000145: JUMPI 00000146: PUSH1 0x00 00000148: DUP1 00000149: REVERT 0000014a: JUMPDEST 0000014b: PUSH2 0x0152 0000014e: PUSH2 0x05dc 00000151: JUMP 00000152: JUMPDEST 00000153: STOP 00000154: JUMPDEST 00000155: CALLVALUE 00000156: ISZERO 00000157: PUSH2 0x015f 0000015a: JUMPI 0000015b: PUSH1 0x00 0000015d: DUP1 0000015e: REVERT 0000015f: JUMPDEST 00000160: PUSH2 0x0196 00000163: PUSH1 0x04 00000165: DUP1 00000166: DUP1 00000167: CALLDATALOAD 00000168: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000017d: AND 0000017e: SWAP1 0000017f: PUSH1 0x20 00000181: ADD 00000182: SWAP1 00000183: SWAP2 00000184: SWAP1 00000185: DUP1 00000186: CALLDATALOAD 00000187: ISZERO 00000188: ISZERO 00000189: SWAP1 0000018a: PUSH1 0x20 0000018c: ADD 0000018d: SWAP1 0000018e: SWAP2 0000018f: SWAP1 00000190: POP 00000191: POP 00000192: PUSH2 0x077b 00000195: JUMP 00000196: JUMPDEST 00000197: STOP 00000198: JUMPDEST 00000199: CALLVALUE 0000019a: ISZERO 0000019b: PUSH2 0x01a3 0000019e: JUMPI 0000019f: PUSH1 0x00 000001a1: DUP1 000001a2: REVERT 000001a3: JUMPDEST 000001a4: PUSH2 0x01ab 000001a7: PUSH2 0x086d 000001aa: JUMP 000001ab: JUMPDEST 000001ac: PUSH1 0x40 000001ae: MLOAD 000001af: DUP1 000001b0: DUP3 000001b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001c6: AND 000001c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001dc: AND 000001dd: DUP2 000001de: MSTORE 000001df: PUSH1 0x20 000001e1: ADD 000001e2: SWAP2 000001e3: POP 000001e4: POP 000001e5: PUSH1 0x40 000001e7: MLOAD 000001e8: DUP1 000001e9: SWAP2 000001ea: SUB 000001eb: SWAP1 000001ec: RETURN 000001ed: JUMPDEST 000001ee: CALLVALUE 000001ef: ISZERO 000001f0: PUSH2 0x01f8 000001f3: JUMPI 000001f4: PUSH1 0x00 000001f6: DUP1 000001f7: REVERT 000001f8: JUMPDEST 000001f9: PUSH2 0x0200 000001fc: PUSH2 0x0893 000001ff: JUMP 00000200: JUMPDEST 00000201: PUSH1 0x40 00000203: MLOAD 00000204: DUP1 00000205: DUP3 00000206: ISZERO 00000207: ISZERO 00000208: ISZERO 00000209: ISZERO 0000020a: DUP2 0000020b: MSTORE 0000020c: PUSH1 0x20 0000020e: ADD 0000020f: SWAP2 00000210: POP 00000211: POP 00000212: PUSH1 0x40 00000214: MLOAD 00000215: DUP1 00000216: SWAP2 00000217: SUB 00000218: SWAP1 00000219: RETURN 0000021a: JUMPDEST 0000021b: CALLVALUE 0000021c: ISZERO 0000021d: PUSH2 0x0225 00000220: JUMPI 00000221: PUSH1 0x00 00000223: DUP1 00000224: REVERT 00000225: JUMPDEST 00000226: PUSH2 0x022d 00000229: PUSH2 0x089c 0000022c: JUMP 0000022d: JUMPDEST 0000022e: STOP 0000022f: JUMPDEST 00000230: CALLVALUE 00000231: ISZERO 00000232: PUSH2 0x023a 00000235: JUMPI 00000236: PUSH1 0x00 00000238: DUP1 00000239: REVERT 0000023a: JUMPDEST 0000023b: PUSH2 0x0242 0000023e: PUSH2 0x09d8 00000241: JUMP 00000242: JUMPDEST 00000243: PUSH1 0x40 00000245: MLOAD 00000246: DUP1 00000247: DUP3 00000248: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000025d: AND 0000025e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000273: AND 00000274: DUP2 00000275: MSTORE 00000276: PUSH1 0x20 00000278: ADD 00000279: SWAP2 0000027a: POP 0000027b: POP 0000027c: PUSH1 0x40 0000027e: MLOAD 0000027f: DUP1 00000280: SWAP2 00000281: SUB 00000282: SWAP1 00000283: RETURN 00000284: JUMPDEST 00000285: CALLVALUE 00000286: ISZERO 00000287: PUSH2 0x028f 0000028a: JUMPI 0000028b: PUSH1 0x00 0000028d: DUP1 0000028e: REVERT 0000028f: JUMPDEST 00000290: PUSH2 0x0297 00000293: PUSH2 0x09fd 00000296: JUMP 00000297: JUMPDEST 00000298: PUSH1 0x40 0000029a: MLOAD 0000029b: DUP1 0000029c: DUP3 0000029d: PUSH1 0x02 0000029f: DUP2 000002a0: GT 000002a1: ISZERO 000002a2: PUSH2 0x02a7 000002a5: JUMPI 000002a6: INVALID 000002a7: JUMPDEST 000002a8: PUSH1 0xff 000002aa: AND 000002ab: DUP2 000002ac: MSTORE 000002ad: PUSH1 0x20 000002af: ADD 000002b0: SWAP2 000002b1: POP 000002b2: POP 000002b3: PUSH1 0x40 000002b5: MLOAD 000002b6: DUP1 000002b7: SWAP2 000002b8: SUB 000002b9: SWAP1 000002ba: RETURN 000002bb: JUMPDEST 000002bc: CALLVALUE 000002bd: ISZERO 000002be: PUSH2 0x02c6 000002c1: JUMPI 000002c2: PUSH1 0x00 000002c4: DUP1 000002c5: REVERT 000002c6: JUMPDEST 000002c7: PUSH2 0x02f2 000002ca: PUSH1 0x04 000002cc: DUP1 000002cd: DUP1 000002ce: CALLDATALOAD 000002cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002e4: AND 000002e5: SWAP1 000002e6: PUSH1 0x20 000002e8: ADD 000002e9: SWAP1 000002ea: SWAP2 000002eb: SWAP1 000002ec: POP 000002ed: POP 000002ee: PUSH2 0x0a10 000002f1: JUMP 000002f2: JUMPDEST 000002f3: PUSH1 0x40 000002f5: MLOAD 000002f6: DUP1 000002f7: DUP3 000002f8: DUP2 000002f9: MSTORE 000002fa: PUSH1 0x20 000002fc: ADD 000002fd: SWAP2 000002fe: POP 000002ff: POP 00000300: PUSH1 0x40 00000302: MLOAD 00000303: DUP1 00000304: SWAP2 00000305: SUB 00000306: SWAP1 00000307: RETURN 00000308: JUMPDEST 00000309: CALLVALUE 0000030a: ISZERO 0000030b: PUSH2 0x0313 0000030e: JUMPI 0000030f: PUSH1 0x00 00000311: DUP1 00000312: REVERT 00000313: JUMPDEST 00000314: PUSH2 0x031b 00000317: PUSH2 0x0a28 0000031a: JUMP 0000031b: JUMPDEST 0000031c: PUSH1 0x40 0000031e: MLOAD 0000031f: DUP1 00000320: DUP3 00000321: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000336: AND 00000337: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000034c: AND 0000034d: DUP2 0000034e: MSTORE 0000034f: PUSH1 0x20 00000351: ADD 00000352: SWAP2 00000353: POP 00000354: POP 00000355: PUSH1 0x40 00000357: MLOAD 00000358: DUP1 00000359: SWAP2 0000035a: SUB 0000035b: SWAP1 0000035c: RETURN 0000035d: JUMPDEST 0000035e: CALLVALUE 0000035f: ISZERO 00000360: PUSH2 0x0368 00000363: JUMPI 00000364: PUSH1 0x00 00000366: DUP1 00000367: REVERT 00000368: JUMPDEST 00000369: PUSH2 0x0394 0000036c: PUSH1 0x04 0000036e: DUP1 0000036f: DUP1 00000370: CALLDATALOAD 00000371: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000386: AND 00000387: SWAP1 00000388: PUSH1 0x20 0000038a: ADD 0000038b: SWAP1 0000038c: SWAP2 0000038d: SWAP1 0000038e: POP 0000038f: POP 00000390: PUSH2 0x0a4e 00000393: JUMP 00000394: JUMPDEST 00000395: STOP 00000396: JUMPDEST 00000397: PUSH2 0x03c2 0000039a: PUSH1 0x04 0000039c: DUP1 0000039d: DUP1 0000039e: CALLDATALOAD 0000039f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003b4: AND 000003b5: SWAP1 000003b6: PUSH1 0x20 000003b8: ADD 000003b9: SWAP1 000003ba: SWAP2 000003bb: SWAP1 000003bc: POP 000003bd: POP 000003be: PUSH2 0x0aed 000003c1: JUMP 000003c2: JUMPDEST 000003c3: STOP 000003c4: JUMPDEST 000003c5: CALLVALUE 000003c6: ISZERO 000003c7: PUSH2 0x03cf 000003ca: JUMPI 000003cb: PUSH1 0x00 000003cd: DUP1 000003ce: REVERT 000003cf: JUMPDEST 000003d0: PUSH2 0x03fb 000003d3: PUSH1 0x04 000003d5: DUP1 000003d6: DUP1 000003d7: CALLDATALOAD 000003d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003ed: AND 000003ee: SWAP1 000003ef: PUSH1 0x20 000003f1: ADD 000003f2: SWAP1 000003f3: SWAP2 000003f4: SWAP1 000003f5: POP 000003f6: POP 000003f7: PUSH2 0x0c6f 000003fa: JUMP 000003fb: JUMPDEST 000003fc: STOP 000003fd: JUMPDEST 000003fe: PUSH1 0x00 00000400: PUSH1 0x04 00000402: PUSH1 0x00 00000404: SWAP1 00000405: SLOAD 00000406: SWAP1 00000407: PUSH2 0x0100 0000040a: EXP 0000040b: SWAP1 0000040c: DIV 0000040d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000422: AND 00000423: SWAP1 00000424: POP 00000425: SWAP1 00000426: JUMP 00000427: JUMPDEST 00000428: PUSH1 0x00 0000042a: DUP1 0000042b: SWAP1 0000042c: SLOAD 0000042d: SWAP1 0000042e: PUSH2 0x0100 00000431: EXP 00000432: SWAP1 00000433: DIV 00000434: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000449: AND 0000044a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000045f: AND 00000460: CALLER 00000461: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000476: AND 00000477: EQ 00000478: DUP1 00000479: PUSH2 0x04d2 0000047c: JUMPI 0000047d: POP 0000047e: PUSH1 0x01 00000480: ISZERO 00000481: ISZERO 00000482: PUSH1 0x01 00000484: PUSH1 0x00 00000486: CALLER 00000487: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000049c: AND 0000049d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004b2: AND 000004b3: DUP2 000004b4: MSTORE 000004b5: PUSH1 0x20 000004b7: ADD 000004b8: SWAP1 000004b9: DUP2 000004ba: MSTORE 000004bb: PUSH1 0x20 000004bd: ADD 000004be: PUSH1 0x00 000004c0: KECCAK256 000004c1: PUSH1 0x00 000004c3: SWAP1 000004c4: SLOAD 000004c5: SWAP1 000004c6: PUSH2 0x0100 000004c9: EXP 000004ca: SWAP1 000004cb: DIV 000004cc: PUSH1 0xff 000004ce: AND 000004cf: ISZERO 000004d0: ISZERO 000004d1: EQ 000004d2: JUMPDEST 000004d3: ISZERO 000004d4: ISZERO 000004d5: PUSH2 0x04dd 000004d8: JUMPI 000004d9: PUSH1 0x00 000004db: DUP1 000004dc: REVERT 000004dd: JUMPDEST 000004de: PUSH1 0x00 000004e0: PUSH1 0x02 000004e2: DUP2 000004e3: GT 000004e4: ISZERO 000004e5: PUSH2 0x04ea 000004e8: JUMPI 000004e9: INVALID 000004ea: JUMPDEST 000004eb: PUSH1 0x04 000004ed: PUSH1 0x14 000004ef: SWAP1 000004f0: SLOAD 000004f1: SWAP1 000004f2: PUSH2 0x0100 000004f5: EXP 000004f6: SWAP1 000004f7: DIV 000004f8: PUSH1 0xff 000004fa: AND 000004fb: PUSH1 0x02 000004fd: DUP2 000004fe: GT 000004ff: ISZERO 00000500: PUSH2 0x0505 00000503: JUMPI 00000504: INVALID 00000505: JUMPDEST 00000506: EQ 00000507: ISZERO 00000508: ISZERO 00000509: PUSH2 0x0511 0000050c: JUMPI 0000050d: PUSH1 0x00 0000050f: DUP1 00000510: REVERT 00000511: JUMPDEST 00000512: PUSH1 0x02 00000514: PUSH1 0x04 00000516: PUSH1 0x14 00000518: PUSH2 0x0100 0000051b: EXP 0000051c: DUP2 0000051d: SLOAD 0000051e: DUP2 0000051f: PUSH1 0xff 00000521: MUL 00000522: NOT 00000523: AND 00000524: SWAP1 00000525: DUP4 00000526: PUSH1 0x02 00000528: DUP2 00000529: GT 0000052a: ISZERO 0000052b: PUSH2 0x0530 0000052e: JUMPI 0000052f: INVALID 00000530: JUMPDEST 00000531: MUL 00000532: OR 00000533: SWAP1 00000534: SSTORE 00000535: POP 00000536: PUSH32 0x1cdde67b72a90f19919ac732a437ac2f7a10fc128d28c2a6e525d89ce5cd9d3a 00000557: PUSH1 0x40 00000559: MLOAD 0000055a: PUSH1 0x40 0000055c: MLOAD 0000055d: DUP1 0000055e: SWAP2 0000055f: SUB 00000560: SWAP1 00000561: LOG1 00000562: PUSH1 0x04 00000564: PUSH1 0x00 00000566: SWAP1 00000567: SLOAD 00000568: SWAP1 00000569: PUSH2 0x0100 0000056c: EXP 0000056d: SWAP1 0000056e: DIV 0000056f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000584: AND 00000585: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000059a: AND 0000059b: PUSH2 0x08fc 0000059e: ADDRESS 0000059f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005b4: AND 000005b5: BALANCE 000005b6: SWAP1 000005b7: DUP2 000005b8: ISZERO 000005b9: MUL 000005ba: SWAP1 000005bb: PUSH1 0x40 000005bd: MLOAD 000005be: PUSH1 0x00 000005c0: PUSH1 0x40 000005c2: MLOAD 000005c3: DUP1 000005c4: DUP4 000005c5: SUB 000005c6: DUP2 000005c7: DUP6 000005c8: DUP9 000005c9: DUP9 000005ca: CALL 000005cb: SWAP4 000005cc: POP 000005cd: POP 000005ce: POP 000005cf: POP 000005d0: ISZERO 000005d1: ISZERO 000005d2: PUSH2 0x05da 000005d5: JUMPI 000005d6: PUSH1 0x00 000005d8: DUP1 000005d9: REVERT 000005da: JUMPDEST 000005db: JUMP 000005dc: JUMPDEST 000005dd: PUSH1 0x02 000005df: PUSH1 0x00 000005e1: SWAP1 000005e2: SLOAD 000005e3: SWAP1 000005e4: PUSH2 0x0100 000005e7: EXP 000005e8: SWAP1 000005e9: DIV 000005ea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005ff: AND 00000600: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000615: AND 00000616: CALLER 00000617: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000062c: AND 0000062d: EQ 0000062e: ISZERO 0000062f: ISZERO 00000630: PUSH2 0x0638 00000633: JUMPI 00000634: PUSH1 0x00 00000636: DUP1 00000637: REVERT 00000638: JUMPDEST 00000639: PUSH1 0x02 0000063b: PUSH1 0x00 0000063d: SWAP1 0000063e: SLOAD 0000063f: SWAP1 00000640: PUSH2 0x0100 00000643: EXP 00000644: SWAP1 00000645: DIV 00000646: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000065b: AND 0000065c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000671: AND 00000672: PUSH1 0x00 00000674: DUP1 00000675: SWAP1 00000676: SLOAD 00000677: SWAP1 00000678: PUSH2 0x0100 0000067b: EXP 0000067c: SWAP1 0000067d: DIV 0000067e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000693: AND 00000694: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006a9: AND 000006aa: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000006cb: PUSH1 0x40 000006cd: MLOAD 000006ce: PUSH1 0x40 000006d0: MLOAD 000006d1: DUP1 000006d2: SWAP2 000006d3: SUB 000006d4: SWAP1 000006d5: LOG3 000006d6: PUSH1 0x02 000006d8: PUSH1 0x00 000006da: SWAP1 000006db: SLOAD 000006dc: SWAP1 000006dd: PUSH2 0x0100 000006e0: EXP 000006e1: SWAP1 000006e2: DIV 000006e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006f8: AND 000006f9: PUSH1 0x00 000006fb: DUP1 000006fc: PUSH2 0x0100 000006ff: EXP 00000700: DUP2 00000701: SLOAD 00000702: DUP2 00000703: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000718: MUL 00000719: NOT 0000071a: AND 0000071b: SWAP1 0000071c: DUP4 0000071d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000732: AND 00000733: MUL 00000734: OR 00000735: SWAP1 00000736: SSTORE 00000737: POP 00000738: PUSH1 0x00 0000073a: PUSH1 0x02 0000073c: PUSH1 0x00 0000073e: PUSH2 0x0100 00000741: EXP 00000742: DUP2 00000743: SLOAD 00000744: DUP2 00000745: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000075a: MUL 0000075b: NOT 0000075c: AND 0000075d: SWAP1 0000075e: DUP4 0000075f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000774: AND 00000775: MUL 00000776: OR 00000777: SWAP1 00000778: SSTORE 00000779: POP 0000077a: JUMP 0000077b: JUMPDEST 0000077c: PUSH1 0x00 0000077e: DUP1 0000077f: SWAP1 00000780: SLOAD 00000781: SWAP1 00000782: PUSH2 0x0100 00000785: EXP 00000786: SWAP1 00000787: DIV 00000788: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000079d: AND 0000079e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007b3: AND 000007b4: CALLER 000007b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007ca: AND 000007cb: EQ 000007cc: ISZERO 000007cd: ISZERO 000007ce: PUSH2 0x07d6 000007d1: JUMPI 000007d2: PUSH1 0x00 000007d4: DUP1 000007d5: REVERT 000007d6: JUMPDEST 000007d7: PUSH1 0x00 000007d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007ee: AND 000007ef: DUP3 000007f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000805: AND 00000806: EQ 00000807: ISZERO 00000808: ISZERO 00000809: ISZERO 0000080a: PUSH2 0x0812 0000080d: JUMPI 0000080e: PUSH1 0x00 00000810: DUP1 00000811: REVERT 00000812: JUMPDEST 00000813: DUP1 00000814: PUSH1 0x01 00000816: PUSH1 0x00 00000818: DUP5 00000819: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000082e: AND 0000082f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000844: AND 00000845: DUP2 00000846: MSTORE 00000847: PUSH1 0x20 00000849: ADD 0000084a: SWAP1 0000084b: DUP2 0000084c: MSTORE 0000084d: PUSH1 0x20 0000084f: ADD 00000850: PUSH1 0x00 00000852: KECCAK256 00000853: PUSH1 0x00 00000855: PUSH2 0x0100 00000858: EXP 00000859: DUP2 0000085a: SLOAD 0000085b: DUP2 0000085c: PUSH1 0xff 0000085e: MUL 0000085f: NOT 00000860: AND 00000861: SWAP1 00000862: DUP4 00000863: ISZERO 00000864: ISZERO 00000865: MUL 00000866: OR 00000867: SWAP1 00000868: SSTORE 00000869: POP 0000086a: POP 0000086b: POP 0000086c: JUMP 0000086d: JUMPDEST 0000086e: PUSH1 0x04 00000870: PUSH1 0x00 00000872: SWAP1 00000873: SLOAD 00000874: SWAP1 00000875: PUSH2 0x0100 00000878: EXP 00000879: SWAP1 0000087a: DIV 0000087b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000890: AND 00000891: DUP2 00000892: JUMP 00000893: JUMPDEST 00000894: PUSH1 0x00 00000896: PUSH1 0x01 00000898: SWAP1 00000899: POP 0000089a: SWAP1 0000089b: JUMP 0000089c: JUMPDEST 0000089d: PUSH1 0x00 0000089f: DUP1 000008a0: SWAP1 000008a1: SLOAD 000008a2: SWAP1 000008a3: PUSH2 0x0100 000008a6: EXP 000008a7: SWAP1 000008a8: DIV 000008a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008be: AND 000008bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008d4: AND 000008d5: CALLER 000008d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008eb: AND 000008ec: EQ 000008ed: DUP1 000008ee: PUSH2 0x0947 000008f1: JUMPI 000008f2: POP 000008f3: PUSH1 0x01 000008f5: ISZERO 000008f6: ISZERO 000008f7: PUSH1 0x01 000008f9: PUSH1 0x00 000008fb: CALLER 000008fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000911: AND 00000912: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000927: AND 00000928: DUP2 00000929: MSTORE 0000092a: PUSH1 0x20 0000092c: ADD 0000092d: SWAP1 0000092e: DUP2 0000092f: MSTORE 00000930: PUSH1 0x20 00000932: ADD 00000933: PUSH1 0x00 00000935: KECCAK256 00000936: PUSH1 0x00 00000938: SWAP1 00000939: SLOAD 0000093a: SWAP1 0000093b: PUSH2 0x0100 0000093e: EXP 0000093f: SWAP1 00000940: DIV 00000941: PUSH1 0xff 00000943: AND 00000944: ISZERO 00000945: ISZERO 00000946: EQ 00000947: JUMPDEST 00000948: ISZERO 00000949: ISZERO 0000094a: PUSH2 0x0952 0000094d: JUMPI 0000094e: PUSH1 0x00 00000950: DUP1 00000951: REVERT 00000952: JUMPDEST 00000953: PUSH1 0x00 00000955: PUSH1 0x02 00000957: DUP2 00000958: GT 00000959: ISZERO 0000095a: PUSH2 0x095f 0000095d: JUMPI 0000095e: INVALID 0000095f: JUMPDEST 00000960: PUSH1 0x04 00000962: PUSH1 0x14 00000964: SWAP1 00000965: SLOAD 00000966: SWAP1 00000967: PUSH2 0x0100 0000096a: EXP 0000096b: SWAP1 0000096c: DIV 0000096d: PUSH1 0xff 0000096f: AND 00000970: PUSH1 0x02 00000972: DUP2 00000973: GT 00000974: ISZERO 00000975: PUSH2 0x097a 00000978: JUMPI 00000979: INVALID 0000097a: JUMPDEST 0000097b: EQ 0000097c: ISZERO 0000097d: ISZERO 0000097e: PUSH2 0x0986 00000981: JUMPI 00000982: PUSH1 0x00 00000984: DUP1 00000985: REVERT 00000986: JUMPDEST 00000987: PUSH1 0x01 00000989: PUSH1 0x04 0000098b: PUSH1 0x14 0000098d: PUSH2 0x0100 00000990: EXP 00000991: DUP2 00000992: SLOAD 00000993: DUP2 00000994: PUSH1 0xff 00000996: MUL 00000997: NOT 00000998: AND 00000999: SWAP1 0000099a: DUP4 0000099b: PUSH1 0x02 0000099d: DUP2 0000099e: GT 0000099f: ISZERO 000009a0: PUSH2 0x09a5 000009a3: JUMPI 000009a4: INVALID 000009a5: JUMPDEST 000009a6: MUL 000009a7: OR 000009a8: SWAP1 000009a9: SSTORE 000009aa: POP 000009ab: PUSH32 0x599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b89 000009cc: PUSH1 0x40 000009ce: MLOAD 000009cf: PUSH1 0x40 000009d1: MLOAD 000009d2: DUP1 000009d3: SWAP2 000009d4: SUB 000009d5: SWAP1 000009d6: LOG1 000009d7: JUMP 000009d8: JUMPDEST 000009d9: PUSH1 0x00 000009db: DUP1 000009dc: SWAP1 000009dd: SLOAD 000009de: SWAP1 000009df: PUSH2 0x0100 000009e2: EXP 000009e3: SWAP1 000009e4: DIV 000009e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009fa: AND 000009fb: DUP2 000009fc: JUMP 000009fd: JUMPDEST 000009fe: PUSH1 0x04 00000a00: PUSH1 0x14 00000a02: SWAP1 00000a03: SLOAD 00000a04: SWAP1 00000a05: PUSH2 0x0100 00000a08: EXP 00000a09: SWAP1 00000a0a: DIV 00000a0b: PUSH1 0xff 00000a0d: AND 00000a0e: DUP2 00000a0f: JUMP 00000a10: JUMPDEST 00000a11: PUSH1 0x03 00000a13: PUSH1 0x20 00000a15: MSTORE 00000a16: DUP1 00000a17: PUSH1 0x00 00000a19: MSTORE 00000a1a: PUSH1 0x40 00000a1c: PUSH1 0x00 00000a1e: KECCAK256 00000a1f: PUSH1 0x00 00000a21: SWAP2 00000a22: POP 00000a23: SWAP1 00000a24: POP 00000a25: SLOAD 00000a26: DUP2 00000a27: JUMP 00000a28: JUMPDEST 00000a29: PUSH1 0x02 00000a2b: PUSH1 0x00 00000a2d: SWAP1 00000a2e: SLOAD 00000a2f: SWAP1 00000a30: PUSH2 0x0100 00000a33: EXP 00000a34: SWAP1 00000a35: DIV 00000a36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a4b: AND 00000a4c: DUP2 00000a4d: JUMP 00000a4e: JUMPDEST 00000a4f: PUSH1 0x00 00000a51: DUP1 00000a52: SWAP1 00000a53: SLOAD 00000a54: SWAP1 00000a55: PUSH2 0x0100 00000a58: EXP 00000a59: SWAP1 00000a5a: DIV 00000a5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a70: AND 00000a71: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a86: AND 00000a87: CALLER 00000a88: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a9d: AND 00000a9e: EQ 00000a9f: ISZERO 00000aa0: ISZERO 00000aa1: PUSH2 0x0aa9 00000aa4: JUMPI 00000aa5: PUSH1 0x00 00000aa7: DUP1 00000aa8: REVERT 00000aa9: JUMPDEST 00000aaa: DUP1 00000aab: PUSH1 0x02 00000aad: PUSH1 0x00 00000aaf: PUSH2 0x0100 00000ab2: EXP 00000ab3: DUP2 00000ab4: SLOAD 00000ab5: DUP2 00000ab6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000acb: MUL 00000acc: NOT 00000acd: AND 00000ace: SWAP1 00000acf: DUP4 00000ad0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ae5: AND 00000ae6: MUL 00000ae7: OR 00000ae8: SWAP1 00000ae9: SSTORE 00000aea: POP 00000aeb: POP 00000aec: JUMP 00000aed: JUMPDEST 00000aee: PUSH1 0x00 00000af0: DUP1 00000af1: SWAP1 00000af2: SLOAD 00000af3: SWAP1 00000af4: PUSH2 0x0100 00000af7: EXP 00000af8: SWAP1 00000af9: DIV 00000afa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b0f: AND 00000b10: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b25: AND 00000b26: CALLER 00000b27: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b3c: AND 00000b3d: EQ 00000b3e: DUP1 00000b3f: PUSH2 0x0b98 00000b42: JUMPI 00000b43: POP 00000b44: PUSH1 0x01 00000b46: ISZERO 00000b47: ISZERO 00000b48: PUSH1 0x01 00000b4a: PUSH1 0x00 00000b4c: CALLER 00000b4d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b62: AND 00000b63: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b78: AND 00000b79: DUP2 00000b7a: MSTORE 00000b7b: PUSH1 0x20 00000b7d: ADD 00000b7e: SWAP1 00000b7f: DUP2 00000b80: MSTORE 00000b81: PUSH1 0x20 00000b83: ADD 00000b84: PUSH1 0x00 00000b86: KECCAK256 00000b87: PUSH1 0x00 00000b89: SWAP1 00000b8a: SLOAD 00000b8b: SWAP1 00000b8c: PUSH2 0x0100 00000b8f: EXP 00000b90: SWAP1 00000b91: DIV 00000b92: PUSH1 0xff 00000b94: AND 00000b95: ISZERO 00000b96: ISZERO 00000b97: EQ 00000b98: JUMPDEST 00000b99: ISZERO 00000b9a: ISZERO 00000b9b: PUSH2 0x0ba3 00000b9e: JUMPI 00000b9f: PUSH1 0x00 00000ba1: DUP1 00000ba2: REVERT 00000ba3: JUMPDEST 00000ba4: PUSH1 0x00 00000ba6: PUSH1 0x02 00000ba8: DUP2 00000ba9: GT 00000baa: ISZERO 00000bab: PUSH2 0x0bb0 00000bae: JUMPI 00000baf: INVALID 00000bb0: JUMPDEST 00000bb1: PUSH1 0x04 00000bb3: PUSH1 0x14 00000bb5: SWAP1 00000bb6: SLOAD 00000bb7: SWAP1 00000bb8: PUSH2 0x0100 00000bbb: EXP 00000bbc: SWAP1 00000bbd: DIV 00000bbe: PUSH1 0xff 00000bc0: AND 00000bc1: PUSH1 0x02 00000bc3: DUP2 00000bc4: GT 00000bc5: ISZERO 00000bc6: PUSH2 0x0bcb 00000bc9: JUMPI 00000bca: INVALID 00000bcb: JUMPDEST 00000bcc: EQ 00000bcd: ISZERO 00000bce: ISZERO 00000bcf: PUSH2 0x0bd7 00000bd2: JUMPI 00000bd3: PUSH1 0x00 00000bd5: DUP1 00000bd6: REVERT 00000bd7: JUMPDEST 00000bd8: PUSH2 0x0c29 00000bdb: CALLVALUE 00000bdc: PUSH1 0x03 00000bde: PUSH1 0x00 00000be0: DUP5 00000be1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bf6: AND 00000bf7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c0c: AND 00000c0d: DUP2 00000c0e: MSTORE 00000c0f: PUSH1 0x20 00000c11: ADD 00000c12: SWAP1 00000c13: DUP2 00000c14: MSTORE 00000c15: PUSH1 0x20 00000c17: ADD 00000c18: PUSH1 0x00 00000c1a: KECCAK256 00000c1b: SLOAD 00000c1c: PUSH2 0x0dbe 00000c1f: SWAP1 00000c20: SWAP2 00000c21: SWAP1 00000c22: PUSH4 0xffffffff 00000c27: AND 00000c28: JUMP 00000c29: JUMPDEST 00000c2a: PUSH1 0x03 00000c2c: PUSH1 0x00 00000c2e: DUP4 00000c2f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c44: AND 00000c45: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c5a: AND 00000c5b: DUP2 00000c5c: MSTORE 00000c5d: PUSH1 0x20 00000c5f: ADD 00000c60: SWAP1 00000c61: DUP2 00000c62: MSTORE 00000c63: PUSH1 0x20 00000c65: ADD 00000c66: PUSH1 0x00 00000c68: KECCAK256 00000c69: DUP2 00000c6a: SWAP1 00000c6b: SSTORE 00000c6c: POP 00000c6d: POP 00000c6e: JUMP 00000c6f: JUMPDEST 00000c70: PUSH1 0x00 00000c72: PUSH1 0x01 00000c74: PUSH1 0x02 00000c76: DUP2 00000c77: GT 00000c78: ISZERO 00000c79: PUSH2 0x0c7e 00000c7c: JUMPI 00000c7d: INVALID 00000c7e: JUMPDEST 00000c7f: PUSH1 0x04 00000c81: PUSH1 0x14 00000c83: SWAP1 00000c84: SLOAD 00000c85: SWAP1 00000c86: PUSH2 0x0100 00000c89: EXP 00000c8a: SWAP1 00000c8b: DIV 00000c8c: PUSH1 0xff 00000c8e: AND 00000c8f: PUSH1 0x02 00000c91: DUP2 00000c92: GT 00000c93: ISZERO 00000c94: PUSH2 0x0c99 00000c97: JUMPI 00000c98: INVALID 00000c99: JUMPDEST 00000c9a: EQ 00000c9b: ISZERO 00000c9c: ISZERO 00000c9d: PUSH2 0x0ca5 00000ca0: JUMPI 00000ca1: PUSH1 0x00 00000ca3: DUP1 00000ca4: REVERT 00000ca5: JUMPDEST 00000ca6: PUSH1 0x03 00000ca8: PUSH1 0x00 00000caa: DUP4 00000cab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cc0: AND 00000cc1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cd6: AND 00000cd7: DUP2 00000cd8: MSTORE 00000cd9: PUSH1 0x20 00000cdb: ADD 00000cdc: SWAP1 00000cdd: DUP2 00000cde: MSTORE 00000cdf: PUSH1 0x20 00000ce1: ADD 00000ce2: PUSH1 0x00 00000ce4: KECCAK256 00000ce5: SLOAD 00000ce6: SWAP1 00000ce7: POP 00000ce8: PUSH1 0x00 00000cea: PUSH1 0x03 00000cec: PUSH1 0x00 00000cee: DUP5 00000cef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d04: AND 00000d05: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d1a: AND 00000d1b: DUP2 00000d1c: MSTORE 00000d1d: PUSH1 0x20 00000d1f: ADD 00000d20: SWAP1 00000d21: DUP2 00000d22: MSTORE 00000d23: PUSH1 0x20 00000d25: ADD 00000d26: PUSH1 0x00 00000d28: KECCAK256 00000d29: DUP2 00000d2a: SWAP1 00000d2b: SSTORE 00000d2c: POP 00000d2d: DUP2 00000d2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d43: AND 00000d44: PUSH2 0x08fc 00000d47: DUP3 00000d48: SWAP1 00000d49: DUP2 00000d4a: ISZERO 00000d4b: MUL 00000d4c: SWAP1 00000d4d: PUSH1 0x40 00000d4f: MLOAD 00000d50: PUSH1 0x00 00000d52: PUSH1 0x40 00000d54: MLOAD 00000d55: DUP1 00000d56: DUP4 00000d57: SUB 00000d58: DUP2 00000d59: DUP6 00000d5a: DUP9 00000d5b: DUP9 00000d5c: CALL 00000d5d: SWAP4 00000d5e: POP 00000d5f: POP 00000d60: POP 00000d61: POP 00000d62: ISZERO 00000d63: ISZERO 00000d64: PUSH2 0x0d6c 00000d67: JUMPI 00000d68: PUSH1 0x00 00000d6a: DUP1 00000d6b: REVERT 00000d6c: JUMPDEST 00000d6d: DUP2 00000d6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d83: AND 00000d84: PUSH32 0xd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651 00000da5: DUP3 00000da6: PUSH1 0x40 00000da8: MLOAD 00000da9: DUP1 00000daa: DUP3 00000dab: DUP2 00000dac: MSTORE 00000dad: PUSH1 0x20 00000daf: ADD 00000db0: SWAP2 00000db1: POP 00000db2: POP 00000db3: PUSH1 0x40 00000db5: MLOAD 00000db6: DUP1 00000db7: SWAP2 00000db8: SUB 00000db9: SWAP1 00000dba: LOG2 00000dbb: POP 00000dbc: POP 00000dbd: JUMP 00000dbe: JUMPDEST 00000dbf: PUSH1 0x00 00000dc1: DUP1 00000dc2: DUP3 00000dc3: DUP5 00000dc4: ADD 00000dc5: SWAP1 00000dc6: POP 00000dc7: DUP4 00000dc8: DUP2 00000dc9: LT 00000dca: ISZERO 00000dcb: ISZERO 00000dcc: ISZERO 00000dcd: PUSH2 0x0dd2 00000dd0: JUMPI 00000dd1: INVALID 00000dd2: JUMPDEST 00000dd3: DUP1 00000dd4: SWAP2 00000dd5: POP 00000dd6: POP 00000dd7: SWAP3 00000dd8: SWAP2 00000dd9: POP 00000dda: POP 00000ddb: JUMP 00000ddc: STOP 00000ddd: LOG1 00000dde: PUSH6 0x627a7a723058 00000de5: KECCAK256 00000de6: UNKNOWN(0xEE) 00000de7: SHL 00000de8: EXP 00000de9: SWAP9 00000dea: SWAP5 00000deb: PUSH24 0x601be92ed3aee05dbf6d71ee31f804ed3e18e66544485e31 00000e04: DUP10 00000e05: UNKNOWN(0x0E) 00000e06: STOP 00000e07: UNKNOWN(0x29)
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x95d24d70c45423c09662bf2bafec42403abf37ae74a6e30160722fec20346671
call_targets:
0x9ba6e731becc5c04878eef7d52c90a8cf07746ae
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x95d24d70c45423c09662bf2bafec42403abf37ae74a6e30160722fec20346671",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x9ba6e731becc5c04878eef7d52c90a8cf07746ae"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x13299604",
"selector": "0x13299604",
"calldata_variants": [
"0x13299604",
"0x132996040000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x43d726d6",
"selector": "0x43d726d6",
"calldata_variants": [
"0x43d726d6",
"0x43d726d60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x4e71e0c8",
"selector": "0x4e71e0c8",
"calldata_variants": [
"0x4e71e0c8",
"0x4e71e0c80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x4edc689d",
"selector": "0x4edc689d",
"calldata_variants": [
"0x4edc689d",
"0x4edc689d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x521eb273",
"selector": "0x521eb273",
"calldata_variants": [
"0x521eb273",
"0x521eb2730000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x631449e5",
"selector": "0x631449e5",
"calldata_variants": [
"0x631449e5",
"0x631449e50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8c52dc41",
"selector": "0x8c52dc41",
"calldata_variants": [
"0x8c52dc41",
"0x8c52dc410000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1482,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "constant",
"target_expression_category": "computed"
},
{
"pc": 3420,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [
{
"pc": 1120,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1558,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1972,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2261,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2695,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2854,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 2
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x95d24d70c45423c09662bf2bafec42403abf37ae74a6e30160722fec20346671
call_targets:
0x9ba6e731becc5c04878eef7d52c90a8cf07746ae
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x95d24d70c45423c09662bf2bafec42403abf37ae74a6e30160722fec20346671",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x9ba6e731becc5c04878eef7d52c90a8cf07746ae"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x13299604",
"selector": "0x13299604",
"calldata_variants": [
"0x13299604",
"0x132996040000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x43d726d6",
"selector": "0x43d726d6",
"calldata_variants": [
"0x43d726d6",
"0x43d726d60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x4e71e0c8",
"selector": "0x4e71e0c8",
"calldata_variants": [
"0x4e71e0c8",
"0x4e71e0c80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x4edc689d",
"selector": "0x4edc689d",
"calldata_variants": [
"0x4edc689d",
"0x4edc689d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x521eb273",
"selector": "0x521eb273",
"calldata_variants": [
"0x521eb273",
"0x521eb2730000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x631449e5",
"selector": "0x631449e5",
"calldata_variants": [
"0x631449e5",
"0x631449e50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8c52dc41",
"selector": "0x8c52dc41",
"calldata_variants": [
"0x8c52dc41",
"0x8c52dc410000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1482,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "constant",
"target_expression_category": "computed"
},
{
"pc": 3420,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": [
{
"pc": 1120,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1558,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1972,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2261,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2695,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2854,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | codex | External CALL with computed target/value and unchecked return | 75 | no | — |
viewevidence_json{
"evidence": "Detector flagged 2 CALL sites with computed targets/values and returndata_checked = null; validation did not confirm variable targets and observed the contract\u2019s own address as a target candidate.",
"locations": [
"pc:0x5ca",
"pc:0xd5c"
],
"recommendation": "Confirm whether the CALL target/value can be influenced by untrusted callers. If so, restrict to an allowlist or enforce strict access control, and check/bubble up call return data. Consider reentrancy protections around external calls.",
"exploit_scenario": "If any public entrypoint allows user-controlled call target or ETH value for these CALL sites, an attacker could trigger arbitrary external calls or ETH transfers (and potentially reentrancy) to drain funds or manipulate state. Validation data suggests the target may be constant (possibly self-call), so impact depends on actual reachability and control over arguments."
}
|
| low | access_control | codex | Authorization guard compares msg.sender to constant 0xffff… (possible hardcoded admin/lockout) | 65 | no | — |
viewevidence_json{
"evidence": "Auth heuristics report msg_sender_eq_const at pcs 1120, 1558, 1972, 2261, 2695, 2854 with value 0xffffffffffffffffffffffffffffffffffffffff.",
"locations": [
"pc:0x460",
"pc:0x616",
"pc:0x7b4",
"pc:0x8d5",
"pc:0xa87",
"pc:0xb26"
],
"recommendation": "Verify whether access control is intended to be hardcoded. Prefer storage-based ownership with proper initialization and the ability to rotate the admin. If this is a heuristic artifact, confirm the real owner/role checks in source or with more precise analysis.",
"exploit_scenario": "If the guard truly compares msg.sender to 0xffff\u2026 then privileged functions may be permanently inaccessible or controlled by an unexpected hardcoded address. This could affect admin actions (e.g., ownership transfer selector 0xf2fde38b) and operational controls."
}
|