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

Analysis Run

019b3836-3a3f-7308-849b-3ce0cd2a46c0

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
CREATE/CREATE2 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
4205 artifact.fetch complete 1 / 3 3 months ago
4206 tool.cast_disasm complete 1 / 3 3 months ago
47632 analysis.bundle complete 1 / 3 1 week ago
47633 capability.graph complete 1 / 3 1 week ago
47634 detector.run complete 1 / 3 1 week ago
47635 validation.fork complete 1 / 3 1 week ago
113979 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-1_70tiov
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5cd1-134b-7c82-a39b-9379309f052f
--------
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-05T08:45:00.768434+00:00",
        "returncode": 1
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 4744,
        "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
0
CREATE2
0
CALL-family (heavy)
7
EXT*/BALANCE
2
Total opcodes
1451
Flags
create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x0082
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x4052c661
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x0198
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x496a698d
00000025: EQ
00000026: PUSH2 0x01de
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x5d068051
00000030: EQ
00000031: PUSH2 0x01f0
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x7a791524
0000003b: EQ
0000003c: PUSH2 0x021e
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x8da5cb5b
00000046: EQ
00000047: PUSH2 0x025c
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x9003adfe
00000051: EQ
00000052: PUSH2 0x026e
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0xa001ecdd
0000005c: EQ
0000005d: PUSH2 0x0277
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0xa07aea96
00000067: EQ
00000068: PUSH2 0x0283
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0xe3cc838c
00000072: EQ
00000073: PUSH2 0x028c
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0xf2b26d8f
0000007d: EQ
0000007e: PUSH2 0x029d
00000081: JUMPI
00000082: JUMPDEST
00000083: PUSH1 0x05
00000085: SLOAD
00000086: PUSH1 0x40
00000088: DUP1
00000089: MLOAD
0000008a: PUSH32 0xecb70fb700000000000000000000000000000000000000000000000000000000
000000ab: DUP2
000000ac: MSTORE
000000ad: SWAP1
000000ae: MLOAD
000000af: PUSH2 0x02b3
000000b2: SWAP3
000000b3: PUSH1 0x01
000000b5: PUSH1 0xa0
000000b7: PUSH1 0x02
000000b9: EXP
000000ba: SUB
000000bb: AND
000000bc: SWAP2
000000bd: PUSH4 0xecb70fb7
000000c2: SWAP2
000000c3: PUSH1 0x04
000000c5: DUP3
000000c6: DUP2
000000c7: ADD
000000c8: SWAP3
000000c9: PUSH1 0x20
000000cb: SWAP3
000000cc: SWAP2
000000cd: SWAP1
000000ce: DUP3
000000cf: SWAP1
000000d0: SUB
000000d1: ADD
000000d2: DUP2
000000d3: PUSH1 0x00
000000d5: DUP8
000000d6: PUSH2 0x61da
000000d9: GAS
000000da: SUB
000000db: CALL
000000dc: ISZERO
000000dd: PUSH2 0x0002
000000e0: JUMPI
000000e1: POP
000000e2: POP
000000e3: PUSH1 0x40
000000e5: MLOAD
000000e6: MLOAD
000000e7: ISZERO
000000e8: SWAP1
000000e9: POP
000000ea: PUSH2 0x02b5
000000ed: JUMPI
000000ee: PUSH1 0x05
000000f0: PUSH1 0x00
000000f2: SWAP1
000000f3: SLOAD
000000f4: SWAP1
000000f5: PUSH2 0x0100
000000f8: EXP
000000f9: SWAP1
000000fa: DIV
000000fb: PUSH1 0x01
000000fd: PUSH1 0xa0
000000ff: PUSH1 0x02
00000101: EXP
00000102: SUB
00000103: AND
00000104: PUSH1 0x01
00000106: PUSH1 0xa0
00000108: PUSH1 0x02
0000010a: EXP
0000010b: SUB
0000010c: AND
0000010d: PUSH4 0x63bd1d4a
00000112: PUSH1 0x40
00000114: MLOAD
00000115: DUP2
00000116: PUSH1 0xe0
00000118: PUSH1 0x02
0000011a: EXP
0000011b: MUL
0000011c: DUP2
0000011d: MSTORE
0000011e: PUSH1 0x04
00000120: ADD
00000121: DUP1
00000122: SWAP1
00000123: POP
00000124: PUSH1 0x00
00000126: PUSH1 0x40
00000128: MLOAD
00000129: DUP1
0000012a: DUP4
0000012b: SUB
0000012c: DUP2
0000012d: PUSH1 0x00
0000012f: DUP8
00000130: PUSH2 0x61da
00000133: GAS
00000134: SUB
00000135: CALL
00000136: ISZERO
00000137: PUSH2 0x0002
0000013a: JUMPI
0000013b: POP
0000013c: POP
0000013d: POP
0000013e: PUSH2 0x02b5
00000141: PUSH1 0x02
00000143: DUP1
00000144: SLOAD
00000145: PUSH1 0xff
00000147: NOT
00000148: DUP2
00000149: AND
0000014a: PUSH1 0xff
0000014c: PUSH2 0x0100
0000014f: SWAP1
00000150: SWAP3
00000151: DIV
00000152: SWAP2
00000153: SWAP1
00000154: SWAP2
00000155: AND
00000156: OR
00000157: SWAP1
00000158: SSTORE
00000159: PUSH1 0x04
0000015b: DUP1
0000015c: SLOAD
0000015d: PUSH1 0x01
0000015f: DUP2
00000160: ADD
00000161: DUP1
00000162: DUP4
00000163: SSTORE
00000164: DUP3
00000165: DUP2
00000166: DUP4
00000167: DUP1
00000168: ISZERO
00000169: DUP3
0000016a: SWAP1
0000016b: GT
0000016c: PUSH2 0x03b4
0000016f: JUMPI
00000170: DUP2
00000171: DUP4
00000172: PUSH1 0x00
00000174: MSTORE
00000175: PUSH1 0x20
00000177: PUSH1 0x00
00000179: KECCAK256
0000017a: SWAP2
0000017b: DUP3
0000017c: ADD
0000017d: SWAP2
0000017e: ADD
0000017f: PUSH2 0x03b4
00000182: SWAP2
00000183: SWAP1
00000184: JUMPDEST
00000185: DUP1
00000186: DUP3
00000187: GT
00000188: ISZERO
00000189: PUSH2 0x03ff
0000018c: JUMPI
0000018d: PUSH1 0x00
0000018f: DUP2
00000190: SSTORE
00000191: PUSH1 0x01
00000193: ADD
00000194: PUSH2 0x0184
00000197: JUMP
00000198: JUMPDEST
00000199: PUSH2 0x036e
0000019c: PUSH1 0x04
0000019e: CALLDATALOAD
0000019f: PUSH1 0x04
000001a1: DUP1
000001a2: SLOAD
000001a3: DUP3
000001a4: SWAP1
000001a5: DUP2
000001a6: LT
000001a7: ISZERO
000001a8: PUSH2 0x0002
000001ab: JUMPI
000001ac: POP
000001ad: PUSH1 0x00
000001af: MSTORE
000001b0: PUSH32 0x8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b
000001d1: ADD
000001d2: SLOAD
000001d3: PUSH1 0x01
000001d5: PUSH1 0xa0
000001d7: PUSH1 0x02
000001d9: EXP
000001da: SUB
000001db: AND
000001dc: DUP2
000001dd: JUMP
000001de: JUMPDEST
000001df: PUSH2 0x036e
000001e2: PUSH1 0x05
000001e4: SLOAD
000001e5: PUSH1 0x01
000001e7: PUSH1 0xa0
000001e9: PUSH1 0x02
000001eb: EXP
000001ec: SUB
000001ed: AND
000001ee: DUP2
000001ef: JUMP
000001f0: JUMPDEST
000001f1: PUSH2 0x02b3
000001f4: PUSH1 0x04
000001f6: CALLDATALOAD
000001f7: PUSH1 0x00
000001f9: SLOAD
000001fa: PUSH1 0x01
000001fc: PUSH1 0xa0
000001fe: PUSH1 0x02
00000200: EXP
00000201: SUB
00000202: SWAP1
00000203: DUP2
00000204: AND
00000205: CALLER
00000206: SWAP1
00000207: SWAP2
00000208: AND
00000209: EQ
0000020a: ISZERO
0000020b: PUSH2 0x0259
0000020e: JUMPI
0000020f: PUSH1 0x01
00000211: SLOAD
00000212: PUSH1 0x00
00000214: EQ
00000215: ISZERO
00000216: PUSH2 0x0403
00000219: JUMPI
0000021a: PUSH2 0x0259
0000021d: JUMP
0000021e: JUMPDEST
0000021f: PUSH2 0x02b3
00000222: PUSH1 0x04
00000224: CALLDATALOAD
00000225: PUSH1 0x00
00000227: SLOAD
00000228: PUSH1 0x01
0000022a: PUSH1 0xa0
0000022c: PUSH1 0x02
0000022e: EXP
0000022f: SUB
00000230: SWAP1
00000231: DUP2
00000232: AND
00000233: CALLER
00000234: SWAP1
00000235: SWAP2
00000236: AND
00000237: EQ
00000238: ISZERO
00000239: PUSH2 0x0259
0000023c: JUMPI
0000023d: PUSH1 0x0a
0000023f: PUSH1 0xff
00000241: DUP3
00000242: AND
00000243: GT
00000244: PUSH2 0x0259
00000247: JUMPI
00000248: PUSH1 0x02
0000024a: DUP1
0000024b: SLOAD
0000024c: PUSH2 0xff00
0000024f: NOT
00000250: AND
00000251: PUSH2 0x0100
00000254: DUP4
00000255: MUL
00000256: OR
00000257: SWAP1
00000258: SSTORE
00000259: JUMPDEST
0000025a: POP
0000025b: JUMP
0000025c: JUMPDEST
0000025d: PUSH2 0x036e
00000260: PUSH1 0x00
00000262: SLOAD
00000263: PUSH1 0x01
00000265: PUSH1 0xa0
00000267: PUSH1 0x02
00000269: EXP
0000026a: SUB
0000026b: AND
0000026c: DUP2
0000026d: JUMP
0000026e: JUMPDEST
0000026f: PUSH2 0x038b
00000272: PUSH1 0x01
00000274: SLOAD
00000275: DUP2
00000276: JUMP
00000277: JUMPDEST
00000278: PUSH2 0x039d
0000027b: PUSH1 0x02
0000027d: SLOAD
0000027e: PUSH1 0xff
00000280: AND
00000281: DUP2
00000282: JUMP
00000283: JUMPDEST
00000284: PUSH2 0x038b
00000287: PUSH1 0x03
00000289: SLOAD
0000028a: DUP2
0000028b: JUMP
0000028c: JUMPDEST
0000028d: PUSH2 0x039d
00000290: PUSH1 0x02
00000292: SLOAD
00000293: PUSH2 0x0100
00000296: SWAP1
00000297: DIV
00000298: PUSH1 0xff
0000029a: AND
0000029b: DUP2
0000029c: JUMP
0000029d: JUMPDEST
0000029e: PUSH2 0x038b
000002a1: JUMPDEST
000002a2: PUSH1 0x01
000002a4: SLOAD
000002a5: ADDRESS
000002a6: PUSH1 0x01
000002a8: PUSH1 0xa0
000002aa: PUSH1 0x02
000002ac: EXP
000002ad: SUB
000002ae: AND
000002af: BALANCE
000002b0: SUB
000002b1: SWAP1
000002b2: JUMP
000002b3: JUMPDEST
000002b4: STOP
000002b5: JUMPDEST
000002b6: PUSH1 0x05
000002b8: SLOAD
000002b9: PUSH1 0x40
000002bb: DUP1
000002bc: MLOAD
000002bd: PUSH32 0xd98b9bb500000000000000000000000000000000000000000000000000000000
000002de: DUP2
000002df: MSTORE
000002e0: CALLER
000002e1: PUSH1 0x01
000002e3: PUSH1 0xa0
000002e5: PUSH1 0x02
000002e7: EXP
000002e8: SUB
000002e9: SWAP1
000002ea: DUP2
000002eb: AND
000002ec: PUSH1 0x04
000002ee: DUP4
000002ef: ADD
000002f0: MSTORE
000002f1: CALLVALUE
000002f2: PUSH1 0x24
000002f4: DUP4
000002f5: ADD
000002f6: MSTORE
000002f7: SWAP2
000002f8: MLOAD
000002f9: SWAP3
000002fa: SWAP1
000002fb: SWAP2
000002fc: AND
000002fd: SWAP2
000002fe: PUSH4 0xd98b9bb5
00000303: SWAP2
00000304: PUSH1 0x44
00000306: DUP2
00000307: DUP2
00000308: ADD
00000309: SWAP3
0000030a: PUSH1 0x20
0000030c: SWAP3
0000030d: SWAP1
0000030e: SWAP2
0000030f: SWAP1
00000310: DUP3
00000311: SWAP1
00000312: SUB
00000313: ADD
00000314: DUP2
00000315: PUSH1 0x00
00000317: DUP8
00000318: PUSH2 0x61da
0000031b: GAS
0000031c: SUB
0000031d: CALL
0000031e: ISZERO
0000031f: PUSH2 0x0002
00000322: JUMPI
00000323: POP
00000324: POP
00000325: PUSH1 0x40
00000327: MLOAD
00000328: MLOAD
00000329: ISZERO
0000032a: SWAP1
0000032b: POP
0000032c: PUSH2 0x034b
0000032f: JUMPI
00000330: PUSH1 0x02
00000332: SLOAD
00000333: PUSH1 0x01
00000335: DUP1
00000336: SLOAD
00000337: PUSH1 0xff
00000339: SWAP3
0000033a: SWAP1
0000033b: SWAP3
0000033c: AND
0000033d: PUSH1 0x64
0000033f: CALLVALUE
00000340: DIV
00000341: MUL
00000342: SWAP1
00000343: SWAP2
00000344: ADD
00000345: SWAP1
00000346: SSTORE
00000347: PUSH2 0x036c
0000034a: JUMP
0000034b: JUMPDEST
0000034c: PUSH1 0x40
0000034e: MLOAD
0000034f: CALLER
00000350: PUSH1 0x01
00000352: PUSH1 0xa0
00000354: PUSH1 0x02
00000356: EXP
00000357: SUB
00000358: AND
00000359: SWAP1
0000035a: PUSH1 0x00
0000035c: SWAP1
0000035d: CALLVALUE
0000035e: SWAP1
0000035f: DUP3
00000360: DUP2
00000361: DUP2
00000362: DUP2
00000363: DUP6
00000364: DUP9
00000365: DUP4
00000366: CALL
00000367: POP
00000368: POP
00000369: POP
0000036a: POP
0000036b: POP
0000036c: JUMPDEST
0000036d: JUMP
0000036e: JUMPDEST
0000036f: PUSH1 0x40
00000371: DUP1
00000372: MLOAD
00000373: PUSH1 0x01
00000375: PUSH1 0xa0
00000377: PUSH1 0x02
00000379: EXP
0000037a: SUB
0000037b: SWAP3
0000037c: SWAP1
0000037d: SWAP3
0000037e: AND
0000037f: DUP3
00000380: MSTORE
00000381: MLOAD
00000382: SWAP1
00000383: DUP2
00000384: SWAP1
00000385: SUB
00000386: PUSH1 0x20
00000388: ADD
00000389: SWAP1
0000038a: RETURN
0000038b: JUMPDEST
0000038c: PUSH1 0x40
0000038e: DUP1
0000038f: MLOAD
00000390: SWAP2
00000391: DUP3
00000392: MSTORE
00000393: MLOAD
00000394: SWAP1
00000395: DUP2
00000396: SWAP1
00000397: SUB
00000398: PUSH1 0x20
0000039a: ADD
0000039b: SWAP1
0000039c: RETURN
0000039d: JUMPDEST
0000039e: PUSH1 0x40
000003a0: DUP1
000003a1: MLOAD
000003a2: PUSH1 0xff
000003a4: SWAP3
000003a5: SWAP1
000003a6: SWAP3
000003a7: AND
000003a8: DUP3
000003a9: MSTORE
000003aa: MLOAD
000003ab: SWAP1
000003ac: DUP2
000003ad: SWAP1
000003ae: SUB
000003af: PUSH1 0x20
000003b1: ADD
000003b2: SWAP1
000003b3: RETURN
000003b4: JUMPDEST
000003b5: POP
000003b6: POP
000003b7: POP
000003b8: PUSH1 0x00
000003ba: SWAP3
000003bb: DUP4
000003bc: MSTORE
000003bd: PUSH1 0x20
000003bf: SWAP1
000003c0: SWAP3
000003c1: KECCAK256
000003c2: PUSH1 0x05
000003c4: SLOAD
000003c5: SWAP2
000003c6: ADD
000003c7: DUP1
000003c8: SLOAD
000003c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003de: NOT
000003df: AND
000003e0: PUSH1 0x01
000003e2: PUSH1 0xa0
000003e4: PUSH1 0x02
000003e6: EXP
000003e7: SUB
000003e8: SWAP3
000003e9: SWAP1
000003ea: SWAP3
000003eb: AND
000003ec: SWAP2
000003ed: SWAP1
000003ee: SWAP2
000003ef: OR
000003f0: SWAP1
000003f1: SSTORE
000003f2: PUSH1 0x03
000003f4: SSTORE
000003f5: PUSH2 0x036c
000003f8: PUSH2 0x0429
000003fb: PUSH2 0x02a1
000003fe: JUMP
000003ff: JUMPDEST
00000400: POP
00000401: SWAP1
00000402: JUMP
00000403: JUMPDEST
00000404: PUSH1 0x01
00000406: SLOAD
00000407: PUSH1 0x40
00000409: MLOAD
0000040a: PUSH1 0x01
0000040c: PUSH1 0xa0
0000040e: PUSH1 0x02
00000410: EXP
00000411: SUB
00000412: DUP4
00000413: AND
00000414: SWAP2
00000415: PUSH1 0x00
00000417: SWAP2
00000418: DUP3
00000419: DUP2
0000041a: DUP2
0000041b: DUP2
0000041c: DUP6
0000041d: DUP9
0000041e: DUP4
0000041f: CALL
00000420: POP
00000421: POP
00000422: POP
00000423: PUSH1 0x01
00000425: SSTORE
00000426: POP
00000427: POP
00000428: JUMP
00000429: JUMPDEST
0000042a: PUSH1 0x40
0000042c: MLOAD
0000042d: PUSH2 0x04e2
00000430: DUP1
00000431: PUSH2 0x0461
00000434: DUP4
00000435: CODECOPY
00000436: DUP2
00000437: ADD
00000438: DUP2
00000439: SWAP1
0000043a: SUB
0000043b: SWAP1
0000043c: DUP3
0000043d: CREATE
0000043e: PUSH1 0x05
00000440: DUP1
00000441: SLOAD
00000442: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000457: NOT
00000458: AND
00000459: SWAP2
0000045a: SWAP1
0000045b: SWAP2
0000045c: OR
0000045d: SWAP1
0000045e: SSTORE
0000045f: POP
00000460: JUMP
00000461: PUSH1 0x60
00000463: PUSH1 0x40
00000465: MSTORE
00000466: PUSH1 0x00
00000468: DUP1
00000469: SLOAD
0000046a: PUSH1 0x01
0000046c: PUSH1 0xa0
0000046e: PUSH1 0x02
00000470: EXP
00000471: SUB
00000472: NOT
00000473: AND
00000474: CALLER
00000475: OR
00000476: SWAP1
00000477: SSTORE
00000478: PUSH2 0x04be
0000047b: DUP1
0000047c: PUSH2 0x0024
0000047f: PUSH1 0x00
00000481: CODECOPY
00000482: PUSH1 0x00
00000484: RETURN
00000485: PUSH1 0x60
00000487: PUSH1 0x40
00000489: MSTORE
0000048a: CALLDATASIZE
0000048b: ISZERO
0000048c: PUSH2 0x0098
0000048f: JUMPI
00000490: PUSH1 0xe0
00000492: PUSH1 0x02
00000494: EXP
00000495: PUSH1 0x00
00000497: CALLDATALOAD
00000498: DIV
00000499: PUSH4 0x2da0d1ea
0000049e: DUP2
0000049f: EQ
000004a0: PUSH2 0x00a3
000004a3: JUMPI
000004a4: DUP1
000004a5: PUSH4 0x3197cbb6
000004aa: EQ
000004ab: PUSH2 0x00ac
000004ae: JUMPI
000004af: DUP1
000004b0: PUSH4 0x4423c5f1
000004b5: EQ
000004b6: PUSH2 0x0151
000004b9: JUMPI
000004ba: DUP1
000004bb: PUSH4 0x44691f7e
000004c0: EQ
000004c1: PUSH2 0x01ea
000004c4: JUMPI
000004c5: DUP1
000004c6: PUSH4 0x63bd1d4a
000004cb: EQ
000004cc: PUSH2 0x01f9
000004cf: JUMPI
000004d0: DUP1
000004d1: PUSH4 0x78e97925
000004d6: EQ
000004d7: PUSH2 0x021b
000004da: JUMPI
000004db: DUP1
000004dc: PUSH4 0x8da5cb5b
000004e1: EQ
000004e2: PUSH2 0x025a
000004e5: JUMPI
000004e6: DUP1
000004e7: PUSH4 0xb40a5627
000004ec: EQ
000004ed: PUSH2 0x026c
000004f0: JUMPI
000004f1: DUP1
000004f2: PUSH4 0xd98b9bb5
000004f7: EQ
000004f8: PUSH2 0x0275
000004fb: JUMPI
000004fc: DUP1
000004fd: PUSH4 0xe6d9bb0f
00000502: EQ
00000503: PUSH2 0x02ab
00000506: JUMPI
00000507: DUP1
00000508: PUSH4 0xecb70fb7
0000050d: EQ
0000050e: PUSH2 0x02b8
00000511: JUMPI
00000512: DUP1
00000513: PUSH4 0xfe777bcd
00000518: EQ
00000519: PUSH2 0x02c6
0000051c: JUMPI
0000051d: JUMPDEST
0000051e: PUSH2 0x02da
00000521: PUSH2 0x02dc
00000524: PUSH2 0x02bc
00000527: JUMP
00000528: JUMPDEST
00000529: PUSH2 0x0304
0000052c: PUSH1 0x01
0000052e: SLOAD
0000052f: DUP2
00000530: JUMP
00000531: JUMPDEST
00000532: PUSH2 0x0304
00000535: JUMPDEST
00000536: PUSH1 0x00
00000538: PUSH3 0x015180
0000053c: PUSH2 0x035c
0000053f: JUMPDEST
00000540: PUSH1 0x40
00000542: DUP1
00000543: MLOAD
00000544: PUSH1 0x60
00000546: DUP2
00000547: ADD
00000548: DUP3
00000549: MSTORE
0000054a: PUSH1 0x00
0000054c: DUP1
0000054d: DUP3
0000054e: MSTORE
0000054f: PUSH1 0x20
00000551: DUP3
00000552: ADD
00000553: DUP2
00000554: SWAP1
00000555: MSTORE
00000556: SWAP2
00000557: DUP2
00000558: ADD
00000559: DUP3
0000055a: SWAP1
0000055b: MSTORE
0000055c: PUSH1 0x03
0000055e: SLOAD
0000055f: SWAP1
00000560: SWAP2
00000561: SWAP1
00000562: GT
00000563: ISZERO
00000564: PUSH2 0x01f6
00000567: JUMPI
00000568: PUSH1 0x03
0000056a: DUP1
0000056b: SLOAD
0000056c: PUSH1 0x00
0000056e: NOT
0000056f: DUP2
00000570: ADD
00000571: SWAP1
00000572: DUP2
00000573: LT
00000574: ISZERO
00000575: PUSH2 0x0002
00000578: JUMPI
00000579: PUSH1 0x00
0000057b: DUP3
0000057c: DUP2
0000057d: MSTORE
0000057e: SWAP2
0000057f: MUL
00000580: PUSH32 0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b
000005a1: ADD
000005a2: SWAP1
000005a3: POP
000005a4: PUSH1 0x40
000005a6: DUP1
000005a7: MLOAD
000005a8: PUSH1 0x60
000005aa: DUP2
000005ab: ADD
000005ac: DUP3
000005ad: MSTORE
000005ae: DUP3
000005af: SLOAD
000005b0: PUSH1 0x01
000005b2: PUSH1 0xa0
000005b4: PUSH1 0x02
000005b6: EXP
000005b7: SUB
000005b8: AND
000005b9: DUP2
000005ba: MSTORE
000005bb: PUSH1 0x01
000005bd: DUP4
000005be: ADD
000005bf: SLOAD
000005c0: PUSH1 0x20
000005c2: DUP3
000005c3: ADD
000005c4: MSTORE
000005c5: PUSH1 0x02
000005c7: SWAP3
000005c8: SWAP1
000005c9: SWAP3
000005ca: ADD
000005cb: SLOAD
000005cc: SWAP1
000005cd: DUP3
000005ce: ADD
000005cf: MSTORE
000005d0: SWAP1
000005d1: POP
000005d2: PUSH2 0x01f6
000005d5: JUMP
000005d6: JUMPDEST
000005d7: PUSH2 0x0316
000005da: PUSH1 0x04
000005dc: CALLDATALOAD
000005dd: PUSH1 0x03
000005df: DUP1
000005e0: SLOAD
000005e1: DUP3
000005e2: SWAP1
000005e3: DUP2
000005e4: LT
000005e5: ISZERO
000005e6: PUSH2 0x0002
000005e9: JUMPI
000005ea: POP
000005eb: PUSH1 0x00
000005ed: DUP2
000005ee: SWAP1
000005ef: MSTORE
000005f0: MUL
000005f1: PUSH32 0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85d
00000612: DUP2
00000613: ADD
00000614: SLOAD
00000615: PUSH32 0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b
00000636: DUP3
00000637: ADD
00000638: SLOAD
00000639: PUSH32 0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c
0000065a: SWAP3
0000065b: SWAP1
0000065c: SWAP3
0000065d: ADD
0000065e: SLOAD
0000065f: PUSH1 0x01
00000661: PUSH1 0xa0
00000663: PUSH1 0x02
00000665: EXP
00000666: SUB
00000667: SWAP3
00000668: SWAP1
00000669: SWAP3
0000066a: AND
0000066b: SWAP2
0000066c: SWAP1
0000066d: DUP4
0000066e: JUMP
0000066f: JUMPDEST
00000670: PUSH2 0x0304
00000673: JUMPDEST
00000674: PUSH1 0x03
00000676: SLOAD
00000677: PUSH1 0x00
00000679: SWAP1
0000067a: GT
0000067b: JUMPDEST
0000067c: SWAP1
0000067d: JUMP
0000067e: JUMPDEST
0000067f: PUSH2 0x02da
00000682: PUSH1 0x00
00000684: SLOAD
00000685: CALLER
00000686: PUSH1 0x01
00000688: PUSH1 0xa0
0000068a: PUSH1 0x02
0000068c: EXP
0000068d: SUB
0000068e: SWAP1
0000068f: DUP2
00000690: AND
00000691: SWAP2
00000692: AND
00000693: EQ
00000694: ISZERO
00000695: PUSH2 0x0302
00000698: JUMPI
00000699: PUSH2 0x039f
0000069c: PUSH2 0x02ca
0000069f: JUMP
000006a0: JUMPDEST
000006a1: PUSH2 0x0304
000006a4: PUSH1 0x00
000006a6: PUSH1 0x03
000006a8: PUSH1 0x00
000006aa: POP
000006ab: PUSH1 0x00
000006ad: DUP2
000006ae: SLOAD
000006af: DUP2
000006b0: LT
000006b1: ISZERO
000006b2: PUSH2 0x0002
000006b5: JUMPI
000006b6: POP
000006b7: SWAP1
000006b8: MSTORE
000006b9: PUSH32 0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85d
000006da: SLOAD
000006db: PUSH2 0x01f6
000006de: JUMP
000006df: JUMPDEST
000006e0: PUSH2 0x033f
000006e3: PUSH1 0x00
000006e5: SLOAD
000006e6: PUSH1 0x01
000006e8: PUSH1 0xa0
000006ea: PUSH1 0x02
000006ec: EXP
000006ed: SUB
000006ee: AND
000006ef: DUP2
000006f0: JUMP
000006f1: JUMPDEST
000006f2: PUSH2 0x0304
000006f5: PUSH1 0x02
000006f7: SLOAD
000006f8: DUP2
000006f9: JUMP
000006fa: JUMPDEST
000006fb: PUSH2 0x0304
000006fe: PUSH1 0x04
00000700: CALLDATALOAD
00000701: PUSH1 0x24
00000703: CALLDATALOAD
00000704: PUSH1 0x00
00000706: DUP1
00000707: SLOAD
00000708: CALLER
00000709: PUSH1 0x01
0000070b: PUSH1 0xa0
0000070d: PUSH1 0x02
0000070f: EXP
00000710: SUB
00000711: SWAP1
00000712: DUP2
00000713: AND
00000714: SWAP2
00000715: AND
00000716: EQ
00000717: ISZERO
00000718: PUSH2 0x0435
0000071b: JUMPI
0000071c: PUSH1 0x03
0000071e: SLOAD
0000071f: DUP2
00000720: EQ
00000721: DUP1
00000722: ISZERO
00000723: SWAP1
00000724: PUSH2 0x0443
00000727: JUMPI
00000728: POP
00000729: PUSH2 0x043b
0000072c: PUSH2 0x00ba
0000072f: JUMP
00000730: JUMPDEST
00000731: PUSH2 0x0304
00000734: PUSH1 0x00
00000736: PUSH2 0x0368
00000739: PUSH2 0x00b0
0000073c: JUMP
0000073d: JUMPDEST
0000073e: PUSH2 0x0304
00000741: JUMPDEST
00000742: PUSH1 0x00
00000744: PUSH2 0x0387
00000747: PUSH2 0x01ee
0000074a: JUMP
0000074b: JUMPDEST
0000074c: PUSH2 0x0304
0000074f: JUMPDEST
00000750: ADDRESS
00000751: PUSH1 0x01
00000753: PUSH1 0xa0
00000755: PUSH1 0x02
00000757: EXP
00000758: SUB
00000759: AND
0000075a: BALANCE
0000075b: PUSH2 0x01f6
0000075e: JUMP
0000075f: JUMPDEST
00000760: STOP
00000761: JUMPDEST
00000762: ISZERO
00000763: PUSH2 0x0302
00000766: JUMPI
00000767: PUSH1 0x40
00000769: MLOAD
0000076a: CALLER
0000076b: PUSH1 0x01
0000076d: PUSH1 0xa0
0000076f: PUSH1 0x02
00000771: EXP
00000772: SUB
00000773: AND
00000774: SWAP1
00000775: PUSH1 0x00
00000777: SWAP1
00000778: CALLVALUE
00000779: SWAP1
0000077a: DUP3
0000077b: DUP2
0000077c: DUP2
0000077d: DUP2
0000077e: DUP6
0000077f: DUP9
00000780: DUP4
00000781: CALL
00000782: POP
00000783: POP
00000784: POP
00000785: POP
00000786: POP
00000787: JUMPDEST
00000788: JUMP
00000789: JUMPDEST
0000078a: PUSH1 0x40
0000078c: DUP1
0000078d: MLOAD
0000078e: SWAP2
0000078f: DUP3
00000790: MSTORE
00000791: MLOAD
00000792: SWAP1
00000793: DUP2
00000794: SWAP1
00000795: SUB
00000796: PUSH1 0x20
00000798: ADD
00000799: SWAP1
0000079a: RETURN
0000079b: JUMPDEST
0000079c: PUSH1 0x40
0000079e: DUP1
0000079f: MLOAD
000007a0: PUSH1 0x01
000007a2: PUSH1 0xa0
000007a4: PUSH1 0x02
000007a6: EXP
000007a7: SUB
000007a8: SWAP5
000007a9: SWAP1
000007aa: SWAP5
000007ab: AND
000007ac: DUP5
000007ad: MSTORE
000007ae: PUSH1 0x20
000007b0: DUP5
000007b1: ADD
000007b2: SWAP3
000007b3: SWAP1
000007b4: SWAP3
000007b5: MSTORE
000007b6: DUP3
000007b7: DUP3
000007b8: ADD
000007b9: MSTORE
000007ba: MLOAD
000007bb: SWAP1
000007bc: DUP2
000007bd: SWAP1
000007be: SUB
000007bf: PUSH1 0x60
000007c1: ADD
000007c2: SWAP1
000007c3: RETURN
000007c4: JUMPDEST
000007c5: PUSH1 0x40
000007c7: DUP1
000007c8: MLOAD
000007c9: PUSH1 0x01
000007cb: PUSH1 0xa0
000007cd: PUSH1 0x02
000007cf: EXP
000007d0: SUB
000007d1: SWAP3
000007d2: SWAP1
000007d3: SWAP3
000007d4: AND
000007d5: DUP3
000007d6: MSTORE
000007d7: MLOAD
000007d8: SWAP1
000007d9: DUP2
000007da: SWAP1
000007db: SUB
000007dc: PUSH1 0x20
000007de: ADD
000007df: SWAP1
000007e0: RETURN
000007e1: JUMPDEST
000007e2: PUSH1 0x40
000007e4: ADD
000007e5: MLOAD
000007e6: ADD
000007e7: SWAP1
000007e8: POP
000007e9: PUSH2 0x01f6
000007ec: JUMP
000007ed: JUMPDEST
000007ee: TIMESTAMP
000007ef: GT
000007f0: PUSH2 0x0377
000007f3: JUMPI
000007f4: TIMESTAMP
000007f5: PUSH2 0x0381
000007f8: PUSH2 0x00b0
000007fb: JUMP
000007fc: JUMPDEST
000007fd: PUSH1 0x00
000007ff: JUMPDEST
00000800: SWAP1
00000801: POP
00000802: PUSH2 0x01f6
00000805: JUMP
00000806: JUMPDEST
00000807: SUB
00000808: PUSH2 0x037a
0000080b: JUMP
0000080c: JUMPDEST
0000080d: DUP1
0000080e: ISZERO
0000080f: PUSH2 0x037a
00000812: JUMPI
00000813: POP
00000814: PUSH2 0x0396
00000817: PUSH2 0x00b0
0000081a: JUMP
0000081b: JUMPDEST
0000081c: TIMESTAMP
0000081d: GT
0000081e: SWAP1
0000081f: POP
00000820: PUSH2 0x01f6
00000823: JUMP
00000824: JUMPDEST
00000825: PUSH1 0x01
00000827: SSTORE
00000828: PUSH2 0x03aa
0000082b: PUSH2 0x00ba
0000082e: JUMP
0000082f: JUMPDEST
00000830: MLOAD
00000831: PUSH1 0x01
00000833: PUSH1 0xa0
00000835: PUSH1 0x02
00000837: EXP
00000838: SUB
00000839: AND
0000083a: PUSH1 0x00
0000083c: PUSH2 0x03be
0000083f: PUSH2 0x02ca
00000842: JUMP
00000843: JUMPDEST
00000844: PUSH1 0x40
00000846: MLOAD
00000847: PUSH1 0x00
00000849: DUP2
0000084a: DUP2
0000084b: DUP2
0000084c: DUP6
0000084d: DUP9
0000084e: DUP9
0000084f: CALL
00000850: POP
00000851: POP
00000852: POP
00000853: POP
00000854: POP
00000855: JUMP
00000856: JUMPDEST
00000857: POP
00000858: POP
00000859: POP
0000085a: SWAP2
0000085b: SWAP1
0000085c: SWAP1
0000085d: PUSH1 0x00
0000085f: MSTORE
00000860: PUSH1 0x20
00000862: PUSH1 0x00
00000864: KECCAK256
00000865: SWAP1
00000866: PUSH1 0x03
00000868: MUL
00000869: ADD
0000086a: PUSH1 0x00
0000086c: POP
0000086d: PUSH1 0x40
0000086f: DUP1
00000870: MLOAD
00000871: PUSH1 0x60
00000873: DUP2
00000874: ADD
00000875: DUP3
00000876: MSTORE
00000877: DUP7
00000878: DUP2
00000879: MSTORE
0000087a: PUSH1 0x20
0000087c: DUP2
0000087d: ADD
0000087e: DUP7
0000087f: SWAP1
00000880: MSTORE
00000881: TIMESTAMP
00000882: SWAP2
00000883: ADD
00000884: DUP2
00000885: SWAP1
00000886: MSTORE
00000887: DUP2
00000888: SLOAD
00000889: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000089e: NOT
0000089f: AND
000008a0: DUP7
000008a1: OR
000008a2: DUP3
000008a3: SSTORE
000008a4: PUSH1 0x01
000008a6: DUP3
000008a7: DUP2
000008a8: ADD
000008a9: DUP7
000008aa: SWAP1
000008ab: SSTORE
000008ac: PUSH1 0x02
000008ae: SWAP3
000008af: DUP4
000008b0: ADD
000008b1: SWAP2
000008b2: SWAP1
000008b3: SWAP2
000008b4: SSTORE
000008b5: SWAP2
000008b6: SWAP1
000008b7: SSTORE
000008b8: SWAP1
000008b9: POP
000008ba: JUMPDEST
000008bb: SWAP3
000008bc: SWAP2
000008bd: POP
000008be: POP
000008bf: JUMP
000008c0: JUMPDEST
000008c1: PUSH1 0x20
000008c3: ADD
000008c4: MLOAD
000008c5: DUP3
000008c6: GT
000008c7: ISZERO
000008c8: JUMPDEST
000008c9: ISZERO
000008ca: PUSH2 0x0450
000008cd: JUMPI
000008ce: POP
000008cf: PUSH1 0x00
000008d1: PUSH2 0x0435
000008d4: JUMP
000008d5: JUMPDEST
000008d6: PUSH1 0x03
000008d8: DUP1
000008d9: SLOAD
000008da: PUSH1 0x01
000008dc: DUP2
000008dd: ADD
000008de: DUP1
000008df: DUP4
000008e0: SSTORE
000008e1: DUP3
000008e2: DUP2
000008e3: DUP4
000008e4: DUP1
000008e5: ISZERO
000008e6: DUP3
000008e7: SWAP1
000008e8: GT
000008e9: PUSH2 0x03d1
000008ec: JUMPI
000008ed: PUSH1 0x03
000008ef: MUL
000008f0: DUP2
000008f1: PUSH1 0x03
000008f3: MUL
000008f4: DUP4
000008f5: PUSH1 0x00
000008f7: MSTORE
000008f8: PUSH1 0x20
000008fa: PUSH1 0x00
000008fc: KECCAK256
000008fd: SWAP2
000008fe: DUP3
000008ff: ADD
00000900: SWAP2
00000901: ADD
00000902: PUSH2 0x03d1
00000905: SWAP2
00000906: SWAP1
00000907: JUMPDEST
00000908: DUP1
00000909: DUP3
0000090a: GT
0000090b: ISZERO
0000090c: PUSH2 0x04ba
0000090f: JUMPI
00000910: DUP1
00000911: SLOAD
00000912: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000927: NOT
00000928: AND
00000929: DUP2
0000092a: SSTORE
0000092b: PUSH1 0x00
0000092d: PUSH1 0x01
0000092f: DUP3
00000930: ADD
00000931: DUP2
00000932: DUP2
00000933: SSTORE
00000934: PUSH1 0x02
00000936: SWAP3
00000937: SWAP1
00000938: SWAP3
00000939: ADD
0000093a: SSTORE
0000093b: PUSH2 0x0482
0000093e: JUMP
0000093f: JUMPDEST
00000940: POP
00000941: SWAP1
00000942: 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
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x1ed411cbb2d6683e9a164d98f16d99517ba3316cf805714d163146f08c17f93c
call_targets: 0xfdd96a1ebcc52d3915c8c59aa08d1387e3c4ce54
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x1ed411cbb2d6683e9a164d98f16d99517ba3316cf805714d163146f08c17f93c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xfdd96a1ebcc52d3915c8c59aa08d1387e3c4ce54"
    ],
    "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": "0x4052c661",
            "selector": "0x4052c661",
            "calldata_variants": [
                "0x4052c661",
                "0x4052c6610000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x496a698d",
            "selector": "0x496a698d",
            "calldata_variants": [
                "0x496a698d",
                "0x496a698d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5d068051",
            "selector": "0x5d068051",
            "calldata_variants": [
                "0x5d068051",
                "0x5d0680510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7a791524",
            "selector": "0x7a791524",
            "calldata_variants": [
                "0x7a791524",
                "0x7a7915240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9003adfe",
            "selector": "0x9003adfe",
            "calldata_variants": [
                "0x9003adfe",
                "0x9003adfe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa001ecdd",
            "selector": "0xa001ecdd",
            "calldata_variants": [
                "0xa001ecdd",
                "0xa001ecdd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa07aea96",
            "selector": "0xa07aea96",
            "calldata_variants": [
                "0xa07aea96",
                "0xa07aea960000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 219,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 309,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 797,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 7,
    "guards_detected": [],
    "untrusted_call_count": 7
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x1ed411cbb2d6683e9a164d98f16d99517ba3316cf805714d163146f08c17f93c
call_targets: 0xfdd96a1ebcc52d3915c8c59aa08d1387e3c4ce54
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x1ed411cbb2d6683e9a164d98f16d99517ba3316cf805714d163146f08c17f93c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xfdd96a1ebcc52d3915c8c59aa08d1387e3c4ce54"
    ],
    "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": "0x4052c661",
            "selector": "0x4052c661",
            "calldata_variants": [
                "0x4052c661",
                "0x4052c6610000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x496a698d",
            "selector": "0x496a698d",
            "calldata_variants": [
                "0x496a698d",
                "0x496a698d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5d068051",
            "selector": "0x5d068051",
            "calldata_variants": [
                "0x5d068051",
                "0x5d0680510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7a791524",
            "selector": "0x7a791524",
            "calldata_variants": [
                "0x7a791524",
                "0x7a7915240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9003adfe",
            "selector": "0x9003adfe",
            "calldata_variants": [
                "0x9003adfe",
                "0x9003adfe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa001ecdd",
            "selector": "0xa001ecdd",
            "calldata_variants": [
                "0xa001ecdd",
                "0xa001ecdd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa07aea96",
            "selector": "0xa07aea96",
            "calldata_variants": [
                "0xa07aea96",
                "0xa07aea960000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 219,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 309,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 797,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 7,
    "guards_detected": []
}
medium other detector CREATE/CREATE2 reachable 45 yes yes
view
trace_id: 0xd462d51a5a76973bcfa2154f88d73c5ba0c0df1551e563700cdee2b2c77cbc18
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "confirmed",
    "attempts": 21,
    "trace_id": "0xd462d51a5a76973bcfa2154f88d73c5ba0c0df1551e563700cdee2b2c77cbc18",
    "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": "0x4052c661",
            "selector": "0x4052c661",
            "calldata_variants": [
                "0x4052c661",
                "0x4052c6610000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x496a698d",
            "selector": "0x496a698d",
            "calldata_variants": [
                "0x496a698d",
                "0x496a698d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5d068051",
            "selector": "0x5d068051",
            "calldata_variants": [
                "0x5d068051",
                "0x5d0680510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7a791524",
            "selector": "0x7a791524",
            "calldata_variants": [
                "0x7a791524",
                "0x7a7915240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9003adfe",
            "selector": "0x9003adfe",
            "calldata_variants": [
                "0x9003adfe",
                "0x9003adfe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa001ecdd",
            "selector": "0xa001ecdd",
            "calldata_variants": [
                "0xa001ecdd",
                "0xa001ecdd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa07aea96",
            "selector": "0xa07aea96",
            "calldata_variants": [
                "0xa07aea96",
                "0xa07aea960000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 0
}