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

Analysis Run

019b3844-8b03-725e-abaf-f90d893ba8f1

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:19 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
0
Validated
0
Source
Bytecode only
Review Backing
Not yet
Best current signal
Untrusted CALL target/value 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
11729 artifact.fetch complete 1 / 3 3 months ago
11730 tool.cast_disasm complete 1 / 3 3 months ago
99114 analysis.bundle complete 1 / 3 1 week ago
99115 capability.graph complete 1 / 3 1 week ago
99116 detector.run complete 1 / 3 1 week ago
99117 validation.fork complete 1 / 3 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

No codex job recorded yet.

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
1
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
1
Total opcodes
1257
Flags
selfdestruct_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x00c2
0000000a: JUMPI
0000000b: PUSH4 0xffffffff
00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002e: PUSH1 0x00
00000030: CALLDATALOAD
00000031: DIV
00000032: AND
00000033: PUSH4 0x146ca531
00000038: DUP2
00000039: EQ
0000003a: PUSH2 0x00c4
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0x1ef3755d
00000044: EQ
00000045: PUSH2 0x00ea
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0x47fa061e
0000004f: EQ
00000050: PUSH2 0x00fc
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0x8c52dc41
0000005a: EQ
0000005b: PUSH2 0x0130
0000005e: JUMPI
0000005f: DUP1
00000060: PUSH4 0x8da5cb5b
00000065: EQ
00000066: PUSH2 0x0142
00000069: JUMPI
0000006a: DUP1
0000006b: PUSH4 0xb9caebf4
00000070: EQ
00000071: PUSH2 0x016e
00000074: JUMPI
00000075: DUP1
00000076: PUSH4 0xbea1dcf8
0000007b: EQ
0000007c: PUSH2 0x018c
0000007f: JUMPI
00000080: DUP1
00000081: PUSH4 0xc19d93fb
00000086: EQ
00000087: PUSH2 0x01b8
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0xc74073a1
00000091: EQ
00000092: PUSH2 0x01ec
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xc9894b5c
0000009c: EQ
0000009d: PUSH2 0x020a
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xf2fde38b
000000a7: EQ
000000a8: PUSH2 0x022c
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xf340fa01
000000b2: EQ
000000b3: PUSH2 0x024a
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xfa89401a
000000bd: EQ
000000be: PUSH2 0x0260
000000c1: JUMPI
000000c2: JUMPDEST
000000c3: INVALID
000000c4: JUMPDEST
000000c5: CALLVALUE
000000c6: ISZERO
000000c7: PUSH2 0x00cc
000000ca: JUMPI
000000cb: INVALID
000000cc: JUMPDEST
000000cd: PUSH2 0x00d4
000000d0: PUSH2 0x027e
000000d3: JUMP
000000d4: JUMPDEST
000000d5: PUSH1 0x40
000000d7: DUP1
000000d8: MLOAD
000000d9: PUSH1 0xff
000000db: SWAP1
000000dc: SWAP3
000000dd: AND
000000de: DUP3
000000df: MSTORE
000000e0: MLOAD
000000e1: SWAP1
000000e2: DUP2
000000e3: SWAP1
000000e4: SUB
000000e5: PUSH1 0x20
000000e7: ADD
000000e8: SWAP1
000000e9: RETURN
000000ea: JUMPDEST
000000eb: CALLVALUE
000000ec: ISZERO
000000ed: PUSH2 0x00f2
000000f0: JUMPI
000000f1: INVALID
000000f2: JUMPDEST
000000f3: PUSH2 0x00fa
000000f6: PUSH2 0x028e
000000f9: JUMP
000000fa: JUMPDEST
000000fb: STOP
000000fc: JUMPDEST
000000fd: CALLVALUE
000000fe: ISZERO
000000ff: PUSH2 0x0104
00000102: JUMPI
00000103: INVALID
00000104: JUMPDEST
00000105: PUSH2 0x011e
00000108: PUSH1 0xff
0000010a: PUSH1 0x04
0000010c: CALLDATALOAD
0000010d: AND
0000010e: PUSH1 0x01
00000110: PUSH1 0xa0
00000112: PUSH1 0x02
00000114: EXP
00000115: SUB
00000116: PUSH1 0x24
00000118: CALLDATALOAD
00000119: AND
0000011a: PUSH2 0x0317
0000011d: JUMP
0000011e: JUMPDEST
0000011f: PUSH1 0x40
00000121: DUP1
00000122: MLOAD
00000123: SWAP2
00000124: DUP3
00000125: MSTORE
00000126: MLOAD
00000127: SWAP1
00000128: DUP2
00000129: SWAP1
0000012a: SUB
0000012b: PUSH1 0x20
0000012d: ADD
0000012e: SWAP1
0000012f: RETURN
00000130: JUMPDEST
00000131: CALLVALUE
00000132: ISZERO
00000133: PUSH2 0x0138
00000136: JUMPI
00000137: INVALID
00000138: JUMPDEST
00000139: PUSH2 0x00fa
0000013c: PUSH2 0x0334
0000013f: JUMP
00000140: JUMPDEST
00000141: STOP
00000142: JUMPDEST
00000143: CALLVALUE
00000144: ISZERO
00000145: PUSH2 0x014a
00000148: JUMPI
00000149: INVALID
0000014a: JUMPDEST
0000014b: PUSH2 0x0152
0000014e: PUSH2 0x03b0
00000151: JUMP
00000152: JUMPDEST
00000153: PUSH1 0x40
00000155: DUP1
00000156: MLOAD
00000157: PUSH1 0x01
00000159: PUSH1 0xa0
0000015b: PUSH1 0x02
0000015d: EXP
0000015e: SUB
0000015f: SWAP1
00000160: SWAP3
00000161: AND
00000162: DUP3
00000163: MSTORE
00000164: MLOAD
00000165: SWAP1
00000166: DUP2
00000167: SWAP1
00000168: SUB
00000169: PUSH1 0x20
0000016b: ADD
0000016c: SWAP1
0000016d: RETURN
0000016e: JUMPDEST
0000016f: CALLVALUE
00000170: ISZERO
00000171: PUSH2 0x0176
00000174: JUMPI
00000175: INVALID
00000176: JUMPDEST
00000177: PUSH2 0x00fa
0000017a: PUSH1 0x01
0000017c: PUSH1 0xa0
0000017e: PUSH1 0x02
00000180: EXP
00000181: SUB
00000182: PUSH1 0x04
00000184: CALLDATALOAD
00000185: AND
00000186: PUSH2 0x03bf
00000189: JUMP
0000018a: JUMPDEST
0000018b: STOP
0000018c: JUMPDEST
0000018d: CALLVALUE
0000018e: ISZERO
0000018f: PUSH2 0x0194
00000192: JUMPI
00000193: INVALID
00000194: JUMPDEST
00000195: PUSH2 0x0152
00000198: PUSH2 0x03eb
0000019b: JUMP
0000019c: JUMPDEST
0000019d: PUSH1 0x40
0000019f: DUP1
000001a0: MLOAD
000001a1: PUSH1 0x01
000001a3: PUSH1 0xa0
000001a5: PUSH1 0x02
000001a7: EXP
000001a8: SUB
000001a9: SWAP1
000001aa: SWAP3
000001ab: AND
000001ac: DUP3
000001ad: MSTORE
000001ae: MLOAD
000001af: SWAP1
000001b0: DUP2
000001b1: SWAP1
000001b2: SUB
000001b3: PUSH1 0x20
000001b5: ADD
000001b6: SWAP1
000001b7: RETURN
000001b8: JUMPDEST
000001b9: CALLVALUE
000001ba: ISZERO
000001bb: PUSH2 0x01c0
000001be: JUMPI
000001bf: INVALID
000001c0: JUMPDEST
000001c1: PUSH2 0x01c8
000001c4: PUSH2 0x03ff
000001c7: JUMP
000001c8: JUMPDEST
000001c9: PUSH1 0x40
000001cb: MLOAD
000001cc: DUP1
000001cd: DUP3
000001ce: PUSH1 0x02
000001d0: DUP2
000001d1: GT
000001d2: ISZERO
000001d3: PUSH2 0x01d8
000001d6: JUMPI
000001d7: INVALID
000001d8: JUMPDEST
000001d9: PUSH1 0xff
000001db: AND
000001dc: DUP2
000001dd: MSTORE
000001de: PUSH1 0x20
000001e0: ADD
000001e1: SWAP2
000001e2: POP
000001e3: POP
000001e4: PUSH1 0x40
000001e6: MLOAD
000001e7: DUP1
000001e8: SWAP2
000001e9: SUB
000001ea: SWAP1
000001eb: RETURN
000001ec: JUMPDEST
000001ed: CALLVALUE
000001ee: ISZERO
000001ef: PUSH2 0x01f4
000001f2: JUMPI
000001f3: INVALID
000001f4: JUMPDEST
000001f5: PUSH2 0x00fa
000001f8: PUSH1 0x01
000001fa: PUSH1 0xa0
000001fc: PUSH1 0x02
000001fe: EXP
000001ff: SUB
00000200: PUSH1 0x04
00000202: CALLDATALOAD
00000203: AND
00000204: PUSH2 0x0408
00000207: JUMP
00000208: JUMPDEST
00000209: STOP
0000020a: JUMPDEST
0000020b: CALLVALUE
0000020c: ISZERO
0000020d: PUSH2 0x0212
00000210: JUMPI
00000211: INVALID
00000212: JUMPDEST
00000213: PUSH2 0x011e
00000216: PUSH2 0x0567
00000219: JUMP
0000021a: JUMPDEST
0000021b: PUSH1 0x40
0000021d: DUP1
0000021e: MLOAD
0000021f: SWAP2
00000220: DUP3
00000221: MSTORE
00000222: MLOAD
00000223: SWAP1
00000224: DUP2
00000225: SWAP1
00000226: SUB
00000227: PUSH1 0x20
00000229: ADD
0000022a: SWAP1
0000022b: RETURN
0000022c: JUMPDEST
0000022d: CALLVALUE
0000022e: ISZERO
0000022f: PUSH2 0x0234
00000232: JUMPI
00000233: INVALID
00000234: JUMPDEST
00000235: PUSH2 0x00fa
00000238: PUSH1 0x01
0000023a: PUSH1 0xa0
0000023c: PUSH1 0x02
0000023e: EXP
0000023f: SUB
00000240: PUSH1 0x04
00000242: CALLDATALOAD
00000243: AND
00000244: PUSH2 0x056d
00000247: JUMP
00000248: JUMPDEST
00000249: STOP
0000024a: JUMPDEST
0000024b: PUSH2 0x00fa
0000024e: PUSH1 0x01
00000250: PUSH1 0xa0
00000252: PUSH1 0x02
00000254: EXP
00000255: SUB
00000256: PUSH1 0x04
00000258: CALLDATALOAD
00000259: AND
0000025a: PUSH2 0x05cc
0000025d: JUMP
0000025e: JUMPDEST
0000025f: STOP
00000260: JUMPDEST
00000261: CALLVALUE
00000262: ISZERO
00000263: PUSH2 0x0268
00000266: JUMPI
00000267: INVALID
00000268: JUMPDEST
00000269: PUSH2 0x00fa
0000026c: PUSH1 0x01
0000026e: PUSH1 0xa0
00000270: PUSH1 0x02
00000272: EXP
00000273: SUB
00000274: PUSH1 0x04
00000276: CALLDATALOAD
00000277: AND
00000278: PUSH2 0x0672
0000027b: JUMP
0000027c: JUMPDEST
0000027d: STOP
0000027e: JUMPDEST
0000027f: PUSH1 0x00
00000281: SLOAD
00000282: PUSH1 0xa0
00000284: PUSH1 0x02
00000286: EXP
00000287: SWAP1
00000288: DIV
00000289: PUSH1 0xff
0000028b: AND
0000028c: DUP2
0000028d: JUMP
0000028e: JUMPDEST
0000028f: PUSH1 0x00
00000291: SLOAD
00000292: CALLER
00000293: PUSH1 0x01
00000295: PUSH1 0xa0
00000297: PUSH1 0x02
00000299: EXP
0000029a: SUB
0000029b: SWAP1
0000029c: DUP2
0000029d: AND
0000029e: SWAP2
0000029f: AND
000002a0: EQ
000002a1: PUSH2 0x02aa
000002a4: JUMPI
000002a5: PUSH1 0x00
000002a7: PUSH1 0x00
000002a9: REVERT
000002aa: JUMPDEST
000002ab: PUSH1 0x02
000002ad: JUMPDEST
000002ae: PUSH1 0x02
000002b0: DUP1
000002b1: SLOAD
000002b2: PUSH1 0xff
000002b4: AND
000002b5: SWAP1
000002b6: DUP2
000002b7: GT
000002b8: ISZERO
000002b9: PUSH2 0x02be
000002bc: JUMPI
000002bd: INVALID
000002be: JUMPDEST
000002bf: EQ
000002c0: PUSH2 0x02c9
000002c3: JUMPI
000002c4: PUSH1 0x00
000002c6: PUSH1 0x00
000002c8: REVERT
000002c9: JUMPDEST
000002ca: PUSH1 0x00
000002cc: DUP1
000002cd: SLOAD
000002ce: PUSH21 0xff0000000000000000000000000000000000000000
000002e4: NOT
000002e5: DUP2
000002e6: AND
000002e7: PUSH1 0x01
000002e9: PUSH1 0xa0
000002eb: PUSH1 0x02
000002ed: EXP
000002ee: SWAP3
000002ef: DUP4
000002f0: SWAP1
000002f1: DIV
000002f2: PUSH1 0xff
000002f4: SWAP1
000002f5: DUP2
000002f6: AND
000002f7: DUP3
000002f8: ADD
000002f9: AND
000002fa: SWAP1
000002fb: SWAP3
000002fc: MUL
000002fd: OR
000002fe: DUP3
000002ff: SSTORE
00000300: PUSH1 0x02
00000302: DUP1
00000303: SLOAD
00000304: SWAP1
00000305: SWAP2
00000306: PUSH1 0xff
00000308: NOT
00000309: SWAP1
0000030a: SWAP2
0000030b: AND
0000030c: SWAP1
0000030d: DUP4
0000030e: JUMPDEST
0000030f: MUL
00000310: OR
00000311: SWAP1
00000312: SSTORE
00000313: POP
00000314: JUMPDEST
00000315: JUMPDEST
00000316: JUMP
00000317: JUMPDEST
00000318: PUSH1 0x01
0000031a: PUSH1 0x20
0000031c: SWAP1
0000031d: DUP2
0000031e: MSTORE
0000031f: PUSH1 0x00
00000321: SWAP3
00000322: DUP4
00000323: MSTORE
00000324: PUSH1 0x40
00000326: DUP1
00000327: DUP5
00000328: KECCAK256
00000329: SWAP1
0000032a: SWAP2
0000032b: MSTORE
0000032c: SWAP1
0000032d: DUP3
0000032e: MSTORE
0000032f: SWAP1
00000330: KECCAK256
00000331: SLOAD
00000332: DUP2
00000333: JUMP
00000334: JUMPDEST
00000335: PUSH1 0x00
00000337: SLOAD
00000338: CALLER
00000339: PUSH1 0x01
0000033b: PUSH1 0xa0
0000033d: PUSH1 0x02
0000033f: EXP
00000340: SUB
00000341: SWAP1
00000342: DUP2
00000343: AND
00000344: SWAP2
00000345: AND
00000346: EQ
00000347: PUSH2 0x0350
0000034a: JUMPI
0000034b: PUSH1 0x00
0000034d: PUSH1 0x00
0000034f: REVERT
00000350: JUMPDEST
00000351: PUSH1 0x00
00000353: JUMPDEST
00000354: PUSH1 0x02
00000356: DUP1
00000357: SLOAD
00000358: PUSH1 0xff
0000035a: AND
0000035b: SWAP1
0000035c: DUP2
0000035d: GT
0000035e: ISZERO
0000035f: PUSH2 0x0364
00000362: JUMPI
00000363: INVALID
00000364: JUMPDEST
00000365: EQ
00000366: PUSH2 0x036f
00000369: JUMPI
0000036a: PUSH1 0x00
0000036c: PUSH1 0x00
0000036e: REVERT
0000036f: JUMPDEST
00000370: PUSH1 0x02
00000372: DUP1
00000373: SLOAD
00000374: PUSH1 0x01
00000376: SWAP2
00000377: SWAP1
00000378: PUSH1 0xff
0000037a: NOT
0000037b: AND
0000037c: DUP3
0000037d: DUP1
0000037e: JUMPDEST
0000037f: MUL
00000380: OR
00000381: SWAP1
00000382: SSTORE
00000383: POP
00000384: PUSH1 0x40
00000386: MLOAD
00000387: PUSH32 0x599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b89
000003a8: SWAP1
000003a9: PUSH1 0x00
000003ab: SWAP1
000003ac: LOG1
000003ad: JUMPDEST
000003ae: JUMPDEST
000003af: JUMP
000003b0: JUMPDEST
000003b1: PUSH1 0x00
000003b3: SLOAD
000003b4: PUSH1 0x01
000003b6: PUSH1 0xa0
000003b8: PUSH1 0x02
000003ba: EXP
000003bb: SUB
000003bc: AND
000003bd: DUP2
000003be: JUMP
000003bf: JUMPDEST
000003c0: PUSH1 0x00
000003c2: SLOAD
000003c3: CALLER
000003c4: PUSH1 0x01
000003c6: PUSH1 0xa0
000003c8: PUSH1 0x02
000003ca: EXP
000003cb: SUB
000003cc: SWAP1
000003cd: DUP2
000003ce: AND
000003cf: SWAP2
000003d0: AND
000003d1: EQ
000003d2: PUSH2 0x03db
000003d5: JUMPI
000003d6: PUSH1 0x00
000003d8: PUSH1 0x00
000003da: REVERT
000003db: JUMPDEST
000003dc: DUP1
000003dd: PUSH1 0x01
000003df: PUSH1 0xa0
000003e1: PUSH1 0x02
000003e3: EXP
000003e4: SUB
000003e5: AND
000003e6: SELFDESTRUCT
000003e7: JUMPDEST
000003e8: JUMPDEST
000003e9: POP
000003ea: JUMP
000003eb: JUMPDEST
000003ec: PUSH1 0x02
000003ee: SLOAD
000003ef: PUSH2 0x0100
000003f2: SWAP1
000003f3: DIV
000003f4: PUSH1 0x01
000003f6: PUSH1 0xa0
000003f8: PUSH1 0x02
000003fa: EXP
000003fb: SUB
000003fc: AND
000003fd: DUP2
000003fe: JUMP
000003ff: JUMPDEST
00000400: PUSH1 0x02
00000402: SLOAD
00000403: PUSH1 0xff
00000405: AND
00000406: DUP2
00000407: JUMP
00000408: JUMPDEST
00000409: PUSH1 0x00
0000040b: DUP1
0000040c: SLOAD
0000040d: DUP2
0000040e: SWAP1
0000040f: DUP2
00000410: SWAP1
00000411: CALLER
00000412: PUSH1 0x01
00000414: PUSH1 0xa0
00000416: PUSH1 0x02
00000418: EXP
00000419: SUB
0000041a: SWAP1
0000041b: DUP2
0000041c: AND
0000041d: SWAP2
0000041e: AND
0000041f: EQ
00000420: PUSH2 0x0429
00000423: JUMPI
00000424: PUSH1 0x00
00000426: PUSH1 0x00
00000428: REVERT
00000429: JUMPDEST
0000042a: PUSH1 0x00
0000042c: JUMPDEST
0000042d: PUSH1 0x02
0000042f: DUP1
00000430: SLOAD
00000431: PUSH1 0xff
00000433: AND
00000434: SWAP1
00000435: DUP2
00000436: GT
00000437: ISZERO
00000438: PUSH2 0x043d
0000043b: JUMPI
0000043c: INVALID
0000043d: JUMPDEST
0000043e: EQ
0000043f: PUSH2 0x0448
00000442: JUMPI
00000443: PUSH1 0x00
00000445: PUSH1 0x00
00000447: REVERT
00000448: JUMPDEST
00000449: PUSH1 0x01
0000044b: PUSH1 0xa0
0000044d: PUSH1 0x02
0000044f: EXP
00000450: SUB
00000451: DUP5
00000452: AND
00000453: ISZERO
00000454: ISZERO
00000455: PUSH2 0x045e
00000458: JUMPI
00000459: PUSH1 0x00
0000045b: PUSH1 0x00
0000045d: REVERT
0000045e: JUMPDEST
0000045f: PUSH1 0x02
00000461: DUP1
00000462: SLOAD
00000463: DUP2
00000464: SWAP1
00000465: PUSH1 0xff
00000467: NOT
00000468: AND
00000469: PUSH1 0x01
0000046b: DUP3
0000046c: JUMPDEST
0000046d: MUL
0000046e: OR
0000046f: SWAP1
00000470: SSTORE
00000471: POP
00000472: PUSH1 0x40
00000474: MLOAD
00000475: PUSH32 0x1cdde67b72a90f19919ac732a437ac2f7a10fc128d28c2a6e525d89ce5cd9d3a
00000496: SWAP1
00000497: PUSH1 0x00
00000499: SWAP1
0000049a: LOG1
0000049b: PUSH1 0x03
0000049d: SLOAD
0000049e: PUSH1 0x01
000004a0: PUSH1 0xa0
000004a2: PUSH1 0x02
000004a4: EXP
000004a5: SUB
000004a6: ADDRESS
000004a7: AND
000004a8: BALANCE
000004a9: SWAP4
000004aa: POP
000004ab: DUP4
000004ac: SWAP1
000004ad: GT
000004ae: PUSH2 0x04d2
000004b1: JUMPI
000004b2: PUSH1 0x03
000004b4: SLOAD
000004b5: SWAP2
000004b6: POP
000004b7: PUSH2 0x04c6
000004ba: DUP4
000004bb: DUP4
000004bc: PUSH4 0xffffffff
000004c1: PUSH2 0x072d
000004c4: AND
000004c5: JUMP
000004c6: JUMPDEST
000004c7: PUSH1 0x00
000004c9: PUSH1 0x03
000004cb: SSTORE
000004cc: SWAP1
000004cd: POP
000004ce: PUSH2 0x04ef
000004d1: JUMP
000004d2: JUMPDEST
000004d3: PUSH1 0x03
000004d5: SLOAD
000004d6: PUSH2 0x04e5
000004d9: SWAP1
000004da: DUP5
000004db: PUSH4 0xffffffff
000004e0: PUSH2 0x072d
000004e3: AND
000004e4: JUMP
000004e5: JUMPDEST
000004e6: PUSH1 0x03
000004e8: SSTORE
000004e9: POP
000004ea: DUP2
000004eb: SWAP1
000004ec: POP
000004ed: PUSH1 0x00
000004ef: JUMPDEST
000004f0: DUP2
000004f1: ISZERO
000004f2: PUSH2 0x052a
000004f5: JUMPI
000004f6: PUSH1 0x02
000004f8: SLOAD
000004f9: PUSH1 0x40
000004fb: MLOAD
000004fc: PUSH2 0x0100
000004ff: SWAP1
00000500: SWAP2
00000501: DIV
00000502: PUSH1 0x01
00000504: PUSH1 0xa0
00000506: PUSH1 0x02
00000508: EXP
00000509: SUB
0000050a: AND
0000050b: SWAP1
0000050c: PUSH2 0x08fc
0000050f: DUP5
00000510: ISZERO
00000511: MUL
00000512: SWAP1
00000513: DUP5
00000514: SWAP1
00000515: PUSH1 0x00
00000517: DUP2
00000518: DUP2
00000519: DUP2
0000051a: DUP6
0000051b: DUP9
0000051c: DUP9
0000051d: CALL
0000051e: SWAP4
0000051f: POP
00000520: POP
00000521: POP
00000522: POP
00000523: ISZERO
00000524: ISZERO
00000525: PUSH2 0x052a
00000528: JUMPI
00000529: INVALID
0000052a: JUMPDEST
0000052b: JUMPDEST
0000052c: DUP1
0000052d: ISZERO
0000052e: PUSH2 0x055e
00000531: JUMPI
00000532: PUSH1 0x40
00000534: MLOAD
00000535: PUSH1 0x01
00000537: PUSH1 0xa0
00000539: PUSH1 0x02
0000053b: EXP
0000053c: SUB
0000053d: DUP6
0000053e: AND
0000053f: SWAP1
00000540: DUP3
00000541: ISZERO
00000542: PUSH2 0x08fc
00000545: MUL
00000546: SWAP1
00000547: DUP4
00000548: SWAP1
00000549: PUSH1 0x00
0000054b: DUP2
0000054c: DUP2
0000054d: DUP2
0000054e: DUP6
0000054f: DUP9
00000550: DUP9
00000551: CALL
00000552: SWAP4
00000553: POP
00000554: POP
00000555: POP
00000556: POP
00000557: ISZERO
00000558: ISZERO
00000559: PUSH2 0x055e
0000055c: JUMPI
0000055d: INVALID
0000055e: JUMPDEST
0000055f: JUMPDEST
00000560: JUMPDEST
00000561: JUMPDEST
00000562: POP
00000563: POP
00000564: POP
00000565: POP
00000566: JUMP
00000567: JUMPDEST
00000568: PUSH1 0x03
0000056a: SLOAD
0000056b: DUP2
0000056c: JUMP
0000056d: JUMPDEST
0000056e: PUSH1 0x00
00000570: SLOAD
00000571: CALLER
00000572: PUSH1 0x01
00000574: PUSH1 0xa0
00000576: PUSH1 0x02
00000578: EXP
00000579: SUB
0000057a: SWAP1
0000057b: DUP2
0000057c: AND
0000057d: SWAP2
0000057e: AND
0000057f: EQ
00000580: PUSH2 0x0589
00000583: JUMPI
00000584: PUSH1 0x00
00000586: PUSH1 0x00
00000588: REVERT
00000589: JUMPDEST
0000058a: PUSH1 0x01
0000058c: PUSH1 0xa0
0000058e: PUSH1 0x02
00000590: EXP
00000591: SUB
00000592: DUP2
00000593: AND
00000594: ISZERO
00000595: ISZERO
00000596: PUSH2 0x059f
00000599: JUMPI
0000059a: PUSH1 0x00
0000059c: PUSH1 0x00
0000059e: REVERT
0000059f: JUMPDEST
000005a0: PUSH1 0x00
000005a2: DUP1
000005a3: SLOAD
000005a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005b9: NOT
000005ba: AND
000005bb: PUSH1 0x01
000005bd: PUSH1 0xa0
000005bf: PUSH1 0x02
000005c1: EXP
000005c2: SUB
000005c3: DUP4
000005c4: AND
000005c5: OR
000005c6: SWAP1
000005c7: SSTORE
000005c8: JUMPDEST
000005c9: JUMPDEST
000005ca: POP
000005cb: JUMP
000005cc: JUMPDEST
000005cd: PUSH1 0x00
000005cf: SLOAD
000005d0: CALLER
000005d1: PUSH1 0x01
000005d3: PUSH1 0xa0
000005d5: PUSH1 0x02
000005d7: EXP
000005d8: SUB
000005d9: SWAP1
000005da: DUP2
000005db: AND
000005dc: SWAP2
000005dd: AND
000005de: EQ
000005df: PUSH2 0x05e8
000005e2: JUMPI
000005e3: PUSH1 0x00
000005e5: PUSH1 0x00
000005e7: REVERT
000005e8: JUMPDEST
000005e9: PUSH1 0x00
000005eb: JUMPDEST
000005ec: PUSH1 0x02
000005ee: DUP1
000005ef: SLOAD
000005f0: PUSH1 0xff
000005f2: AND
000005f3: SWAP1
000005f4: DUP2
000005f5: GT
000005f6: ISZERO
000005f7: PUSH2 0x05fc
000005fa: JUMPI
000005fb: INVALID
000005fc: JUMPDEST
000005fd: EQ
000005fe: PUSH2 0x0607
00000601: JUMPI
00000602: PUSH1 0x00
00000604: PUSH1 0x00
00000606: REVERT
00000607: JUMPDEST
00000608: PUSH1 0x00
0000060a: DUP1
0000060b: SLOAD
0000060c: PUSH1 0xa0
0000060e: PUSH1 0x02
00000610: EXP
00000611: SWAP1
00000612: DIV
00000613: PUSH1 0xff
00000615: AND
00000616: DUP2
00000617: MSTORE
00000618: PUSH1 0x01
0000061a: PUSH1 0x20
0000061c: SWAP1
0000061d: DUP2
0000061e: MSTORE
0000061f: PUSH1 0x40
00000621: DUP1
00000622: DUP4
00000623: KECCAK256
00000624: PUSH1 0x01
00000626: PUSH1 0xa0
00000628: PUSH1 0x02
0000062a: EXP
0000062b: SUB
0000062c: DUP6
0000062d: AND
0000062e: DUP5
0000062f: MSTORE
00000630: SWAP1
00000631: SWAP2
00000632: MSTORE
00000633: SWAP1
00000634: KECCAK256
00000635: SLOAD
00000636: PUSH2 0x063f
00000639: SWAP1
0000063a: CALLVALUE
0000063b: PUSH2 0x0744
0000063e: JUMP
0000063f: JUMPDEST
00000640: PUSH1 0x00
00000642: DUP1
00000643: SLOAD
00000644: PUSH1 0xa0
00000646: PUSH1 0x02
00000648: EXP
00000649: SWAP1
0000064a: DIV
0000064b: PUSH1 0xff
0000064d: AND
0000064e: DUP2
0000064f: MSTORE
00000650: PUSH1 0x01
00000652: PUSH1 0x20
00000654: SWAP1
00000655: DUP2
00000656: MSTORE
00000657: PUSH1 0x40
00000659: DUP1
0000065a: DUP4
0000065b: KECCAK256
0000065c: PUSH1 0x01
0000065e: PUSH1 0xa0
00000660: PUSH1 0x02
00000662: EXP
00000663: SUB
00000664: DUP7
00000665: AND
00000666: DUP5
00000667: MSTORE
00000668: SWAP1
00000669: SWAP2
0000066a: MSTORE
0000066b: SWAP1
0000066c: KECCAK256
0000066d: SSTORE
0000066e: JUMPDEST
0000066f: JUMPDEST
00000670: POP
00000671: JUMP
00000672: JUMPDEST
00000673: PUSH1 0x00
00000675: PUSH1 0x01
00000677: JUMPDEST
00000678: PUSH1 0x02
0000067a: DUP1
0000067b: SLOAD
0000067c: PUSH1 0xff
0000067e: AND
0000067f: SWAP1
00000680: DUP2
00000681: GT
00000682: ISZERO
00000683: PUSH2 0x0688
00000686: JUMPI
00000687: INVALID
00000688: JUMPDEST
00000689: EQ
0000068a: PUSH2 0x0693
0000068d: JUMPI
0000068e: PUSH1 0x00
00000690: PUSH1 0x00
00000692: REVERT
00000693: JUMPDEST
00000694: POP
00000695: PUSH1 0x00
00000697: DUP1
00000698: SLOAD
00000699: PUSH1 0xa0
0000069b: PUSH1 0x02
0000069d: EXP
0000069e: SWAP1
0000069f: DIV
000006a0: PUSH1 0xff
000006a2: AND
000006a3: DUP2
000006a4: MSTORE
000006a5: PUSH1 0x01
000006a7: PUSH1 0x20
000006a9: SWAP1
000006aa: DUP2
000006ab: MSTORE
000006ac: PUSH1 0x40
000006ae: DUP1
000006af: DUP4
000006b0: KECCAK256
000006b1: PUSH1 0x01
000006b3: PUSH1 0xa0
000006b5: PUSH1 0x02
000006b7: EXP
000006b8: SUB
000006b9: DUP6
000006ba: AND
000006bb: DUP1
000006bc: DUP6
000006bd: MSTORE
000006be: SWAP3
000006bf: MSTORE
000006c0: DUP1
000006c1: DUP4
000006c2: KECCAK256
000006c3: DUP1
000006c4: SLOAD
000006c5: SWAP1
000006c6: DUP5
000006c7: SWAP1
000006c8: SSTORE
000006c9: SWAP1
000006ca: MLOAD
000006cb: SWAP1
000006cc: SWAP3
000006cd: PUSH2 0x08fc
000006d0: DUP5
000006d1: ISZERO
000006d2: MUL
000006d3: SWAP2
000006d4: DUP5
000006d5: SWAP2
000006d6: DUP2
000006d7: DUP2
000006d8: DUP2
000006d9: DUP6
000006da: DUP9
000006db: DUP9
000006dc: CALL
000006dd: SWAP4
000006de: POP
000006df: POP
000006e0: POP
000006e1: POP
000006e2: ISZERO
000006e3: ISZERO
000006e4: PUSH2 0x06e9
000006e7: JUMPI
000006e8: INVALID
000006e9: JUMPDEST
000006ea: PUSH1 0x40
000006ec: DUP1
000006ed: MLOAD
000006ee: DUP3
000006ef: DUP2
000006f0: MSTORE
000006f1: SWAP1
000006f2: MLOAD
000006f3: PUSH1 0x01
000006f5: PUSH1 0xa0
000006f7: PUSH1 0x02
000006f9: EXP
000006fa: SUB
000006fb: DUP5
000006fc: AND
000006fd: SWAP2
000006fe: PUSH32 0xd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651
0000071f: SWAP2
00000720: SWAP1
00000721: DUP2
00000722: SWAP1
00000723: SUB
00000724: PUSH1 0x20
00000726: ADD
00000727: SWAP1
00000728: LOG2
00000729: JUMPDEST
0000072a: POP
0000072b: POP
0000072c: JUMP
0000072d: JUMPDEST
0000072e: PUSH1 0x00
00000730: DUP3
00000731: DUP3
00000732: GT
00000733: ISZERO
00000734: PUSH2 0x0739
00000737: JUMPI
00000738: INVALID
00000739: JUMPDEST
0000073a: POP
0000073b: DUP1
0000073c: DUP3
0000073d: SUB
0000073e: JUMPDEST
0000073f: SWAP3
00000740: SWAP2
00000741: POP
00000742: POP
00000743: JUMP
00000744: JUMPDEST
00000745: PUSH1 0x00
00000747: DUP3
00000748: DUP3
00000749: ADD
0000074a: DUP4
0000074b: DUP2
0000074c: LT
0000074d: ISZERO
0000074e: PUSH2 0x0753
00000751: JUMPI
00000752: INVALID
00000753: JUMPDEST
00000754: DUP1
00000755: SWAP2
00000756: POP
00000757: JUMPDEST
00000758: POP
00000759: SWAP3
0000075a: SWAP2
0000075b: POP
0000075c: POP
0000075d: JUMP
0000075e: STOP
0000075f: LOG1
00000760: PUSH6 0x627a7a723058
00000767: KECCAK256
00000768: UNKNOWN(0x4D)
00000769: PUSH31 0x02a1ab4f91dac7fcb2fd0d6404e6f18069c0c292e2791095ec64de50ed9100
00000789: UNKNOWN(0x29)
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: 0xb2fcc7120ca92f2158117288181968bfc7c0c6e98568db739039219af2032a93
call_targets: 0xfc8a3228844577d0b70845341c8a9c66cb8858be
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xb2fcc7120ca92f2158117288181968bfc7c0c6e98568db739039219af2032a93",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xfc8a3228844577d0b70845341c8a9c66cb8858be"
    ],
    "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": "0x146ca531",
            "selector": "0x146ca531",
            "calldata_variants": [
                "0x146ca531",
                "0x146ca5310000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1ef3755d",
            "selector": "0x1ef3755d",
            "calldata_variants": [
                "0x1ef3755d",
                "0x1ef3755d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x47fa061e",
            "selector": "0x47fa061e",
            "calldata_variants": [
                "0x47fa061e",
                "0x47fa061e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c52dc41",
            "selector": "0x8c52dc41",
            "calldata_variants": [
                "0x8c52dc41",
                "0x8c52dc410000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb9caebf4",
            "selector": "0xb9caebf4",
            "calldata_variants": [
                "0xb9caebf4",
                "0xb9caebf40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbea1dcf8",
            "selector": "0xbea1dcf8",
            "calldata_variants": [
                "0xbea1dcf8",
                "0xbea1dcf80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc19d93fb",
            "selector": "0xc19d93fb",
            "calldata_variants": [
                "0xc19d93fb",
                "0xc19d93fb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1309,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1361,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1756,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [],
    "untrusted_call_count": 3
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xb2fcc7120ca92f2158117288181968bfc7c0c6e98568db739039219af2032a93
call_targets: 0xfc8a3228844577d0b70845341c8a9c66cb8858be
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xb2fcc7120ca92f2158117288181968bfc7c0c6e98568db739039219af2032a93",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xfc8a3228844577d0b70845341c8a9c66cb8858be"
    ],
    "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": "0x146ca531",
            "selector": "0x146ca531",
            "calldata_variants": [
                "0x146ca531",
                "0x146ca5310000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1ef3755d",
            "selector": "0x1ef3755d",
            "calldata_variants": [
                "0x1ef3755d",
                "0x1ef3755d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x47fa061e",
            "selector": "0x47fa061e",
            "calldata_variants": [
                "0x47fa061e",
                "0x47fa061e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c52dc41",
            "selector": "0x8c52dc41",
            "calldata_variants": [
                "0x8c52dc41",
                "0x8c52dc410000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb9caebf4",
            "selector": "0xb9caebf4",
            "calldata_variants": [
                "0xb9caebf4",
                "0xb9caebf40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbea1dcf8",
            "selector": "0xbea1dcf8",
            "calldata_variants": [
                "0xbea1dcf8",
                "0xbea1dcf80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc19d93fb",
            "selector": "0xc19d93fb",
            "calldata_variants": [
                "0xc19d93fb",
                "0xc19d93fb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1309,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1361,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1756,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": []
}
high other detector SELFDESTRUCT reachable 65 no no
view
trace_id: 0x68df66c0f4576a0fa4ebffbf9853cc1f0e12341b6d422a1383f6aeea943d11c8
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 26,
    "trace_id": "0x68df66c0f4576a0fa4ebffbf9853cc1f0e12341b6d422a1383f6aeea943d11c8",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x146ca531",
            "selector": "0x146ca531",
            "calldata_variants": [
                "0x146ca531",
                "0x146ca5310000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1ef3755d",
            "selector": "0x1ef3755d",
            "calldata_variants": [
                "0x1ef3755d",
                "0x1ef3755d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x47fa061e",
            "selector": "0x47fa061e",
            "calldata_variants": [
                "0x47fa061e",
                "0x47fa061e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c52dc41",
            "selector": "0x8c52dc41",
            "calldata_variants": [
                "0x8c52dc41",
                "0x8c52dc410000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb9caebf4",
            "selector": "0xb9caebf4",
            "calldata_variants": [
                "0xb9caebf4",
                "0xb9caebf40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbea1dcf8",
            "selector": "0xbea1dcf8",
            "calldata_variants": [
                "0xbea1dcf8",
                "0xbea1dcf80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc19d93fb",
            "selector": "0xc19d93fb",
            "calldata_variants": [
                "0xc19d93fb",
                "0xc19d93fb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [],
    "selfdestruct_count": 1
}