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

Analysis Run

019b3836-2eeb-7110-bc0f-1040ff8b2af7

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
2353 artifact.fetch complete 1 / 3 3 months ago
2354 tool.cast_disasm complete 1 / 3 3 months ago
97106 analysis.bundle complete 1 / 3 1 week ago
97107 capability.graph complete 1 / 3 1 week ago
97108 detector.run complete 1 / 3 1 week ago
97109 validation.fork complete 1 / 3 1 week ago
113821 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-umdo_t7f
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5c9f-b057-7a23-b44b-58af02e48677
--------
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:04.087452+00:00",
        "returncode": 1
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 5086,
        "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
1605
Flags
selfdestruct_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x00cc
0000000a: JUMPI
0000000b: PUSH1 0x00
0000000d: CALLDATALOAD
0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002c: SWAP1
0000002d: DIV
0000002e: DUP1
0000002f: PUSH4 0x12065fe0
00000034: EQ
00000035: PUSH2 0x0133
00000038: JUMPI
00000039: DUP1
0000003a: PUSH4 0x35f46994
0000003f: EQ
00000040: PUSH2 0x0156
00000043: JUMPI
00000044: DUP1
00000045: PUSH4 0x4001a81f
0000004a: EQ
0000004b: PUSH2 0x0165
0000004e: JUMPI
0000004f: DUP1
00000050: PUSH4 0x41dbbb61
00000055: EQ
00000056: PUSH2 0x018f
00000059: JUMPI
0000005a: DUP1
0000005b: PUSH4 0x5dea5e47
00000060: EQ
00000061: PUSH2 0x019e
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0x690b90a9
0000006b: EQ
0000006c: PUSH2 0x01b6
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x6adcef6b
00000076: EQ
00000077: PUSH2 0x01d9
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x6ccb5d02
00000081: EQ
00000082: PUSH2 0x01f1
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x75724990
0000008c: EQ
0000008d: PUSH2 0x0233
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0x7f616488
00000097: EQ
00000098: PUSH2 0x0254
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0x9e1a00aa
000000a2: EQ
000000a3: PUSH2 0x0277
000000a6: JUMPI
000000a7: DUP1
000000a8: PUSH4 0xd5002f2e
000000ad: EQ
000000ae: PUSH2 0x0298
000000b1: JUMPI
000000b2: DUP1
000000b3: PUSH4 0xdda1a1e6
000000b8: EQ
000000b9: PUSH2 0x02bb
000000bc: JUMPI
000000bd: DUP1
000000be: PUSH4 0xf50ad617
000000c3: EQ
000000c4: PUSH2 0x02d3
000000c7: JUMPI
000000c8: PUSH2 0x00cc
000000cb: JUMP
000000cc: JUMPDEST
000000cd: PUSH2 0x0131
000000d0: JUMPDEST
000000d1: NUMBER
000000d2: PUSH32 0x5d6ac9b7defd8fbb29ef2ab0f08c3744192b3777466dd98d1fd7daed5064b6db
000000f3: CALLER
000000f4: CALLVALUE
000000f5: TIMESTAMP
000000f6: PUSH1 0x40
000000f8: MLOAD
000000f9: DUP1
000000fa: DUP5
000000fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000110: AND
00000111: DUP2
00000112: MSTORE
00000113: PUSH1 0x20
00000115: ADD
00000116: DUP4
00000117: DUP2
00000118: MSTORE
00000119: PUSH1 0x20
0000011b: ADD
0000011c: DUP3
0000011d: DUP2
0000011e: MSTORE
0000011f: PUSH1 0x20
00000121: ADD
00000122: SWAP4
00000123: POP
00000124: POP
00000125: POP
00000126: POP
00000127: PUSH1 0x40
00000129: MLOAD
0000012a: DUP1
0000012b: SWAP2
0000012c: SUB
0000012d: SWAP1
0000012e: LOG2
0000012f: JUMPDEST
00000130: JUMP
00000131: JUMPDEST
00000132: STOP
00000133: JUMPDEST
00000134: PUSH2 0x0140
00000137: PUSH1 0x04
00000139: DUP1
0000013a: POP
0000013b: POP
0000013c: PUSH2 0x080b
0000013f: JUMP
00000140: JUMPDEST
00000141: PUSH1 0x40
00000143: MLOAD
00000144: DUP1
00000145: DUP3
00000146: DUP2
00000147: MSTORE
00000148: PUSH1 0x20
0000014a: ADD
0000014b: SWAP2
0000014c: POP
0000014d: POP
0000014e: PUSH1 0x40
00000150: MLOAD
00000151: DUP1
00000152: SWAP2
00000153: SUB
00000154: SWAP1
00000155: RETURN
00000156: JUMPDEST
00000157: PUSH2 0x0163
0000015a: PUSH1 0x04
0000015c: DUP1
0000015d: POP
0000015e: POP
0000015f: PUSH2 0x0601
00000162: JUMP
00000163: JUMPDEST
00000164: STOP
00000165: JUMPDEST
00000166: PUSH2 0x018d
00000169: PUSH1 0x04
0000016b: DUP1
0000016c: DUP1
0000016d: CALLDATALOAD
0000016e: SWAP1
0000016f: PUSH1 0x20
00000171: ADD
00000172: SWAP1
00000173: SWAP2
00000174: SWAP1
00000175: DUP1
00000176: CALLDATALOAD
00000177: SWAP1
00000178: PUSH1 0x20
0000017a: ADD
0000017b: SWAP1
0000017c: SWAP2
0000017d: SWAP1
0000017e: DUP1
0000017f: CALLDATALOAD
00000180: SWAP1
00000181: PUSH1 0x20
00000183: ADD
00000184: SWAP1
00000185: SWAP2
00000186: SWAP1
00000187: POP
00000188: POP
00000189: PUSH2 0x0744
0000018c: JUMP
0000018d: JUMPDEST
0000018e: STOP
0000018f: JUMPDEST
00000190: PUSH2 0x019c
00000193: PUSH1 0x04
00000195: DUP1
00000196: POP
00000197: POP
00000198: PUSH2 0x0936
0000019b: JUMP
0000019c: JUMPDEST
0000019d: STOP
0000019e: JUMPDEST
0000019f: PUSH2 0x01b4
000001a2: PUSH1 0x04
000001a4: DUP1
000001a5: DUP1
000001a6: CALLDATALOAD
000001a7: SWAP1
000001a8: PUSH1 0x20
000001aa: ADD
000001ab: SWAP1
000001ac: SWAP2
000001ad: SWAP1
000001ae: POP
000001af: POP
000001b0: PUSH2 0x0485
000001b3: JUMP
000001b4: JUMPDEST
000001b5: STOP
000001b6: JUMPDEST
000001b7: PUSH2 0x01c3
000001ba: PUSH1 0x04
000001bc: DUP1
000001bd: POP
000001be: POP
000001bf: PUSH2 0x0692
000001c2: JUMP
000001c3: JUMPDEST
000001c4: PUSH1 0x40
000001c6: MLOAD
000001c7: DUP1
000001c8: DUP3
000001c9: DUP2
000001ca: MSTORE
000001cb: PUSH1 0x20
000001cd: ADD
000001ce: SWAP2
000001cf: POP
000001d0: POP
000001d1: PUSH1 0x40
000001d3: MLOAD
000001d4: DUP1
000001d5: SWAP2
000001d6: SUB
000001d7: SWAP1
000001d8: RETURN
000001d9: JUMPDEST
000001da: PUSH2 0x01ef
000001dd: PUSH1 0x04
000001df: DUP1
000001e0: DUP1
000001e1: CALLDATALOAD
000001e2: SWAP1
000001e3: PUSH1 0x20
000001e5: ADD
000001e6: SWAP1
000001e7: SWAP2
000001e8: SWAP1
000001e9: POP
000001ea: POP
000001eb: PUSH2 0x04c2
000001ee: JUMP
000001ef: JUMPDEST
000001f0: STOP
000001f1: JUMPDEST
000001f2: PUSH2 0x0207
000001f5: PUSH1 0x04
000001f7: DUP1
000001f8: DUP1
000001f9: CALLDATALOAD
000001fa: SWAP1
000001fb: PUSH1 0x20
000001fd: ADD
000001fe: SWAP1
000001ff: SWAP2
00000200: SWAP1
00000201: POP
00000202: POP
00000203: PUSH2 0x06d2
00000206: JUMP
00000207: JUMPDEST
00000208: PUSH1 0x40
0000020a: MLOAD
0000020b: DUP1
0000020c: DUP3
0000020d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000222: AND
00000223: DUP2
00000224: MSTORE
00000225: PUSH1 0x20
00000227: ADD
00000228: SWAP2
00000229: POP
0000022a: POP
0000022b: PUSH1 0x40
0000022d: MLOAD
0000022e: DUP1
0000022f: SWAP2
00000230: SUB
00000231: SWAP1
00000232: RETURN
00000233: JUMPDEST
00000234: PUSH2 0x0252
00000237: PUSH1 0x04
00000239: DUP1
0000023a: DUP1
0000023b: CALLDATALOAD
0000023c: SWAP1
0000023d: PUSH1 0x20
0000023f: ADD
00000240: SWAP1
00000241: SWAP2
00000242: SWAP1
00000243: DUP1
00000244: CALLDATALOAD
00000245: SWAP1
00000246: PUSH1 0x20
00000248: ADD
00000249: SWAP1
0000024a: SWAP2
0000024b: SWAP1
0000024c: POP
0000024d: POP
0000024e: PUSH2 0x082f
00000251: JUMP
00000252: JUMPDEST
00000253: STOP
00000254: JUMPDEST
00000255: PUSH2 0x0261
00000258: PUSH1 0x04
0000025a: DUP1
0000025b: POP
0000025c: POP
0000025d: PUSH2 0x06c5
00000260: JUMP
00000261: JUMPDEST
00000262: PUSH1 0x40
00000264: MLOAD
00000265: DUP1
00000266: DUP3
00000267: DUP2
00000268: MSTORE
00000269: PUSH1 0x20
0000026b: ADD
0000026c: SWAP2
0000026d: POP
0000026e: POP
0000026f: PUSH1 0x40
00000271: MLOAD
00000272: DUP1
00000273: SWAP2
00000274: SUB
00000275: SWAP1
00000276: RETURN
00000277: JUMPDEST
00000278: PUSH2 0x0296
0000027b: PUSH1 0x04
0000027d: DUP1
0000027e: DUP1
0000027f: CALLDATALOAD
00000280: SWAP1
00000281: PUSH1 0x20
00000283: ADD
00000284: SWAP1
00000285: SWAP2
00000286: SWAP1
00000287: DUP1
00000288: CALLDATALOAD
00000289: SWAP1
0000028a: PUSH1 0x20
0000028c: ADD
0000028d: SWAP1
0000028e: SWAP2
0000028f: SWAP1
00000290: POP
00000291: POP
00000292: PUSH2 0x0340
00000295: JUMP
00000296: JUMPDEST
00000297: STOP
00000298: JUMPDEST
00000299: PUSH2 0x02a5
0000029c: PUSH1 0x04
0000029e: DUP1
0000029f: POP
000002a0: POP
000002a1: PUSH2 0x065f
000002a4: JUMP
000002a5: JUMPDEST
000002a6: PUSH1 0x40
000002a8: MLOAD
000002a9: DUP1
000002aa: DUP3
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: PUSH2 0x02d1
000002bf: PUSH1 0x04
000002c1: DUP1
000002c2: DUP1
000002c3: CALLDATALOAD
000002c4: SWAP1
000002c5: PUSH1 0x20
000002c7: ADD
000002c8: SWAP1
000002c9: SWAP2
000002ca: SWAP1
000002cb: POP
000002cc: POP
000002cd: PUSH2 0x02e2
000002d0: JUMP
000002d1: JUMPDEST
000002d2: STOP
000002d3: JUMPDEST
000002d4: PUSH2 0x02e0
000002d7: PUSH1 0x04
000002d9: DUP1
000002da: POP
000002db: POP
000002dc: PUSH2 0x0409
000002df: JUMP
000002e0: JUMPDEST
000002e1: STOP
000002e2: JUMPDEST
000002e3: PUSH1 0x00
000002e5: PUSH1 0x00
000002e7: PUSH1 0x00
000002e9: PUSH1 0x00
000002eb: POP
000002ec: PUSH1 0x00
000002ee: PUSH1 0x00
000002f0: DUP2
000002f1: MSTORE
000002f2: PUSH1 0x20
000002f4: ADD
000002f5: SWAP1
000002f6: DUP2
000002f7: MSTORE
000002f8: PUSH1 0x20
000002fa: ADD
000002fb: PUSH1 0x00
000002fd: KECCAK256
000002fe: PUSH1 0x00
00000300: POP
00000301: SWAP2
00000302: POP
00000303: DUP2
00000304: PUSH1 0x00
00000306: ADD
00000307: PUSH1 0x00
00000309: POP
0000030a: PUSH1 0x00
0000030c: DUP5
0000030d: DUP2
0000030e: MSTORE
0000030f: PUSH1 0x20
00000311: ADD
00000312: SWAP1
00000313: DUP2
00000314: MSTORE
00000315: PUSH1 0x20
00000317: ADD
00000318: PUSH1 0x00
0000031a: KECCAK256
0000031b: PUSH1 0x00
0000031d: POP
0000031e: SWAP1
0000031f: POP
00000320: PUSH1 0x00
00000322: DUP2
00000323: PUSH1 0x02
00000325: ADD
00000326: PUSH1 0x00
00000328: PUSH2 0x0100
0000032b: EXP
0000032c: DUP2
0000032d: SLOAD
0000032e: DUP2
0000032f: PUSH1 0xff
00000331: MUL
00000332: NOT
00000333: AND
00000334: SWAP1
00000335: DUP4
00000336: MUL
00000337: OR
00000338: SWAP1
00000339: SSTORE
0000033a: POP
0000033b: JUMPDEST
0000033c: POP
0000033d: POP
0000033e: POP
0000033f: JUMP
00000340: JUMPDEST
00000341: PUSH1 0x00
00000343: NUMBER
00000344: PUSH32 0x5ab8dc610f1c5d672561a1c397fb11717ad7b220565f7916904984963a1f43ef
00000365: DUP5
00000366: DUP5
00000367: TIMESTAMP
00000368: PUSH1 0x40
0000036a: MLOAD
0000036b: DUP1
0000036c: DUP5
0000036d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000382: AND
00000383: DUP2
00000384: MSTORE
00000385: PUSH1 0x20
00000387: ADD
00000388: DUP4
00000389: DUP2
0000038a: MSTORE
0000038b: PUSH1 0x20
0000038d: ADD
0000038e: DUP3
0000038f: DUP2
00000390: MSTORE
00000391: PUSH1 0x20
00000393: ADD
00000394: SWAP4
00000395: POP
00000396: POP
00000397: POP
00000398: POP
00000399: PUSH1 0x40
0000039b: MLOAD
0000039c: DUP1
0000039d: SWAP2
0000039e: SUB
0000039f: SWAP1
000003a0: LOG2
000003a1: PUSH1 0x00
000003a3: PUSH1 0x00
000003a5: POP
000003a6: PUSH1 0x00
000003a8: PUSH1 0x00
000003aa: DUP2
000003ab: MSTORE
000003ac: PUSH1 0x20
000003ae: ADD
000003af: SWAP1
000003b0: DUP2
000003b1: MSTORE
000003b2: PUSH1 0x20
000003b4: ADD
000003b5: PUSH1 0x00
000003b7: KECCAK256
000003b8: PUSH1 0x00
000003ba: POP
000003bb: SWAP1
000003bc: POP
000003bd: DUP2
000003be: DUP2
000003bf: PUSH1 0x02
000003c1: ADD
000003c2: PUSH1 0x00
000003c4: DUP3
000003c5: DUP3
000003c6: DUP3
000003c7: POP
000003c8: SLOAD
000003c9: SUB
000003ca: SWAP3
000003cb: POP
000003cc: POP
000003cd: DUP2
000003ce: SWAP1
000003cf: SSTORE
000003d0: POP
000003d1: DUP3
000003d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003e7: AND
000003e8: PUSH1 0x00
000003ea: DUP4
000003eb: PUSH1 0x40
000003ed: MLOAD
000003ee: DUP1
000003ef: SWAP1
000003f0: POP
000003f1: PUSH1 0x00
000003f3: PUSH1 0x40
000003f5: MLOAD
000003f6: DUP1
000003f7: DUP4
000003f8: SUB
000003f9: DUP2
000003fa: DUP6
000003fb: DUP9
000003fc: DUP9
000003fd: CALL
000003fe: SWAP4
000003ff: POP
00000400: POP
00000401: POP
00000402: POP
00000403: POP
00000404: JUMPDEST
00000405: POP
00000406: POP
00000407: POP
00000408: JUMP
00000409: JUMPDEST
0000040a: PUSH1 0x40
0000040c: PUSH1 0x40
0000040e: MLOAD
0000040f: SWAP1
00000410: DUP2
00000411: ADD
00000412: PUSH1 0x40
00000414: MSTORE
00000415: DUP1
00000416: PUSH1 0x00
00000418: DUP2
00000419: MSTORE
0000041a: PUSH1 0x20
0000041c: ADD
0000041d: PUSH1 0x01
0000041f: DUP2
00000420: MSTORE
00000421: PUSH1 0x20
00000423: ADD
00000424: POP
00000425: PUSH1 0x01
00000427: PUSH1 0x00
00000429: POP
0000042a: PUSH1 0x00
0000042c: PUSH1 0x02
0000042e: PUSH1 0x00
00000430: POP
00000431: SLOAD
00000432: DUP2
00000433: MSTORE
00000434: PUSH1 0x20
00000436: ADD
00000437: SWAP1
00000438: DUP2
00000439: MSTORE
0000043a: PUSH1 0x20
0000043c: ADD
0000043d: PUSH1 0x00
0000043f: KECCAK256
00000440: PUSH1 0x00
00000442: POP
00000443: PUSH1 0x00
00000445: DUP3
00000446: ADD
00000447: MLOAD
00000448: DUP2
00000449: PUSH1 0x01
0000044b: ADD
0000044c: PUSH1 0x00
0000044e: POP
0000044f: SSTORE
00000450: PUSH1 0x20
00000452: DUP3
00000453: ADD
00000454: MLOAD
00000455: DUP2
00000456: PUSH1 0x02
00000458: ADD
00000459: PUSH1 0x00
0000045b: PUSH2 0x0100
0000045e: EXP
0000045f: DUP2
00000460: SLOAD
00000461: DUP2
00000462: PUSH1 0xff
00000464: MUL
00000465: NOT
00000466: AND
00000467: SWAP1
00000468: DUP4
00000469: MUL
0000046a: OR
0000046b: SWAP1
0000046c: SSTORE
0000046d: POP
0000046e: SWAP1
0000046f: POP
00000470: POP
00000471: PUSH1 0x02
00000473: PUSH1 0x00
00000475: DUP2
00000476: DUP2
00000477: POP
00000478: SLOAD
00000479: PUSH1 0x01
0000047b: ADD
0000047c: SWAP2
0000047d: SWAP1
0000047e: POP
0000047f: DUP2
00000480: SWAP1
00000481: SSTORE
00000482: POP
00000483: JUMPDEST
00000484: JUMP
00000485: JUMPDEST
00000486: PUSH1 0x00
00000488: PUSH1 0x01
0000048a: PUSH1 0x00
0000048c: POP
0000048d: PUSH1 0x00
0000048f: DUP4
00000490: DUP2
00000491: MSTORE
00000492: PUSH1 0x20
00000494: ADD
00000495: SWAP1
00000496: DUP2
00000497: MSTORE
00000498: PUSH1 0x20
0000049a: ADD
0000049b: PUSH1 0x00
0000049d: KECCAK256
0000049e: PUSH1 0x00
000004a0: POP
000004a1: SWAP1
000004a2: POP
000004a3: PUSH1 0x00
000004a5: DUP2
000004a6: PUSH1 0x02
000004a8: ADD
000004a9: PUSH1 0x00
000004ab: PUSH2 0x0100
000004ae: EXP
000004af: DUP2
000004b0: SLOAD
000004b1: DUP2
000004b2: PUSH1 0xff
000004b4: MUL
000004b5: NOT
000004b6: AND
000004b7: SWAP1
000004b8: DUP4
000004b9: MUL
000004ba: OR
000004bb: SWAP1
000004bc: SSTORE
000004bd: POP
000004be: JUMPDEST
000004bf: POP
000004c0: POP
000004c1: JUMP
000004c2: JUMPDEST
000004c3: PUSH1 0x00
000004c5: PUSH1 0x00
000004c7: PUSH1 0x00
000004c9: PUSH1 0x00
000004cb: PUSH1 0x00
000004cd: POP
000004ce: PUSH1 0x00
000004d0: PUSH1 0x00
000004d2: DUP2
000004d3: MSTORE
000004d4: PUSH1 0x20
000004d6: ADD
000004d7: SWAP1
000004d8: DUP2
000004d9: MSTORE
000004da: PUSH1 0x20
000004dc: ADD
000004dd: PUSH1 0x00
000004df: KECCAK256
000004e0: PUSH1 0x00
000004e2: POP
000004e3: SWAP3
000004e4: POP
000004e5: DUP3
000004e6: PUSH1 0x01
000004e8: ADD
000004e9: PUSH1 0x00
000004eb: SWAP1
000004ec: SLOAD
000004ed: SWAP1
000004ee: PUSH2 0x0100
000004f1: EXP
000004f2: SWAP1
000004f3: DIV
000004f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000509: AND
0000050a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000051f: AND
00000520: CALLER
00000521: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000536: AND
00000537: EQ
00000538: ISZERO
00000539: PUSH2 0x05f5
0000053c: JUMPI
0000053d: PUSH1 0x00
0000053f: SWAP2
00000540: POP
00000541: JUMPDEST
00000542: DUP3
00000543: PUSH1 0x04
00000545: ADD
00000546: PUSH1 0x00
00000548: POP
00000549: SLOAD
0000054a: DUP3
0000054b: LT
0000054c: ISZERO
0000054d: PUSH2 0x05f0
00000550: JUMPI
00000551: DUP3
00000552: PUSH1 0x00
00000554: ADD
00000555: PUSH1 0x00
00000557: POP
00000558: PUSH1 0x00
0000055a: DUP4
0000055b: DUP2
0000055c: MSTORE
0000055d: PUSH1 0x20
0000055f: ADD
00000560: SWAP1
00000561: DUP2
00000562: MSTORE
00000563: PUSH1 0x20
00000565: ADD
00000566: PUSH1 0x00
00000568: KECCAK256
00000569: PUSH1 0x00
0000056b: POP
0000056c: SWAP1
0000056d: POP
0000056e: DUP1
0000056f: PUSH1 0x01
00000571: ADD
00000572: PUSH1 0x00
00000574: POP
00000575: SLOAD
00000576: DUP5
00000577: MUL
00000578: DUP4
00000579: PUSH1 0x02
0000057b: ADD
0000057c: PUSH1 0x00
0000057e: POP
0000057f: SLOAD
00000580: LT
00000581: ISZERO
00000582: ISZERO
00000583: PUSH2 0x05dd
00000586: JUMPI
00000587: PUSH1 0x01
00000589: DUP2
0000058a: PUSH1 0x02
0000058c: ADD
0000058d: PUSH1 0x00
0000058f: SWAP1
00000590: SLOAD
00000591: SWAP1
00000592: PUSH2 0x0100
00000595: EXP
00000596: SWAP1
00000597: DIV
00000598: PUSH1 0xff
0000059a: AND
0000059b: EQ
0000059c: ISZERO
0000059d: PUSH2 0x05d8
000005a0: JUMPI
000005a1: PUSH2 0x05d7
000005a4: DUP2
000005a5: PUSH1 0x00
000005a7: ADD
000005a8: PUSH1 0x00
000005aa: SWAP1
000005ab: SLOAD
000005ac: SWAP1
000005ad: PUSH2 0x0100
000005b0: EXP
000005b1: SWAP1
000005b2: DIV
000005b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005c8: AND
000005c9: DUP3
000005ca: PUSH1 0x01
000005cc: ADD
000005cd: PUSH1 0x00
000005cf: POP
000005d0: SLOAD
000005d1: DUP7
000005d2: MUL
000005d3: PUSH2 0x0340
000005d6: JUMP
000005d7: JUMPDEST
000005d8: JUMPDEST
000005d9: PUSH2 0x05e2
000005dc: JUMP
000005dd: JUMPDEST
000005de: PUSH2 0x0002
000005e1: JUMP
000005e2: JUMPDEST
000005e3: JUMPDEST
000005e4: DUP2
000005e5: DUP1
000005e6: PUSH1 0x01
000005e8: ADD
000005e9: SWAP3
000005ea: POP
000005eb: POP
000005ec: PUSH2 0x0541
000005ef: JUMP
000005f0: JUMPDEST
000005f1: PUSH2 0x05fa
000005f4: JUMP
000005f5: JUMPDEST
000005f6: PUSH2 0x0002
000005f9: JUMP
000005fa: JUMPDEST
000005fb: JUMPDEST
000005fc: POP
000005fd: POP
000005fe: POP
000005ff: POP
00000600: JUMP
00000601: JUMPDEST
00000602: PUSH1 0x00
00000604: PUSH1 0x00
00000606: PUSH1 0x00
00000608: POP
00000609: PUSH1 0x00
0000060b: PUSH1 0x00
0000060d: DUP2
0000060e: MSTORE
0000060f: PUSH1 0x20
00000611: ADD
00000612: SWAP1
00000613: DUP2
00000614: MSTORE
00000615: PUSH1 0x20
00000617: ADD
00000618: PUSH1 0x00
0000061a: KECCAK256
0000061b: PUSH1 0x00
0000061d: POP
0000061e: SWAP1
0000061f: POP
00000620: DUP1
00000621: PUSH1 0x01
00000623: ADD
00000624: PUSH1 0x00
00000626: SWAP1
00000627: SLOAD
00000628: SWAP1
00000629: PUSH2 0x0100
0000062c: EXP
0000062d: SWAP1
0000062e: DIV
0000062f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000644: AND
00000645: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000065a: AND
0000065b: SELFDESTRUCT
0000065c: JUMPDEST
0000065d: POP
0000065e: JUMP
0000065f: JUMPDEST
00000660: PUSH1 0x00
00000662: PUSH1 0x00
00000664: PUSH1 0x00
00000666: PUSH1 0x00
00000668: POP
00000669: PUSH1 0x00
0000066b: PUSH1 0x00
0000066d: DUP2
0000066e: MSTORE
0000066f: PUSH1 0x20
00000671: ADD
00000672: SWAP1
00000673: DUP2
00000674: MSTORE
00000675: PUSH1 0x20
00000677: ADD
00000678: PUSH1 0x00
0000067a: KECCAK256
0000067b: PUSH1 0x00
0000067d: POP
0000067e: SWAP1
0000067f: POP
00000680: DUP1
00000681: PUSH1 0x05
00000683: ADD
00000684: PUSH1 0x00
00000686: POP
00000687: SLOAD
00000688: SWAP2
00000689: POP
0000068a: PUSH2 0x068e
0000068d: JUMP
0000068e: JUMPDEST
0000068f: POP
00000690: SWAP1
00000691: JUMP
00000692: JUMPDEST
00000693: PUSH1 0x00
00000695: PUSH1 0x00
00000697: PUSH1 0x00
00000699: PUSH1 0x00
0000069b: POP
0000069c: PUSH1 0x00
0000069e: PUSH1 0x00
000006a0: DUP2
000006a1: MSTORE
000006a2: PUSH1 0x20
000006a4: ADD
000006a5: SWAP1
000006a6: DUP2
000006a7: MSTORE
000006a8: PUSH1 0x20
000006aa: ADD
000006ab: PUSH1 0x00
000006ad: KECCAK256
000006ae: PUSH1 0x00
000006b0: POP
000006b1: SWAP1
000006b2: POP
000006b3: DUP1
000006b4: PUSH1 0x04
000006b6: ADD
000006b7: PUSH1 0x00
000006b9: POP
000006ba: SLOAD
000006bb: SWAP2
000006bc: POP
000006bd: PUSH2 0x06c1
000006c0: JUMP
000006c1: JUMPDEST
000006c2: POP
000006c3: SWAP1
000006c4: JUMP
000006c5: JUMPDEST
000006c6: PUSH1 0x00
000006c8: DUP1
000006c9: SWAP1
000006ca: POP
000006cb: PUSH2 0x06cf
000006ce: JUMP
000006cf: JUMPDEST
000006d0: SWAP1
000006d1: JUMP
000006d2: JUMPDEST
000006d3: PUSH1 0x00
000006d5: PUSH1 0x00
000006d7: PUSH1 0x00
000006d9: PUSH1 0x00
000006db: PUSH1 0x00
000006dd: POP
000006de: PUSH1 0x00
000006e0: PUSH1 0x00
000006e2: DUP2
000006e3: MSTORE
000006e4: PUSH1 0x20
000006e6: ADD
000006e7: SWAP1
000006e8: DUP2
000006e9: MSTORE
000006ea: PUSH1 0x20
000006ec: ADD
000006ed: PUSH1 0x00
000006ef: KECCAK256
000006f0: PUSH1 0x00
000006f2: POP
000006f3: SWAP2
000006f4: POP
000006f5: DUP2
000006f6: PUSH1 0x00
000006f8: ADD
000006f9: PUSH1 0x00
000006fb: POP
000006fc: PUSH1 0x00
000006fe: DUP6
000006ff: DUP2
00000700: MSTORE
00000701: PUSH1 0x20
00000703: ADD
00000704: SWAP1
00000705: DUP2
00000706: MSTORE
00000707: PUSH1 0x20
00000709: ADD
0000070a: PUSH1 0x00
0000070c: KECCAK256
0000070d: PUSH1 0x00
0000070f: POP
00000710: SWAP1
00000711: POP
00000712: DUP1
00000713: PUSH1 0x00
00000715: ADD
00000716: PUSH1 0x00
00000718: SWAP1
00000719: SLOAD
0000071a: SWAP1
0000071b: PUSH2 0x0100
0000071e: EXP
0000071f: SWAP1
00000720: DIV
00000721: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000736: AND
00000737: SWAP3
00000738: POP
00000739: PUSH2 0x073d
0000073c: JUMP
0000073d: JUMPDEST
0000073e: POP
0000073f: POP
00000740: SWAP2
00000741: SWAP1
00000742: POP
00000743: JUMP
00000744: JUMPDEST
00000745: PUSH1 0x00
00000747: PUSH1 0x01
00000749: PUSH1 0x00
0000074b: POP
0000074c: PUSH1 0x00
0000074e: DUP6
0000074f: DUP2
00000750: MSTORE
00000751: PUSH1 0x20
00000753: ADD
00000754: SWAP1
00000755: DUP2
00000756: MSTORE
00000757: PUSH1 0x20
00000759: ADD
0000075a: PUSH1 0x00
0000075c: KECCAK256
0000075d: PUSH1 0x00
0000075f: POP
00000760: SWAP1
00000761: POP
00000762: PUSH1 0x60
00000764: PUSH1 0x40
00000766: MLOAD
00000767: SWAP1
00000768: DUP2
00000769: ADD
0000076a: PUSH1 0x40
0000076c: MSTORE
0000076d: DUP1
0000076e: DUP5
0000076f: DUP2
00000770: MSTORE
00000771: PUSH1 0x20
00000773: ADD
00000774: DUP4
00000775: DUP2
00000776: MSTORE
00000777: PUSH1 0x20
00000779: ADD
0000077a: TIMESTAMP
0000077b: DUP2
0000077c: MSTORE
0000077d: PUSH1 0x20
0000077f: ADD
00000780: POP
00000781: DUP2
00000782: PUSH1 0x00
00000784: ADD
00000785: PUSH1 0x00
00000787: POP
00000788: PUSH1 0x00
0000078a: DUP4
0000078b: PUSH1 0x01
0000078d: ADD
0000078e: PUSH1 0x00
00000790: POP
00000791: SLOAD
00000792: DUP2
00000793: MSTORE
00000794: PUSH1 0x20
00000796: ADD
00000797: SWAP1
00000798: DUP2
00000799: MSTORE
0000079a: PUSH1 0x20
0000079c: ADD
0000079d: PUSH1 0x00
0000079f: KECCAK256
000007a0: PUSH1 0x00
000007a2: POP
000007a3: PUSH1 0x00
000007a5: DUP3
000007a6: ADD
000007a7: MLOAD
000007a8: DUP2
000007a9: PUSH1 0x00
000007ab: ADD
000007ac: PUSH1 0x00
000007ae: PUSH2 0x0100
000007b1: EXP
000007b2: DUP2
000007b3: SLOAD
000007b4: DUP2
000007b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007ca: MUL
000007cb: NOT
000007cc: AND
000007cd: SWAP1
000007ce: DUP4
000007cf: MUL
000007d0: OR
000007d1: SWAP1
000007d2: SSTORE
000007d3: POP
000007d4: PUSH1 0x20
000007d6: DUP3
000007d7: ADD
000007d8: MLOAD
000007d9: DUP2
000007da: PUSH1 0x01
000007dc: ADD
000007dd: PUSH1 0x00
000007df: POP
000007e0: SSTORE
000007e1: PUSH1 0x40
000007e3: DUP3
000007e4: ADD
000007e5: MLOAD
000007e6: DUP2
000007e7: PUSH1 0x02
000007e9: ADD
000007ea: PUSH1 0x00
000007ec: POP
000007ed: SSTORE
000007ee: SWAP1
000007ef: POP
000007f0: POP
000007f1: DUP1
000007f2: PUSH1 0x01
000007f4: ADD
000007f5: PUSH1 0x00
000007f7: DUP2
000007f8: DUP2
000007f9: POP
000007fa: SLOAD
000007fb: PUSH1 0x01
000007fd: ADD
000007fe: SWAP2
000007ff: SWAP1
00000800: POP
00000801: DUP2
00000802: SWAP1
00000803: SSTORE
00000804: POP
00000805: JUMPDEST
00000806: POP
00000807: POP
00000808: POP
00000809: POP
0000080a: JUMP
0000080b: JUMPDEST
0000080c: PUSH1 0x00
0000080e: ADDRESS
0000080f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000824: AND
00000825: BALANCE
00000826: SWAP1
00000827: POP
00000828: PUSH2 0x082c
0000082b: JUMP
0000082c: JUMPDEST
0000082d: SWAP1
0000082e: JUMP
0000082f: JUMPDEST
00000830: PUSH1 0x00
00000832: PUSH1 0x00
00000834: PUSH1 0x00
00000836: POP
00000837: PUSH1 0x00
00000839: PUSH1 0x00
0000083b: DUP2
0000083c: MSTORE
0000083d: PUSH1 0x20
0000083f: ADD
00000840: SWAP1
00000841: DUP2
00000842: MSTORE
00000843: PUSH1 0x20
00000845: ADD
00000846: PUSH1 0x00
00000848: KECCAK256
00000849: PUSH1 0x00
0000084b: POP
0000084c: SWAP1
0000084d: POP
0000084e: DUP1
0000084f: PUSH1 0x05
00000851: ADD
00000852: PUSH1 0x00
00000854: POP
00000855: SLOAD
00000856: DUP3
00000857: GT
00000858: ISZERO
00000859: ISZERO
0000085a: PUSH2 0x092b
0000085d: JUMPI
0000085e: PUSH1 0x60
00000860: PUSH1 0x40
00000862: MLOAD
00000863: SWAP1
00000864: DUP2
00000865: ADD
00000866: PUSH1 0x40
00000868: MSTORE
00000869: DUP1
0000086a: DUP5
0000086b: DUP2
0000086c: MSTORE
0000086d: PUSH1 0x20
0000086f: ADD
00000870: DUP4
00000871: DUP2
00000872: MSTORE
00000873: PUSH1 0x20
00000875: ADD
00000876: PUSH1 0x01
00000878: DUP2
00000879: MSTORE
0000087a: PUSH1 0x20
0000087c: ADD
0000087d: POP
0000087e: DUP2
0000087f: PUSH1 0x00
00000881: ADD
00000882: PUSH1 0x00
00000884: POP
00000885: PUSH1 0x00
00000887: DUP4
00000888: PUSH1 0x04
0000088a: ADD
0000088b: PUSH1 0x00
0000088d: POP
0000088e: SLOAD
0000088f: DUP2
00000890: MSTORE
00000891: PUSH1 0x20
00000893: ADD
00000894: SWAP1
00000895: DUP2
00000896: MSTORE
00000897: PUSH1 0x20
00000899: ADD
0000089a: PUSH1 0x00
0000089c: KECCAK256
0000089d: PUSH1 0x00
0000089f: POP
000008a0: PUSH1 0x00
000008a2: DUP3
000008a3: ADD
000008a4: MLOAD
000008a5: DUP2
000008a6: PUSH1 0x00
000008a8: ADD
000008a9: PUSH1 0x00
000008ab: PUSH2 0x0100
000008ae: EXP
000008af: DUP2
000008b0: SLOAD
000008b1: DUP2
000008b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008c7: MUL
000008c8: NOT
000008c9: AND
000008ca: SWAP1
000008cb: DUP4
000008cc: MUL
000008cd: OR
000008ce: SWAP1
000008cf: SSTORE
000008d0: POP
000008d1: PUSH1 0x20
000008d3: DUP3
000008d4: ADD
000008d5: MLOAD
000008d6: DUP2
000008d7: PUSH1 0x01
000008d9: ADD
000008da: PUSH1 0x00
000008dc: POP
000008dd: SSTORE
000008de: PUSH1 0x40
000008e0: DUP3
000008e1: ADD
000008e2: MLOAD
000008e3: DUP2
000008e4: PUSH1 0x02
000008e6: ADD
000008e7: PUSH1 0x00
000008e9: PUSH2 0x0100
000008ec: EXP
000008ed: DUP2
000008ee: SLOAD
000008ef: DUP2
000008f0: PUSH1 0xff
000008f2: MUL
000008f3: NOT
000008f4: AND
000008f5: SWAP1
000008f6: DUP4
000008f7: MUL
000008f8: OR
000008f9: SWAP1
000008fa: SSTORE
000008fb: POP
000008fc: SWAP1
000008fd: POP
000008fe: POP
000008ff: DUP2
00000900: DUP2
00000901: PUSH1 0x05
00000903: ADD
00000904: PUSH1 0x00
00000906: DUP3
00000907: DUP3
00000908: DUP3
00000909: POP
0000090a: SLOAD
0000090b: SUB
0000090c: SWAP3
0000090d: POP
0000090e: POP
0000090f: DUP2
00000910: SWAP1
00000911: SSTORE
00000912: POP
00000913: DUP1
00000914: PUSH1 0x04
00000916: ADD
00000917: PUSH1 0x00
00000919: DUP2
0000091a: DUP2
0000091b: POP
0000091c: SLOAD
0000091d: PUSH1 0x01
0000091f: ADD
00000920: SWAP2
00000921: SWAP1
00000922: POP
00000923: DUP2
00000924: SWAP1
00000925: SSTORE
00000926: POP
00000927: PUSH2 0x0930
0000092a: JUMP
0000092b: JUMPDEST
0000092c: PUSH2 0x0002
0000092f: JUMP
00000930: JUMPDEST
00000931: JUMPDEST
00000932: POP
00000933: POP
00000934: POP
00000935: JUMP
00000936: JUMPDEST
00000937: PUSH1 0xa0
00000939: PUSH1 0x40
0000093b: MLOAD
0000093c: SWAP1
0000093d: DUP2
0000093e: ADD
0000093f: PUSH1 0x40
00000941: MSTORE
00000942: DUP1
00000943: CALLER
00000944: DUP2
00000945: MSTORE
00000946: PUSH1 0x20
00000948: ADD
00000949: PUSH1 0x00
0000094b: DUP2
0000094c: MSTORE
0000094d: PUSH1 0x20
0000094f: ADD
00000950: PUSH3 0x0186a0
00000954: DUP2
00000955: MSTORE
00000956: PUSH1 0x20
00000958: ADD
00000959: PUSH1 0x00
0000095b: DUP2
0000095c: MSTORE
0000095d: PUSH1 0x20
0000095f: ADD
00000960: PUSH3 0x0186a0
00000964: DUP2
00000965: MSTORE
00000966: PUSH1 0x20
00000968: ADD
00000969: POP
0000096a: PUSH1 0x00
0000096c: PUSH1 0x00
0000096e: POP
0000096f: PUSH1 0x00
00000971: PUSH1 0x00
00000973: DUP2
00000974: MSTORE
00000975: PUSH1 0x20
00000977: ADD
00000978: SWAP1
00000979: DUP2
0000097a: MSTORE
0000097b: PUSH1 0x20
0000097d: ADD
0000097e: PUSH1 0x00
00000980: KECCAK256
00000981: PUSH1 0x00
00000983: POP
00000984: PUSH1 0x00
00000986: DUP3
00000987: ADD
00000988: MLOAD
00000989: DUP2
0000098a: PUSH1 0x01
0000098c: ADD
0000098d: PUSH1 0x00
0000098f: PUSH2 0x0100
00000992: EXP
00000993: DUP2
00000994: SLOAD
00000995: DUP2
00000996: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009ab: MUL
000009ac: NOT
000009ad: AND
000009ae: SWAP1
000009af: DUP4
000009b0: MUL
000009b1: OR
000009b2: SWAP1
000009b3: SSTORE
000009b4: POP
000009b5: PUSH1 0x20
000009b7: DUP3
000009b8: ADD
000009b9: MLOAD
000009ba: DUP2
000009bb: PUSH1 0x02
000009bd: ADD
000009be: PUSH1 0x00
000009c0: POP
000009c1: SSTORE
000009c2: PUSH1 0x40
000009c4: DUP3
000009c5: ADD
000009c6: MLOAD
000009c7: DUP2
000009c8: PUSH1 0x03
000009ca: ADD
000009cb: PUSH1 0x00
000009cd: POP
000009ce: SSTORE
000009cf: PUSH1 0x60
000009d1: DUP3
000009d2: ADD
000009d3: MLOAD
000009d4: DUP2
000009d5: PUSH1 0x04
000009d7: ADD
000009d8: PUSH1 0x00
000009da: POP
000009db: SSTORE
000009dc: PUSH1 0x80
000009de: DUP3
000009df: ADD
000009e0: MLOAD
000009e1: DUP2
000009e2: PUSH1 0x05
000009e4: ADD
000009e5: PUSH1 0x00
000009e7: POP
000009e8: SSTORE
000009e9: SWAP1
000009ea: POP
000009eb: POP
000009ec: JUMPDEST
000009ed: 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: 0xb1acf280f7c54d89cf59ce3b60926b3da5d1942c086abbf96839858ebaf2b981
call_targets: 0x3f4a0f63c951b2225f9f15f5a323f495bb389beb
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xb1acf280f7c54d89cf59ce3b60926b3da5d1942c086abbf96839858ebaf2b981",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3f4a0f63c951b2225f9f15f5a323f495bb389beb"
    ],
    "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": "0x41dbbb61",
            "selector": "0x41dbbb61",
            "calldata_variants": [
                "0x41dbbb61",
                "0x41dbbb610000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "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"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1021,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [
        {
            "pc": 1312,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 1
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xb1acf280f7c54d89cf59ce3b60926b3da5d1942c086abbf96839858ebaf2b981
call_targets: 0x3f4a0f63c951b2225f9f15f5a323f495bb389beb
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xb1acf280f7c54d89cf59ce3b60926b3da5d1942c086abbf96839858ebaf2b981",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3f4a0f63c951b2225f9f15f5a323f495bb389beb"
    ],
    "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": "0x41dbbb61",
            "selector": "0x41dbbb61",
            "calldata_variants": [
                "0x41dbbb61",
                "0x41dbbb610000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "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"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1021,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": [
        {
            "pc": 1312,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
medium other detector SELFDESTRUCT reachable 45 yes yes
view
trace_id: 0xb744310aa86aaea8d373cd830152feeb2d39940c9aa83b636fc6a321c4224e6d
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "confirmed",
    "attempts": 3,
    "trace_id": "0xb744310aa86aaea8d373cd830152feeb2d39940c9aa83b636fc6a321c4224e6d",
    "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": "0x41dbbb61",
            "selector": "0x41dbbb61",
            "calldata_variants": [
                "0x41dbbb61",
                "0x41dbbb610000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "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"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 1312,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "selfdestruct_count": 1
}