TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

019b3836-2efb-71f0-a5f6-e81799da779f

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:03 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
1
Validated
1
Source
Bytecode only
Review Backing
Not yet
Best current signal
SELFDESTRUCT reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
2363 artifact.fetch complete 1 / 3 3 months ago
2364 tool.cast_disasm complete 1 / 3 3 months ago
97086 analysis.bundle complete 1 / 3 1 week ago
97087 capability.graph complete 1 / 3 1 week ago
97088 detector.run complete 1 / 3 1 week ago
97089 validation.fork complete 1 / 3 1 week ago
113820 report.consolidate complete 1 / 6 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: no

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
0
No findings?
View stderr
OpenAI Codex v0.118.0 (research preview)
--------
workdir: /tmp/codex-4vdm5v9t
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5c9f-a7bf-7e40-87fb-5edf890dde50
--------
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.
warning: Codex could not find system bubblewrap on PATH. Please install bubblewrap with your package manager. Codex will use the vendored bubblewrap in the meantime.
ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM.
ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM.
Metadata
{
    "codex": {
        "ran_at": "2026-04-05T07:51:02.060780+00:00",
        "returncode": 1
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 4666,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": null,
    "no_findings": null,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
1
CREATE2
0
CALL-family (heavy)
1
EXT*/BALANCE
1
Total opcodes
1467
Flags
selfdestruct_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x00c1
0000000a: JUMPI
0000000b: PUSH1 0x00
0000000d: CALLDATALOAD
0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002c: SWAP1
0000002d: DIV
0000002e: DUP1
0000002f: PUSH4 0x12065fe0
00000034: EQ
00000035: PUSH2 0x0128
00000038: JUMPI
00000039: DUP1
0000003a: PUSH4 0x35f46994
0000003f: EQ
00000040: PUSH2 0x014b
00000043: JUMPI
00000044: DUP1
00000045: PUSH4 0x4001a81f
0000004a: EQ
0000004b: PUSH2 0x015a
0000004e: JUMPI
0000004f: DUP1
00000050: PUSH4 0x5dea5e47
00000055: EQ
00000056: PUSH2 0x0184
00000059: JUMPI
0000005a: DUP1
0000005b: PUSH4 0x690b90a9
00000060: EQ
00000061: PUSH2 0x019c
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0x6adcef6b
0000006b: EQ
0000006c: PUSH2 0x01bf
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x6ccb5d02
00000076: EQ
00000077: PUSH2 0x01d7
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x75724990
00000081: EQ
00000082: PUSH2 0x0219
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x7f616488
0000008c: EQ
0000008d: PUSH2 0x023a
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0x9e1a00aa
00000097: EQ
00000098: PUSH2 0x025d
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0xd5002f2e
000000a2: EQ
000000a3: PUSH2 0x027e
000000a6: JUMPI
000000a7: DUP1
000000a8: PUSH4 0xdda1a1e6
000000ad: EQ
000000ae: PUSH2 0x02a1
000000b1: JUMPI
000000b2: DUP1
000000b3: PUSH4 0xf50ad617
000000b8: EQ
000000b9: PUSH2 0x02b9
000000bc: JUMPI
000000bd: PUSH2 0x00c1
000000c0: JUMP
000000c1: JUMPDEST
000000c2: PUSH2 0x0126
000000c5: JUMPDEST
000000c6: NUMBER
000000c7: PUSH32 0x5d6ac9b7defd8fbb29ef2ab0f08c3744192b3777466dd98d1fd7daed5064b6db
000000e8: CALLER
000000e9: CALLVALUE
000000ea: TIMESTAMP
000000eb: PUSH1 0x40
000000ed: MLOAD
000000ee: DUP1
000000ef: DUP5
000000f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000105: AND
00000106: DUP2
00000107: MSTORE
00000108: PUSH1 0x20
0000010a: ADD
0000010b: DUP4
0000010c: DUP2
0000010d: MSTORE
0000010e: PUSH1 0x20
00000110: ADD
00000111: DUP3
00000112: DUP2
00000113: MSTORE
00000114: PUSH1 0x20
00000116: ADD
00000117: SWAP4
00000118: POP
00000119: POP
0000011a: POP
0000011b: POP
0000011c: PUSH1 0x40
0000011e: MLOAD
0000011f: DUP1
00000120: SWAP2
00000121: SUB
00000122: SWAP1
00000123: LOG2
00000124: JUMPDEST
00000125: JUMP
00000126: JUMPDEST
00000127: STOP
00000128: JUMPDEST
00000129: PUSH2 0x0135
0000012c: PUSH1 0x04
0000012e: DUP1
0000012f: POP
00000130: POP
00000131: PUSH2 0x0676
00000134: JUMP
00000135: JUMPDEST
00000136: PUSH1 0x40
00000138: MLOAD
00000139: DUP1
0000013a: DUP3
0000013b: DUP2
0000013c: MSTORE
0000013d: PUSH1 0x20
0000013f: ADD
00000140: SWAP2
00000141: POP
00000142: POP
00000143: PUSH1 0x40
00000145: MLOAD
00000146: DUP1
00000147: SWAP2
00000148: SUB
00000149: SWAP1
0000014a: RETURN
0000014b: JUMPDEST
0000014c: PUSH2 0x0158
0000014f: PUSH1 0x04
00000151: DUP1
00000152: POP
00000153: POP
00000154: PUSH2 0x08be
00000157: JUMP
00000158: JUMPDEST
00000159: STOP
0000015a: JUMPDEST
0000015b: PUSH2 0x0182
0000015e: PUSH1 0x04
00000160: DUP1
00000161: DUP1
00000162: CALLDATALOAD
00000163: SWAP1
00000164: PUSH1 0x20
00000166: ADD
00000167: SWAP1
00000168: SWAP2
00000169: SWAP1
0000016a: DUP1
0000016b: CALLDATALOAD
0000016c: SWAP1
0000016d: PUSH1 0x20
0000016f: ADD
00000170: SWAP1
00000171: SWAP2
00000172: SWAP1
00000173: DUP1
00000174: CALLDATALOAD
00000175: SWAP1
00000176: PUSH1 0x20
00000178: ADD
00000179: SWAP1
0000017a: SWAP2
0000017b: SWAP1
0000017c: POP
0000017d: POP
0000017e: PUSH2 0x05af
00000181: JUMP
00000182: JUMPDEST
00000183: STOP
00000184: JUMPDEST
00000185: PUSH2 0x019a
00000188: PUSH1 0x04
0000018a: DUP1
0000018b: DUP1
0000018c: CALLDATALOAD
0000018d: SWAP1
0000018e: PUSH1 0x20
00000190: ADD
00000191: SWAP1
00000192: SWAP2
00000193: SWAP1
00000194: POP
00000195: POP
00000196: PUSH2 0x0572
00000199: JUMP
0000019a: JUMPDEST
0000019b: STOP
0000019c: JUMPDEST
0000019d: PUSH2 0x01a9
000001a0: PUSH1 0x04
000001a2: DUP1
000001a3: POP
000001a4: POP
000001a5: PUSH2 0x06cd
000001a8: JUMP
000001a9: JUMPDEST
000001aa: PUSH1 0x40
000001ac: MLOAD
000001ad: DUP1
000001ae: DUP3
000001af: DUP2
000001b0: MSTORE
000001b1: PUSH1 0x20
000001b3: ADD
000001b4: SWAP2
000001b5: POP
000001b6: POP
000001b7: PUSH1 0x40
000001b9: MLOAD
000001ba: DUP1
000001bb: SWAP2
000001bc: SUB
000001bd: SWAP1
000001be: RETURN
000001bf: JUMPDEST
000001c0: PUSH2 0x01d5
000001c3: PUSH1 0x04
000001c5: DUP1
000001c6: DUP1
000001c7: CALLDATALOAD
000001c8: SWAP1
000001c9: PUSH1 0x20
000001cb: ADD
000001cc: SWAP1
000001cd: SWAP2
000001ce: SWAP1
000001cf: POP
000001d0: POP
000001d1: PUSH2 0x077f
000001d4: JUMP
000001d5: JUMPDEST
000001d6: STOP
000001d7: JUMPDEST
000001d8: PUSH2 0x01ed
000001db: PUSH1 0x04
000001dd: DUP1
000001de: DUP1
000001df: CALLDATALOAD
000001e0: SWAP1
000001e1: PUSH1 0x20
000001e3: ADD
000001e4: SWAP1
000001e5: SWAP2
000001e6: SWAP1
000001e7: POP
000001e8: POP
000001e9: PUSH2 0x070d
000001ec: JUMP
000001ed: JUMPDEST
000001ee: PUSH1 0x40
000001f0: MLOAD
000001f1: DUP1
000001f2: DUP3
000001f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000208: AND
00000209: DUP2
0000020a: MSTORE
0000020b: PUSH1 0x20
0000020d: ADD
0000020e: SWAP2
0000020f: POP
00000210: POP
00000211: PUSH1 0x40
00000213: MLOAD
00000214: DUP1
00000215: SWAP2
00000216: SUB
00000217: SWAP1
00000218: RETURN
00000219: JUMPDEST
0000021a: PUSH2 0x0238
0000021d: PUSH1 0x04
0000021f: DUP1
00000220: DUP1
00000221: CALLDATALOAD
00000222: SWAP1
00000223: PUSH1 0x20
00000225: ADD
00000226: SWAP1
00000227: SWAP2
00000228: SWAP1
00000229: DUP1
0000022a: CALLDATALOAD
0000022b: SWAP1
0000022c: PUSH1 0x20
0000022e: ADD
0000022f: SWAP1
00000230: SWAP2
00000231: SWAP1
00000232: POP
00000233: POP
00000234: PUSH2 0x0391
00000237: JUMP
00000238: JUMPDEST
00000239: STOP
0000023a: JUMPDEST
0000023b: PUSH2 0x0247
0000023e: PUSH1 0x04
00000240: DUP1
00000241: POP
00000242: POP
00000243: PUSH2 0x0700
00000246: JUMP
00000247: JUMPDEST
00000248: PUSH1 0x40
0000024a: MLOAD
0000024b: DUP1
0000024c: DUP3
0000024d: DUP2
0000024e: MSTORE
0000024f: PUSH1 0x20
00000251: ADD
00000252: SWAP2
00000253: POP
00000254: POP
00000255: PUSH1 0x40
00000257: MLOAD
00000258: DUP1
00000259: SWAP2
0000025a: SUB
0000025b: SWAP1
0000025c: RETURN
0000025d: JUMPDEST
0000025e: PUSH2 0x027c
00000261: PUSH1 0x04
00000263: DUP1
00000264: DUP1
00000265: CALLDATALOAD
00000266: SWAP1
00000267: PUSH1 0x20
00000269: ADD
0000026a: SWAP1
0000026b: SWAP2
0000026c: SWAP1
0000026d: DUP1
0000026e: CALLDATALOAD
0000026f: SWAP1
00000270: PUSH1 0x20
00000272: ADD
00000273: SWAP1
00000274: SWAP2
00000275: SWAP1
00000276: POP
00000277: POP
00000278: PUSH2 0x02c8
0000027b: JUMP
0000027c: JUMPDEST
0000027d: STOP
0000027e: JUMPDEST
0000027f: PUSH2 0x028b
00000282: PUSH1 0x04
00000284: DUP1
00000285: POP
00000286: POP
00000287: PUSH2 0x069a
0000028a: JUMP
0000028b: JUMPDEST
0000028c: PUSH1 0x40
0000028e: MLOAD
0000028f: DUP1
00000290: DUP3
00000291: DUP2
00000292: MSTORE
00000293: PUSH1 0x20
00000295: ADD
00000296: SWAP2
00000297: POP
00000298: POP
00000299: PUSH1 0x40
0000029b: MLOAD
0000029c: DUP1
0000029d: SWAP2
0000029e: SUB
0000029f: SWAP1
000002a0: RETURN
000002a1: JUMPDEST
000002a2: PUSH2 0x02b7
000002a5: PUSH1 0x04
000002a7: DUP1
000002a8: DUP1
000002a9: CALLDATALOAD
000002aa: SWAP1
000002ab: PUSH1 0x20
000002ad: ADD
000002ae: SWAP1
000002af: SWAP2
000002b0: SWAP1
000002b1: POP
000002b2: POP
000002b3: PUSH2 0x0498
000002b6: JUMP
000002b7: JUMPDEST
000002b8: STOP
000002b9: JUMPDEST
000002ba: PUSH2 0x02c6
000002bd: PUSH1 0x04
000002bf: DUP1
000002c0: POP
000002c1: POP
000002c2: PUSH2 0x04f6
000002c5: JUMP
000002c6: JUMPDEST
000002c7: STOP
000002c8: JUMPDEST
000002c9: PUSH1 0x00
000002cb: NUMBER
000002cc: PUSH32 0x5ab8dc610f1c5d672561a1c397fb11717ad7b220565f7916904984963a1f43ef
000002ed: DUP5
000002ee: DUP5
000002ef: TIMESTAMP
000002f0: PUSH1 0x40
000002f2: MLOAD
000002f3: DUP1
000002f4: DUP5
000002f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000030a: AND
0000030b: DUP2
0000030c: MSTORE
0000030d: PUSH1 0x20
0000030f: ADD
00000310: DUP4
00000311: DUP2
00000312: MSTORE
00000313: PUSH1 0x20
00000315: ADD
00000316: DUP3
00000317: DUP2
00000318: MSTORE
00000319: PUSH1 0x20
0000031b: ADD
0000031c: SWAP4
0000031d: POP
0000031e: POP
0000031f: POP
00000320: POP
00000321: PUSH1 0x40
00000323: MLOAD
00000324: DUP1
00000325: SWAP2
00000326: SUB
00000327: SWAP1
00000328: LOG2
00000329: PUSH1 0x00
0000032b: PUSH1 0x00
0000032d: POP
0000032e: PUSH1 0x00
00000330: PUSH1 0x00
00000332: DUP2
00000333: MSTORE
00000334: PUSH1 0x20
00000336: ADD
00000337: SWAP1
00000338: DUP2
00000339: MSTORE
0000033a: PUSH1 0x20
0000033c: ADD
0000033d: PUSH1 0x00
0000033f: KECCAK256
00000340: PUSH1 0x00
00000342: POP
00000343: SWAP1
00000344: POP
00000345: DUP2
00000346: DUP2
00000347: PUSH1 0x02
00000349: ADD
0000034a: PUSH1 0x00
0000034c: DUP3
0000034d: DUP3
0000034e: DUP3
0000034f: POP
00000350: SLOAD
00000351: SUB
00000352: SWAP3
00000353: POP
00000354: POP
00000355: DUP2
00000356: SWAP1
00000357: SSTORE
00000358: POP
00000359: DUP3
0000035a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000036f: AND
00000370: PUSH1 0x00
00000372: DUP4
00000373: PUSH1 0x40
00000375: MLOAD
00000376: DUP1
00000377: SWAP1
00000378: POP
00000379: PUSH1 0x00
0000037b: PUSH1 0x40
0000037d: MLOAD
0000037e: DUP1
0000037f: DUP4
00000380: SUB
00000381: DUP2
00000382: DUP6
00000383: DUP9
00000384: DUP9
00000385: CALL
00000386: SWAP4
00000387: POP
00000388: POP
00000389: POP
0000038a: POP
0000038b: POP
0000038c: JUMPDEST
0000038d: POP
0000038e: POP
0000038f: POP
00000390: JUMP
00000391: JUMPDEST
00000392: PUSH1 0x00
00000394: PUSH1 0x00
00000396: PUSH1 0x00
00000398: POP
00000399: PUSH1 0x00
0000039b: PUSH1 0x00
0000039d: DUP2
0000039e: MSTORE
0000039f: PUSH1 0x20
000003a1: ADD
000003a2: SWAP1
000003a3: DUP2
000003a4: MSTORE
000003a5: PUSH1 0x20
000003a7: ADD
000003a8: PUSH1 0x00
000003aa: KECCAK256
000003ab: PUSH1 0x00
000003ad: POP
000003ae: SWAP1
000003af: POP
000003b0: DUP1
000003b1: PUSH1 0x05
000003b3: ADD
000003b4: PUSH1 0x00
000003b6: POP
000003b7: SLOAD
000003b8: DUP3
000003b9: GT
000003ba: ISZERO
000003bb: ISZERO
000003bc: PUSH2 0x048d
000003bf: JUMPI
000003c0: PUSH1 0x60
000003c2: PUSH1 0x40
000003c4: MLOAD
000003c5: SWAP1
000003c6: DUP2
000003c7: ADD
000003c8: PUSH1 0x40
000003ca: MSTORE
000003cb: DUP1
000003cc: DUP5
000003cd: DUP2
000003ce: MSTORE
000003cf: PUSH1 0x20
000003d1: ADD
000003d2: DUP4
000003d3: DUP2
000003d4: MSTORE
000003d5: PUSH1 0x20
000003d7: ADD
000003d8: PUSH1 0x01
000003da: DUP2
000003db: MSTORE
000003dc: PUSH1 0x20
000003de: ADD
000003df: POP
000003e0: DUP2
000003e1: PUSH1 0x00
000003e3: ADD
000003e4: PUSH1 0x00
000003e6: POP
000003e7: PUSH1 0x00
000003e9: DUP4
000003ea: PUSH1 0x04
000003ec: ADD
000003ed: PUSH1 0x00
000003ef: POP
000003f0: SLOAD
000003f1: DUP2
000003f2: MSTORE
000003f3: PUSH1 0x20
000003f5: ADD
000003f6: SWAP1
000003f7: DUP2
000003f8: MSTORE
000003f9: PUSH1 0x20
000003fb: ADD
000003fc: PUSH1 0x00
000003fe: KECCAK256
000003ff: PUSH1 0x00
00000401: POP
00000402: PUSH1 0x00
00000404: DUP3
00000405: ADD
00000406: MLOAD
00000407: DUP2
00000408: PUSH1 0x00
0000040a: ADD
0000040b: PUSH1 0x00
0000040d: PUSH2 0x0100
00000410: EXP
00000411: DUP2
00000412: SLOAD
00000413: DUP2
00000414: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000429: MUL
0000042a: NOT
0000042b: AND
0000042c: SWAP1
0000042d: DUP4
0000042e: MUL
0000042f: OR
00000430: SWAP1
00000431: SSTORE
00000432: POP
00000433: PUSH1 0x20
00000435: DUP3
00000436: ADD
00000437: MLOAD
00000438: DUP2
00000439: PUSH1 0x01
0000043b: ADD
0000043c: PUSH1 0x00
0000043e: POP
0000043f: SSTORE
00000440: PUSH1 0x40
00000442: DUP3
00000443: ADD
00000444: MLOAD
00000445: DUP2
00000446: PUSH1 0x02
00000448: ADD
00000449: PUSH1 0x00
0000044b: PUSH2 0x0100
0000044e: EXP
0000044f: DUP2
00000450: SLOAD
00000451: DUP2
00000452: PUSH1 0xff
00000454: MUL
00000455: NOT
00000456: AND
00000457: SWAP1
00000458: DUP4
00000459: MUL
0000045a: OR
0000045b: SWAP1
0000045c: SSTORE
0000045d: POP
0000045e: SWAP1
0000045f: POP
00000460: POP
00000461: DUP2
00000462: DUP2
00000463: PUSH1 0x05
00000465: ADD
00000466: PUSH1 0x00
00000468: DUP3
00000469: DUP3
0000046a: DUP3
0000046b: POP
0000046c: SLOAD
0000046d: SUB
0000046e: SWAP3
0000046f: POP
00000470: POP
00000471: DUP2
00000472: SWAP1
00000473: SSTORE
00000474: POP
00000475: DUP1
00000476: PUSH1 0x04
00000478: ADD
00000479: PUSH1 0x00
0000047b: DUP2
0000047c: DUP2
0000047d: POP
0000047e: SLOAD
0000047f: PUSH1 0x01
00000481: ADD
00000482: SWAP2
00000483: SWAP1
00000484: POP
00000485: DUP2
00000486: SWAP1
00000487: SSTORE
00000488: POP
00000489: PUSH2 0x0492
0000048c: JUMP
0000048d: JUMPDEST
0000048e: PUSH2 0x0002
00000491: JUMP
00000492: JUMPDEST
00000493: JUMPDEST
00000494: POP
00000495: POP
00000496: POP
00000497: JUMP
00000498: JUMPDEST
00000499: PUSH1 0x00
0000049b: PUSH1 0x00
0000049d: PUSH1 0x00
0000049f: PUSH1 0x00
000004a1: POP
000004a2: PUSH1 0x00
000004a4: PUSH1 0x00
000004a6: DUP2
000004a7: MSTORE
000004a8: PUSH1 0x20
000004aa: ADD
000004ab: SWAP1
000004ac: DUP2
000004ad: MSTORE
000004ae: PUSH1 0x20
000004b0: ADD
000004b1: PUSH1 0x00
000004b3: KECCAK256
000004b4: PUSH1 0x00
000004b6: POP
000004b7: SWAP2
000004b8: POP
000004b9: DUP2
000004ba: PUSH1 0x00
000004bc: ADD
000004bd: PUSH1 0x00
000004bf: POP
000004c0: PUSH1 0x00
000004c2: DUP5
000004c3: DUP2
000004c4: MSTORE
000004c5: PUSH1 0x20
000004c7: ADD
000004c8: SWAP1
000004c9: DUP2
000004ca: MSTORE
000004cb: PUSH1 0x20
000004cd: ADD
000004ce: PUSH1 0x00
000004d0: KECCAK256
000004d1: PUSH1 0x00
000004d3: POP
000004d4: SWAP1
000004d5: POP
000004d6: PUSH1 0x00
000004d8: DUP2
000004d9: PUSH1 0x02
000004db: ADD
000004dc: PUSH1 0x00
000004de: PUSH2 0x0100
000004e1: EXP
000004e2: DUP2
000004e3: SLOAD
000004e4: DUP2
000004e5: PUSH1 0xff
000004e7: MUL
000004e8: NOT
000004e9: AND
000004ea: SWAP1
000004eb: DUP4
000004ec: MUL
000004ed: OR
000004ee: SWAP1
000004ef: SSTORE
000004f0: POP
000004f1: JUMPDEST
000004f2: POP
000004f3: POP
000004f4: POP
000004f5: JUMP
000004f6: JUMPDEST
000004f7: PUSH1 0x40
000004f9: PUSH1 0x40
000004fb: MLOAD
000004fc: SWAP1
000004fd: DUP2
000004fe: ADD
000004ff: PUSH1 0x40
00000501: MSTORE
00000502: DUP1
00000503: PUSH1 0x00
00000505: DUP2
00000506: MSTORE
00000507: PUSH1 0x20
00000509: ADD
0000050a: PUSH1 0x01
0000050c: DUP2
0000050d: MSTORE
0000050e: PUSH1 0x20
00000510: ADD
00000511: POP
00000512: PUSH1 0x01
00000514: PUSH1 0x00
00000516: POP
00000517: PUSH1 0x00
00000519: PUSH1 0x02
0000051b: PUSH1 0x00
0000051d: POP
0000051e: SLOAD
0000051f: DUP2
00000520: MSTORE
00000521: PUSH1 0x20
00000523: ADD
00000524: SWAP1
00000525: DUP2
00000526: MSTORE
00000527: PUSH1 0x20
00000529: ADD
0000052a: PUSH1 0x00
0000052c: KECCAK256
0000052d: PUSH1 0x00
0000052f: POP
00000530: PUSH1 0x00
00000532: DUP3
00000533: ADD
00000534: MLOAD
00000535: DUP2
00000536: PUSH1 0x01
00000538: ADD
00000539: PUSH1 0x00
0000053b: POP
0000053c: SSTORE
0000053d: PUSH1 0x20
0000053f: DUP3
00000540: ADD
00000541: MLOAD
00000542: DUP2
00000543: PUSH1 0x02
00000545: ADD
00000546: PUSH1 0x00
00000548: PUSH2 0x0100
0000054b: EXP
0000054c: DUP2
0000054d: SLOAD
0000054e: DUP2
0000054f: PUSH1 0xff
00000551: MUL
00000552: NOT
00000553: AND
00000554: SWAP1
00000555: DUP4
00000556: MUL
00000557: OR
00000558: SWAP1
00000559: SSTORE
0000055a: POP
0000055b: SWAP1
0000055c: POP
0000055d: POP
0000055e: PUSH1 0x02
00000560: PUSH1 0x00
00000562: DUP2
00000563: DUP2
00000564: POP
00000565: SLOAD
00000566: PUSH1 0x01
00000568: ADD
00000569: SWAP2
0000056a: SWAP1
0000056b: POP
0000056c: DUP2
0000056d: SWAP1
0000056e: SSTORE
0000056f: POP
00000570: JUMPDEST
00000571: JUMP
00000572: JUMPDEST
00000573: PUSH1 0x00
00000575: PUSH1 0x01
00000577: PUSH1 0x00
00000579: POP
0000057a: PUSH1 0x00
0000057c: DUP4
0000057d: DUP2
0000057e: MSTORE
0000057f: PUSH1 0x20
00000581: ADD
00000582: SWAP1
00000583: DUP2
00000584: MSTORE
00000585: PUSH1 0x20
00000587: ADD
00000588: PUSH1 0x00
0000058a: KECCAK256
0000058b: PUSH1 0x00
0000058d: POP
0000058e: SWAP1
0000058f: POP
00000590: PUSH1 0x00
00000592: DUP2
00000593: PUSH1 0x02
00000595: ADD
00000596: PUSH1 0x00
00000598: PUSH2 0x0100
0000059b: EXP
0000059c: DUP2
0000059d: SLOAD
0000059e: DUP2
0000059f: PUSH1 0xff
000005a1: MUL
000005a2: NOT
000005a3: AND
000005a4: SWAP1
000005a5: DUP4
000005a6: MUL
000005a7: OR
000005a8: SWAP1
000005a9: SSTORE
000005aa: POP
000005ab: JUMPDEST
000005ac: POP
000005ad: POP
000005ae: JUMP
000005af: JUMPDEST
000005b0: PUSH1 0x00
000005b2: PUSH1 0x01
000005b4: PUSH1 0x00
000005b6: POP
000005b7: PUSH1 0x00
000005b9: DUP6
000005ba: DUP2
000005bb: MSTORE
000005bc: PUSH1 0x20
000005be: ADD
000005bf: SWAP1
000005c0: DUP2
000005c1: MSTORE
000005c2: PUSH1 0x20
000005c4: ADD
000005c5: PUSH1 0x00
000005c7: KECCAK256
000005c8: PUSH1 0x00
000005ca: POP
000005cb: SWAP1
000005cc: POP
000005cd: PUSH1 0x60
000005cf: PUSH1 0x40
000005d1: MLOAD
000005d2: SWAP1
000005d3: DUP2
000005d4: ADD
000005d5: PUSH1 0x40
000005d7: MSTORE
000005d8: DUP1
000005d9: DUP5
000005da: DUP2
000005db: MSTORE
000005dc: PUSH1 0x20
000005de: ADD
000005df: DUP4
000005e0: DUP2
000005e1: MSTORE
000005e2: PUSH1 0x20
000005e4: ADD
000005e5: TIMESTAMP
000005e6: DUP2
000005e7: MSTORE
000005e8: PUSH1 0x20
000005ea: ADD
000005eb: POP
000005ec: DUP2
000005ed: PUSH1 0x00
000005ef: ADD
000005f0: PUSH1 0x00
000005f2: POP
000005f3: PUSH1 0x00
000005f5: DUP4
000005f6: PUSH1 0x01
000005f8: ADD
000005f9: PUSH1 0x00
000005fb: POP
000005fc: SLOAD
000005fd: DUP2
000005fe: MSTORE
000005ff: PUSH1 0x20
00000601: ADD
00000602: SWAP1
00000603: DUP2
00000604: MSTORE
00000605: PUSH1 0x20
00000607: ADD
00000608: PUSH1 0x00
0000060a: KECCAK256
0000060b: PUSH1 0x00
0000060d: POP
0000060e: PUSH1 0x00
00000610: DUP3
00000611: ADD
00000612: MLOAD
00000613: DUP2
00000614: PUSH1 0x00
00000616: ADD
00000617: PUSH1 0x00
00000619: PUSH2 0x0100
0000061c: EXP
0000061d: DUP2
0000061e: SLOAD
0000061f: DUP2
00000620: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000635: MUL
00000636: NOT
00000637: AND
00000638: SWAP1
00000639: DUP4
0000063a: MUL
0000063b: OR
0000063c: SWAP1
0000063d: SSTORE
0000063e: POP
0000063f: PUSH1 0x20
00000641: DUP3
00000642: ADD
00000643: MLOAD
00000644: DUP2
00000645: PUSH1 0x01
00000647: ADD
00000648: PUSH1 0x00
0000064a: POP
0000064b: SSTORE
0000064c: PUSH1 0x40
0000064e: DUP3
0000064f: ADD
00000650: MLOAD
00000651: DUP2
00000652: PUSH1 0x02
00000654: ADD
00000655: PUSH1 0x00
00000657: POP
00000658: SSTORE
00000659: SWAP1
0000065a: POP
0000065b: POP
0000065c: DUP1
0000065d: PUSH1 0x01
0000065f: ADD
00000660: PUSH1 0x00
00000662: DUP2
00000663: DUP2
00000664: POP
00000665: SLOAD
00000666: PUSH1 0x01
00000668: ADD
00000669: SWAP2
0000066a: SWAP1
0000066b: POP
0000066c: DUP2
0000066d: SWAP1
0000066e: SSTORE
0000066f: POP
00000670: JUMPDEST
00000671: POP
00000672: POP
00000673: POP
00000674: POP
00000675: JUMP
00000676: JUMPDEST
00000677: PUSH1 0x00
00000679: ADDRESS
0000067a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000068f: AND
00000690: BALANCE
00000691: SWAP1
00000692: POP
00000693: PUSH2 0x0697
00000696: JUMP
00000697: JUMPDEST
00000698: SWAP1
00000699: JUMP
0000069a: JUMPDEST
0000069b: PUSH1 0x00
0000069d: PUSH1 0x00
0000069f: PUSH1 0x00
000006a1: PUSH1 0x00
000006a3: POP
000006a4: PUSH1 0x00
000006a6: PUSH1 0x00
000006a8: DUP2
000006a9: MSTORE
000006aa: PUSH1 0x20
000006ac: ADD
000006ad: SWAP1
000006ae: DUP2
000006af: MSTORE
000006b0: PUSH1 0x20
000006b2: ADD
000006b3: PUSH1 0x00
000006b5: KECCAK256
000006b6: PUSH1 0x00
000006b8: POP
000006b9: SWAP1
000006ba: POP
000006bb: DUP1
000006bc: PUSH1 0x05
000006be: ADD
000006bf: PUSH1 0x00
000006c1: POP
000006c2: SLOAD
000006c3: SWAP2
000006c4: POP
000006c5: PUSH2 0x06c9
000006c8: JUMP
000006c9: JUMPDEST
000006ca: POP
000006cb: SWAP1
000006cc: JUMP
000006cd: JUMPDEST
000006ce: PUSH1 0x00
000006d0: PUSH1 0x00
000006d2: PUSH1 0x00
000006d4: PUSH1 0x00
000006d6: POP
000006d7: PUSH1 0x00
000006d9: PUSH1 0x00
000006db: DUP2
000006dc: MSTORE
000006dd: PUSH1 0x20
000006df: ADD
000006e0: SWAP1
000006e1: DUP2
000006e2: MSTORE
000006e3: PUSH1 0x20
000006e5: ADD
000006e6: PUSH1 0x00
000006e8: KECCAK256
000006e9: PUSH1 0x00
000006eb: POP
000006ec: SWAP1
000006ed: POP
000006ee: DUP1
000006ef: PUSH1 0x04
000006f1: ADD
000006f2: PUSH1 0x00
000006f4: POP
000006f5: SLOAD
000006f6: SWAP2
000006f7: POP
000006f8: PUSH2 0x06fc
000006fb: JUMP
000006fc: JUMPDEST
000006fd: POP
000006fe: SWAP1
000006ff: JUMP
00000700: JUMPDEST
00000701: PUSH1 0x00
00000703: DUP1
00000704: SWAP1
00000705: POP
00000706: PUSH2 0x070a
00000709: JUMP
0000070a: JUMPDEST
0000070b: SWAP1
0000070c: JUMP
0000070d: JUMPDEST
0000070e: PUSH1 0x00
00000710: PUSH1 0x00
00000712: PUSH1 0x00
00000714: PUSH1 0x00
00000716: PUSH1 0x00
00000718: POP
00000719: PUSH1 0x00
0000071b: PUSH1 0x00
0000071d: DUP2
0000071e: MSTORE
0000071f: PUSH1 0x20
00000721: ADD
00000722: SWAP1
00000723: DUP2
00000724: MSTORE
00000725: PUSH1 0x20
00000727: ADD
00000728: PUSH1 0x00
0000072a: KECCAK256
0000072b: PUSH1 0x00
0000072d: POP
0000072e: SWAP2
0000072f: POP
00000730: DUP2
00000731: PUSH1 0x00
00000733: ADD
00000734: PUSH1 0x00
00000736: POP
00000737: PUSH1 0x00
00000739: DUP6
0000073a: DUP2
0000073b: MSTORE
0000073c: PUSH1 0x20
0000073e: ADD
0000073f: SWAP1
00000740: DUP2
00000741: MSTORE
00000742: PUSH1 0x20
00000744: ADD
00000745: PUSH1 0x00
00000747: KECCAK256
00000748: PUSH1 0x00
0000074a: POP
0000074b: SWAP1
0000074c: POP
0000074d: DUP1
0000074e: PUSH1 0x00
00000750: ADD
00000751: PUSH1 0x00
00000753: SWAP1
00000754: SLOAD
00000755: SWAP1
00000756: PUSH2 0x0100
00000759: EXP
0000075a: SWAP1
0000075b: DIV
0000075c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000771: AND
00000772: SWAP3
00000773: POP
00000774: PUSH2 0x0778
00000777: JUMP
00000778: JUMPDEST
00000779: POP
0000077a: POP
0000077b: SWAP2
0000077c: SWAP1
0000077d: POP
0000077e: JUMP
0000077f: JUMPDEST
00000780: PUSH1 0x00
00000782: PUSH1 0x00
00000784: PUSH1 0x00
00000786: PUSH1 0x00
00000788: PUSH1 0x00
0000078a: POP
0000078b: PUSH1 0x00
0000078d: PUSH1 0x00
0000078f: DUP2
00000790: MSTORE
00000791: PUSH1 0x20
00000793: ADD
00000794: SWAP1
00000795: DUP2
00000796: MSTORE
00000797: PUSH1 0x20
00000799: ADD
0000079a: PUSH1 0x00
0000079c: KECCAK256
0000079d: PUSH1 0x00
0000079f: POP
000007a0: SWAP3
000007a1: POP
000007a2: DUP3
000007a3: PUSH1 0x01
000007a5: ADD
000007a6: PUSH1 0x00
000007a8: SWAP1
000007a9: SLOAD
000007aa: SWAP1
000007ab: PUSH2 0x0100
000007ae: EXP
000007af: SWAP1
000007b0: DIV
000007b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007c6: AND
000007c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007dc: AND
000007dd: CALLER
000007de: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007f3: AND
000007f4: EQ
000007f5: ISZERO
000007f6: PUSH2 0x08b2
000007f9: JUMPI
000007fa: PUSH1 0x00
000007fc: SWAP2
000007fd: POP
000007fe: JUMPDEST
000007ff: DUP3
00000800: PUSH1 0x04
00000802: ADD
00000803: PUSH1 0x00
00000805: POP
00000806: SLOAD
00000807: DUP3
00000808: LT
00000809: ISZERO
0000080a: PUSH2 0x08ad
0000080d: JUMPI
0000080e: DUP3
0000080f: PUSH1 0x00
00000811: ADD
00000812: PUSH1 0x00
00000814: POP
00000815: PUSH1 0x00
00000817: DUP4
00000818: DUP2
00000819: MSTORE
0000081a: PUSH1 0x20
0000081c: ADD
0000081d: SWAP1
0000081e: DUP2
0000081f: MSTORE
00000820: PUSH1 0x20
00000822: ADD
00000823: PUSH1 0x00
00000825: KECCAK256
00000826: PUSH1 0x00
00000828: POP
00000829: SWAP1
0000082a: POP
0000082b: DUP1
0000082c: PUSH1 0x01
0000082e: ADD
0000082f: PUSH1 0x00
00000831: POP
00000832: SLOAD
00000833: DUP5
00000834: MUL
00000835: DUP4
00000836: PUSH1 0x02
00000838: ADD
00000839: PUSH1 0x00
0000083b: POP
0000083c: SLOAD
0000083d: LT
0000083e: ISZERO
0000083f: ISZERO
00000840: PUSH2 0x089a
00000843: JUMPI
00000844: PUSH1 0x01
00000846: DUP2
00000847: PUSH1 0x02
00000849: ADD
0000084a: PUSH1 0x00
0000084c: SWAP1
0000084d: SLOAD
0000084e: SWAP1
0000084f: PUSH2 0x0100
00000852: EXP
00000853: SWAP1
00000854: DIV
00000855: PUSH1 0xff
00000857: AND
00000858: EQ
00000859: ISZERO
0000085a: PUSH2 0x0895
0000085d: JUMPI
0000085e: PUSH2 0x0894
00000861: DUP2
00000862: PUSH1 0x00
00000864: ADD
00000865: PUSH1 0x00
00000867: SWAP1
00000868: SLOAD
00000869: SWAP1
0000086a: PUSH2 0x0100
0000086d: EXP
0000086e: SWAP1
0000086f: DIV
00000870: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000885: AND
00000886: DUP3
00000887: PUSH1 0x01
00000889: ADD
0000088a: PUSH1 0x00
0000088c: POP
0000088d: SLOAD
0000088e: DUP7
0000088f: MUL
00000890: PUSH2 0x02c8
00000893: JUMP
00000894: JUMPDEST
00000895: JUMPDEST
00000896: PUSH2 0x089f
00000899: JUMP
0000089a: JUMPDEST
0000089b: PUSH2 0x0002
0000089e: JUMP
0000089f: JUMPDEST
000008a0: JUMPDEST
000008a1: DUP2
000008a2: DUP1
000008a3: PUSH1 0x01
000008a5: ADD
000008a6: SWAP3
000008a7: POP
000008a8: POP
000008a9: PUSH2 0x07fe
000008ac: JUMP
000008ad: JUMPDEST
000008ae: PUSH2 0x08b7
000008b1: JUMP
000008b2: JUMPDEST
000008b3: PUSH2 0x0002
000008b6: JUMP
000008b7: JUMPDEST
000008b8: JUMPDEST
000008b9: POP
000008ba: POP
000008bb: POP
000008bc: POP
000008bd: JUMP
000008be: JUMPDEST
000008bf: PUSH1 0x00
000008c1: PUSH1 0x00
000008c3: PUSH1 0x00
000008c5: POP
000008c6: PUSH1 0x00
000008c8: PUSH1 0x00
000008ca: DUP2
000008cb: MSTORE
000008cc: PUSH1 0x20
000008ce: ADD
000008cf: SWAP1
000008d0: DUP2
000008d1: MSTORE
000008d2: PUSH1 0x20
000008d4: ADD
000008d5: PUSH1 0x00
000008d7: KECCAK256
000008d8: PUSH1 0x00
000008da: POP
000008db: SWAP1
000008dc: POP
000008dd: DUP1
000008de: PUSH1 0x01
000008e0: ADD
000008e1: PUSH1 0x00
000008e3: SWAP1
000008e4: SLOAD
000008e5: SWAP1
000008e6: PUSH2 0x0100
000008e9: EXP
000008ea: SWAP1
000008eb: DIV
000008ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000901: AND
00000902: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000917: AND
00000918: SELFDESTRUCT
00000919: JUMPDEST
0000091a: POP
0000091b: JUMP
View stderr
Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment.

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x63c74824e522a9f0a18dabf6a3c5c623f8d96c94022b30b1fe9ec3e73603e7f3
call_targets: 0x5f707a1da5094139d4fa65e907d76a918acd3c77
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x63c74824e522a9f0a18dabf6a3c5c623f8d96c94022b30b1fe9ec3e73603e7f3",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x5f707a1da5094139d4fa65e907d76a918acd3c77"
    ],
    "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": "0x12065fe0",
            "selector": "0x12065fe0",
            "calldata_variants": [
                "0x12065fe0",
                "0x12065fe00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x35f46994",
            "selector": "0x35f46994",
            "calldata_variants": [
                "0x35f46994",
                "0x35f469940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4001a81f",
            "selector": "0x4001a81f",
            "calldata_variants": [
                "0x4001a81f",
                "0x4001a81f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5dea5e47",
            "selector": "0x5dea5e47",
            "calldata_variants": [
                "0x5dea5e47",
                "0x5dea5e470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x690b90a9",
            "selector": "0x690b90a9",
            "calldata_variants": [
                "0x690b90a9",
                "0x690b90a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6adcef6b",
            "selector": "0x6adcef6b",
            "calldata_variants": [
                "0x6adcef6b",
                "0x6adcef6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6ccb5d02",
            "selector": "0x6ccb5d02",
            "calldata_variants": [
                "0x6ccb5d02",
                "0x6ccb5d020000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x75724990",
            "selector": "0x75724990",
            "calldata_variants": [
                "0x75724990",
                "0x757249900000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 901,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [
        {
            "pc": 2013,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 1
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x63c74824e522a9f0a18dabf6a3c5c623f8d96c94022b30b1fe9ec3e73603e7f3
call_targets: 0x5f707a1da5094139d4fa65e907d76a918acd3c77
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x63c74824e522a9f0a18dabf6a3c5c623f8d96c94022b30b1fe9ec3e73603e7f3",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x5f707a1da5094139d4fa65e907d76a918acd3c77"
    ],
    "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": "0x12065fe0",
            "selector": "0x12065fe0",
            "calldata_variants": [
                "0x12065fe0",
                "0x12065fe00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x35f46994",
            "selector": "0x35f46994",
            "calldata_variants": [
                "0x35f46994",
                "0x35f469940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4001a81f",
            "selector": "0x4001a81f",
            "calldata_variants": [
                "0x4001a81f",
                "0x4001a81f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5dea5e47",
            "selector": "0x5dea5e47",
            "calldata_variants": [
                "0x5dea5e47",
                "0x5dea5e470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x690b90a9",
            "selector": "0x690b90a9",
            "calldata_variants": [
                "0x690b90a9",
                "0x690b90a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6adcef6b",
            "selector": "0x6adcef6b",
            "calldata_variants": [
                "0x6adcef6b",
                "0x6adcef6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6ccb5d02",
            "selector": "0x6ccb5d02",
            "calldata_variants": [
                "0x6ccb5d02",
                "0x6ccb5d020000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x75724990",
            "selector": "0x75724990",
            "calldata_variants": [
                "0x75724990",
                "0x757249900000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 901,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": [
        {
            "pc": 2013,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
medium other detector SELFDESTRUCT reachable 45 yes yes
view
trace_id: 0xae4492b035d2eae5333075624ea314cbda9cd8bc6dfb3fe344cdd9e370e3ccc2
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "confirmed",
    "attempts": 3,
    "trace_id": "0xae4492b035d2eae5333075624ea314cbda9cd8bc6dfb3fe344cdd9e370e3ccc2",
    "confirmed": true,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "sink_reached"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x12065fe0",
            "selector": "0x12065fe0",
            "calldata_variants": [
                "0x12065fe0",
                "0x12065fe00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x35f46994",
            "selector": "0x35f46994",
            "calldata_variants": [
                "0x35f46994",
                "0x35f469940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4001a81f",
            "selector": "0x4001a81f",
            "calldata_variants": [
                "0x4001a81f",
                "0x4001a81f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5dea5e47",
            "selector": "0x5dea5e47",
            "calldata_variants": [
                "0x5dea5e47",
                "0x5dea5e470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x690b90a9",
            "selector": "0x690b90a9",
            "calldata_variants": [
                "0x690b90a9",
                "0x690b90a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6adcef6b",
            "selector": "0x6adcef6b",
            "calldata_variants": [
                "0x6adcef6b",
                "0x6adcef6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6ccb5d02",
            "selector": "0x6ccb5d02",
            "calldata_variants": [
                "0x6ccb5d02",
                "0x6ccb5d020000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x75724990",
            "selector": "0x75724990",
            "calldata_variants": [
                "0x75724990",
                "0x757249900000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 2013,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "selfdestruct_count": 1
}