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

Analysis Run

019b3836-5b3a-715b-9ec8-8f7d2d70a488

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:04 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
2
Validated
2
Source
Bytecode only
Review Backing
Not yet
Best current signal
Untrusted CALL target/value reachable
crit 0 high 2 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
9019 artifact.fetch complete 1 / 3 3 months ago
9020 tool.cast_disasm complete 1 / 3 3 months ago
52356 analysis.bundle complete 1 / 3 1 week ago
52357 capability.graph complete 1 / 3 1 week ago
52358 detector.run complete 1 / 3 1 week ago
52359 validation.fork complete 1 / 3 1 week ago
113404 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-q278mkqo
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5c92-e1ac-70d1-be1e-376705cbc9d6
--------
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:37:04.911670+00:00",
        "returncode": 1
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 7712,
        "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
1
Total opcodes
2216
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x00e2
0000000a: JUMPI
0000000b: PUSH1 0x00
0000000d: CALLDATALOAD
0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002c: SWAP1
0000002d: DIV
0000002e: DUP1
0000002f: PUSH4 0x06fdde03
00000034: EQ
00000035: PUSH2 0x00eb
00000038: JUMPI
00000039: DUP1
0000003a: PUSH4 0x095ea7b3
0000003f: EQ
00000040: PUSH2 0x0166
00000043: JUMPI
00000044: DUP1
00000045: PUSH4 0x18160ddd
0000004a: EQ
0000004b: PUSH2 0x019d
0000004e: JUMPI
0000004f: DUP1
00000050: PUSH4 0x23b872dd
00000055: EQ
00000056: PUSH2 0x01c0
00000059: JUMPI
0000005a: DUP1
0000005b: PUSH4 0x313ce567
00000060: EQ
00000061: PUSH2 0x0200
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0x5a3b7e42
0000006b: EQ
0000006c: PUSH2 0x0226
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x70a08231
00000076: EQ
00000077: PUSH2 0x02a1
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x73688914
00000081: EQ
00000082: PUSH2 0x02cd
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x785af1fa
0000008c: EQ
0000008d: PUSH2 0x0306
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0x836a1e23
00000097: EQ
00000098: PUSH2 0x0327
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0x8da5cb5b
000000a2: EQ
000000a3: PUSH2 0x0336
000000a6: JUMPI
000000a7: DUP1
000000a8: PUSH4 0x95d89b41
000000ad: EQ
000000ae: PUSH2 0x036f
000000b1: JUMPI
000000b2: DUP1
000000b3: PUSH4 0xa9059cbb
000000b8: EQ
000000b9: PUSH2 0x03ea
000000bc: JUMPI
000000bd: DUP1
000000be: PUSH4 0xb0987c03
000000c3: EQ
000000c4: PUSH2 0x040b
000000c7: JUMPI
000000c8: DUP1
000000c9: PUSH4 0xcae9ca51
000000ce: EQ
000000cf: PUSH2 0x0444
000000d2: JUMPI
000000d3: DUP1
000000d4: PUSH4 0xdd62ed3e
000000d9: EQ
000000da: PUSH2 0x04c2
000000dd: JUMPI
000000de: PUSH2 0x00e2
000000e1: JUMP
000000e2: JUMPDEST
000000e3: PUSH2 0x00e9
000000e6: JUMPDEST
000000e7: JUMPDEST
000000e8: JUMP
000000e9: JUMPDEST
000000ea: STOP
000000eb: JUMPDEST
000000ec: PUSH2 0x00f8
000000ef: PUSH1 0x04
000000f1: DUP1
000000f2: POP
000000f3: POP
000000f4: PUSH2 0x04f7
000000f7: JUMP
000000f8: JUMPDEST
000000f9: PUSH1 0x40
000000fb: MLOAD
000000fc: DUP1
000000fd: DUP1
000000fe: PUSH1 0x20
00000100: ADD
00000101: DUP3
00000102: DUP2
00000103: SUB
00000104: DUP3
00000105: MSTORE
00000106: DUP4
00000107: DUP2
00000108: DUP2
00000109: MLOAD
0000010a: DUP2
0000010b: MSTORE
0000010c: PUSH1 0x20
0000010e: ADD
0000010f: SWAP2
00000110: POP
00000111: DUP1
00000112: MLOAD
00000113: SWAP1
00000114: PUSH1 0x20
00000116: ADD
00000117: SWAP1
00000118: DUP1
00000119: DUP4
0000011a: DUP4
0000011b: DUP3
0000011c: SWAP1
0000011d: PUSH1 0x00
0000011f: PUSH1 0x04
00000121: PUSH1 0x20
00000123: DUP5
00000124: PUSH1 0x1f
00000126: ADD
00000127: DIV
00000128: PUSH1 0x03
0000012a: MUL
0000012b: PUSH1 0x0f
0000012d: ADD
0000012e: CALL
0000012f: POP
00000130: SWAP1
00000131: POP
00000132: SWAP1
00000133: DUP2
00000134: ADD
00000135: SWAP1
00000136: PUSH1 0x1f
00000138: AND
00000139: DUP1
0000013a: ISZERO
0000013b: PUSH2 0x0158
0000013e: JUMPI
0000013f: DUP1
00000140: DUP3
00000141: SUB
00000142: DUP1
00000143: MLOAD
00000144: PUSH1 0x01
00000146: DUP4
00000147: PUSH1 0x20
00000149: SUB
0000014a: PUSH2 0x0100
0000014d: EXP
0000014e: SUB
0000014f: NOT
00000150: AND
00000151: DUP2
00000152: MSTORE
00000153: PUSH1 0x20
00000155: ADD
00000156: SWAP2
00000157: POP
00000158: JUMPDEST
00000159: POP
0000015a: SWAP3
0000015b: POP
0000015c: POP
0000015d: POP
0000015e: PUSH1 0x40
00000160: MLOAD
00000161: DUP1
00000162: SWAP2
00000163: SUB
00000164: SWAP1
00000165: RETURN
00000166: JUMPDEST
00000167: PUSH2 0x0185
0000016a: PUSH1 0x04
0000016c: DUP1
0000016d: DUP1
0000016e: CALLDATALOAD
0000016f: SWAP1
00000170: PUSH1 0x20
00000172: ADD
00000173: SWAP1
00000174: SWAP2
00000175: SWAP1
00000176: DUP1
00000177: CALLDATALOAD
00000178: SWAP1
00000179: PUSH1 0x20
0000017b: ADD
0000017c: SWAP1
0000017d: SWAP2
0000017e: SWAP1
0000017f: POP
00000180: POP
00000181: PUSH2 0x0598
00000184: JUMP
00000185: JUMPDEST
00000186: PUSH1 0x40
00000188: MLOAD
00000189: DUP1
0000018a: DUP3
0000018b: ISZERO
0000018c: ISZERO
0000018d: DUP2
0000018e: MSTORE
0000018f: PUSH1 0x20
00000191: ADD
00000192: SWAP2
00000193: POP
00000194: POP
00000195: PUSH1 0x40
00000197: MLOAD
00000198: DUP1
00000199: SWAP2
0000019a: SUB
0000019b: SWAP1
0000019c: RETURN
0000019d: JUMPDEST
0000019e: PUSH2 0x01aa
000001a1: PUSH1 0x04
000001a3: DUP1
000001a4: POP
000001a5: POP
000001a6: PUSH2 0x0607
000001a9: JUMP
000001aa: JUMPDEST
000001ab: PUSH1 0x40
000001ad: MLOAD
000001ae: DUP1
000001af: DUP3
000001b0: DUP2
000001b1: MSTORE
000001b2: PUSH1 0x20
000001b4: ADD
000001b5: SWAP2
000001b6: POP
000001b7: POP
000001b8: PUSH1 0x40
000001ba: MLOAD
000001bb: DUP1
000001bc: SWAP2
000001bd: SUB
000001be: SWAP1
000001bf: RETURN
000001c0: JUMPDEST
000001c1: PUSH2 0x01e8
000001c4: PUSH1 0x04
000001c6: DUP1
000001c7: DUP1
000001c8: CALLDATALOAD
000001c9: SWAP1
000001ca: PUSH1 0x20
000001cc: ADD
000001cd: SWAP1
000001ce: SWAP2
000001cf: SWAP1
000001d0: DUP1
000001d1: CALLDATALOAD
000001d2: SWAP1
000001d3: PUSH1 0x20
000001d5: ADD
000001d6: SWAP1
000001d7: SWAP2
000001d8: SWAP1
000001d9: DUP1
000001da: CALLDATALOAD
000001db: SWAP1
000001dc: PUSH1 0x20
000001de: ADD
000001df: SWAP1
000001e0: SWAP2
000001e1: SWAP1
000001e2: POP
000001e3: POP
000001e4: PUSH2 0x0610
000001e7: JUMP
000001e8: JUMPDEST
000001e9: PUSH1 0x40
000001eb: MLOAD
000001ec: DUP1
000001ed: DUP3
000001ee: ISZERO
000001ef: ISZERO
000001f0: DUP2
000001f1: MSTORE
000001f2: PUSH1 0x20
000001f4: ADD
000001f5: SWAP2
000001f6: POP
000001f7: POP
000001f8: PUSH1 0x40
000001fa: MLOAD
000001fb: DUP1
000001fc: SWAP2
000001fd: SUB
000001fe: SWAP1
000001ff: RETURN
00000200: JUMPDEST
00000201: PUSH2 0x020d
00000204: PUSH1 0x04
00000206: DUP1
00000207: POP
00000208: POP
00000209: PUSH2 0x0874
0000020c: JUMP
0000020d: JUMPDEST
0000020e: PUSH1 0x40
00000210: MLOAD
00000211: DUP1
00000212: DUP3
00000213: PUSH1 0xff
00000215: AND
00000216: DUP2
00000217: MSTORE
00000218: PUSH1 0x20
0000021a: ADD
0000021b: SWAP2
0000021c: POP
0000021d: POP
0000021e: PUSH1 0x40
00000220: MLOAD
00000221: DUP1
00000222: SWAP2
00000223: SUB
00000224: SWAP1
00000225: RETURN
00000226: JUMPDEST
00000227: PUSH2 0x0233
0000022a: PUSH1 0x04
0000022c: DUP1
0000022d: POP
0000022e: POP
0000022f: PUSH2 0x0887
00000232: JUMP
00000233: JUMPDEST
00000234: PUSH1 0x40
00000236: MLOAD
00000237: DUP1
00000238: DUP1
00000239: PUSH1 0x20
0000023b: ADD
0000023c: DUP3
0000023d: DUP2
0000023e: SUB
0000023f: DUP3
00000240: MSTORE
00000241: DUP4
00000242: DUP2
00000243: DUP2
00000244: MLOAD
00000245: DUP2
00000246: MSTORE
00000247: PUSH1 0x20
00000249: ADD
0000024a: SWAP2
0000024b: POP
0000024c: DUP1
0000024d: MLOAD
0000024e: SWAP1
0000024f: PUSH1 0x20
00000251: ADD
00000252: SWAP1
00000253: DUP1
00000254: DUP4
00000255: DUP4
00000256: DUP3
00000257: SWAP1
00000258: PUSH1 0x00
0000025a: PUSH1 0x04
0000025c: PUSH1 0x20
0000025e: DUP5
0000025f: PUSH1 0x1f
00000261: ADD
00000262: DIV
00000263: PUSH1 0x03
00000265: MUL
00000266: PUSH1 0x0f
00000268: ADD
00000269: CALL
0000026a: POP
0000026b: SWAP1
0000026c: POP
0000026d: SWAP1
0000026e: DUP2
0000026f: ADD
00000270: SWAP1
00000271: PUSH1 0x1f
00000273: AND
00000274: DUP1
00000275: ISZERO
00000276: PUSH2 0x0293
00000279: JUMPI
0000027a: DUP1
0000027b: DUP3
0000027c: SUB
0000027d: DUP1
0000027e: MLOAD
0000027f: PUSH1 0x01
00000281: DUP4
00000282: PUSH1 0x20
00000284: SUB
00000285: PUSH2 0x0100
00000288: EXP
00000289: SUB
0000028a: NOT
0000028b: AND
0000028c: DUP2
0000028d: MSTORE
0000028e: PUSH1 0x20
00000290: ADD
00000291: SWAP2
00000292: POP
00000293: JUMPDEST
00000294: POP
00000295: SWAP3
00000296: POP
00000297: POP
00000298: POP
00000299: PUSH1 0x40
0000029b: MLOAD
0000029c: DUP1
0000029d: SWAP2
0000029e: SUB
0000029f: SWAP1
000002a0: RETURN
000002a1: JUMPDEST
000002a2: PUSH2 0x02b7
000002a5: PUSH1 0x04
000002a7: DUP1
000002a8: DUP1
000002a9: CALLDATALOAD
000002aa: SWAP1
000002ab: PUSH1 0x20
000002ad: ADD
000002ae: SWAP1
000002af: SWAP2
000002b0: SWAP1
000002b1: POP
000002b2: POP
000002b3: PUSH2 0x0928
000002b6: JUMP
000002b7: JUMPDEST
000002b8: PUSH1 0x40
000002ba: MLOAD
000002bb: DUP1
000002bc: DUP3
000002bd: DUP2
000002be: MSTORE
000002bf: PUSH1 0x20
000002c1: ADD
000002c2: SWAP2
000002c3: POP
000002c4: POP
000002c5: PUSH1 0x40
000002c7: MLOAD
000002c8: DUP1
000002c9: SWAP2
000002ca: SUB
000002cb: SWAP1
000002cc: RETURN
000002cd: JUMPDEST
000002ce: PUSH2 0x02da
000002d1: PUSH1 0x04
000002d3: DUP1
000002d4: POP
000002d5: POP
000002d6: PUSH2 0x0943
000002d9: JUMP
000002da: JUMPDEST
000002db: PUSH1 0x40
000002dd: MLOAD
000002de: DUP1
000002df: DUP3
000002e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002f5: AND
000002f6: DUP2
000002f7: MSTORE
000002f8: PUSH1 0x20
000002fa: ADD
000002fb: SWAP2
000002fc: POP
000002fd: POP
000002fe: PUSH1 0x40
00000300: MLOAD
00000301: DUP1
00000302: SWAP2
00000303: SUB
00000304: SWAP1
00000305: RETURN
00000306: JUMPDEST
00000307: PUSH2 0x0325
0000030a: PUSH1 0x04
0000030c: DUP1
0000030d: DUP1
0000030e: CALLDATALOAD
0000030f: SWAP1
00000310: PUSH1 0x20
00000312: ADD
00000313: SWAP1
00000314: SWAP2
00000315: SWAP1
00000316: DUP1
00000317: CALLDATALOAD
00000318: SWAP1
00000319: PUSH1 0x20
0000031b: ADD
0000031c: SWAP1
0000031d: SWAP2
0000031e: SWAP1
0000031f: POP
00000320: POP
00000321: PUSH2 0x0969
00000324: JUMP
00000325: JUMPDEST
00000326: STOP
00000327: JUMPDEST
00000328: PUSH2 0x0334
0000032b: PUSH1 0x04
0000032d: DUP1
0000032e: POP
0000032f: POP
00000330: PUSH2 0x0a74
00000333: JUMP
00000334: JUMPDEST
00000335: STOP
00000336: JUMPDEST
00000337: PUSH2 0x0343
0000033a: PUSH1 0x04
0000033c: DUP1
0000033d: POP
0000033e: POP
0000033f: PUSH2 0x0b3f
00000342: JUMP
00000343: JUMPDEST
00000344: PUSH1 0x40
00000346: MLOAD
00000347: DUP1
00000348: DUP3
00000349: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000035e: AND
0000035f: DUP2
00000360: MSTORE
00000361: PUSH1 0x20
00000363: ADD
00000364: SWAP2
00000365: POP
00000366: POP
00000367: PUSH1 0x40
00000369: MLOAD
0000036a: DUP1
0000036b: SWAP2
0000036c: SUB
0000036d: SWAP1
0000036e: RETURN
0000036f: JUMPDEST
00000370: PUSH2 0x037c
00000373: PUSH1 0x04
00000375: DUP1
00000376: POP
00000377: POP
00000378: PUSH2 0x0b65
0000037b: JUMP
0000037c: JUMPDEST
0000037d: PUSH1 0x40
0000037f: MLOAD
00000380: DUP1
00000381: DUP1
00000382: PUSH1 0x20
00000384: ADD
00000385: DUP3
00000386: DUP2
00000387: SUB
00000388: DUP3
00000389: MSTORE
0000038a: DUP4
0000038b: DUP2
0000038c: DUP2
0000038d: MLOAD
0000038e: DUP2
0000038f: MSTORE
00000390: PUSH1 0x20
00000392: ADD
00000393: SWAP2
00000394: POP
00000395: DUP1
00000396: MLOAD
00000397: SWAP1
00000398: PUSH1 0x20
0000039a: ADD
0000039b: SWAP1
0000039c: DUP1
0000039d: DUP4
0000039e: DUP4
0000039f: DUP3
000003a0: SWAP1
000003a1: PUSH1 0x00
000003a3: PUSH1 0x04
000003a5: PUSH1 0x20
000003a7: DUP5
000003a8: PUSH1 0x1f
000003aa: ADD
000003ab: DIV
000003ac: PUSH1 0x03
000003ae: MUL
000003af: PUSH1 0x0f
000003b1: ADD
000003b2: CALL
000003b3: POP
000003b4: SWAP1
000003b5: POP
000003b6: SWAP1
000003b7: DUP2
000003b8: ADD
000003b9: SWAP1
000003ba: PUSH1 0x1f
000003bc: AND
000003bd: DUP1
000003be: ISZERO
000003bf: PUSH2 0x03dc
000003c2: JUMPI
000003c3: DUP1
000003c4: DUP3
000003c5: SUB
000003c6: DUP1
000003c7: MLOAD
000003c8: PUSH1 0x01
000003ca: DUP4
000003cb: PUSH1 0x20
000003cd: SUB
000003ce: PUSH2 0x0100
000003d1: EXP
000003d2: SUB
000003d3: NOT
000003d4: AND
000003d5: DUP2
000003d6: MSTORE
000003d7: PUSH1 0x20
000003d9: ADD
000003da: SWAP2
000003db: POP
000003dc: JUMPDEST
000003dd: POP
000003de: SWAP3
000003df: POP
000003e0: POP
000003e1: POP
000003e2: PUSH1 0x40
000003e4: MLOAD
000003e5: DUP1
000003e6: SWAP2
000003e7: SUB
000003e8: SWAP1
000003e9: RETURN
000003ea: JUMPDEST
000003eb: PUSH2 0x0409
000003ee: PUSH1 0x04
000003f0: DUP1
000003f1: DUP1
000003f2: CALLDATALOAD
000003f3: SWAP1
000003f4: PUSH1 0x20
000003f6: ADD
000003f7: SWAP1
000003f8: SWAP2
000003f9: SWAP1
000003fa: DUP1
000003fb: CALLDATALOAD
000003fc: SWAP1
000003fd: PUSH1 0x20
000003ff: ADD
00000400: SWAP1
00000401: SWAP2
00000402: SWAP1
00000403: POP
00000404: POP
00000405: PUSH2 0x0c06
00000408: JUMP
00000409: JUMPDEST
0000040a: STOP
0000040b: JUMPDEST
0000040c: PUSH2 0x0418
0000040f: PUSH1 0x04
00000411: DUP1
00000412: POP
00000413: POP
00000414: PUSH2 0x0d91
00000417: JUMP
00000418: JUMPDEST
00000419: PUSH1 0x40
0000041b: MLOAD
0000041c: DUP1
0000041d: DUP3
0000041e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000433: AND
00000434: DUP2
00000435: MSTORE
00000436: PUSH1 0x20
00000438: ADD
00000439: SWAP2
0000043a: POP
0000043b: POP
0000043c: PUSH1 0x40
0000043e: MLOAD
0000043f: DUP1
00000440: SWAP2
00000441: SUB
00000442: SWAP1
00000443: RETURN
00000444: JUMPDEST
00000445: PUSH2 0x04aa
00000448: PUSH1 0x04
0000044a: DUP1
0000044b: DUP1
0000044c: CALLDATALOAD
0000044d: SWAP1
0000044e: PUSH1 0x20
00000450: ADD
00000451: SWAP1
00000452: SWAP2
00000453: SWAP1
00000454: DUP1
00000455: CALLDATALOAD
00000456: SWAP1
00000457: PUSH1 0x20
00000459: ADD
0000045a: SWAP1
0000045b: SWAP2
0000045c: SWAP1
0000045d: DUP1
0000045e: CALLDATALOAD
0000045f: SWAP1
00000460: PUSH1 0x20
00000462: ADD
00000463: SWAP1
00000464: DUP3
00000465: ADD
00000466: DUP1
00000467: CALLDATALOAD
00000468: SWAP1
00000469: PUSH1 0x20
0000046b: ADD
0000046c: SWAP2
0000046d: SWAP2
0000046e: SWAP1
0000046f: DUP1
00000470: DUP1
00000471: PUSH1 0x1f
00000473: ADD
00000474: PUSH1 0x20
00000476: DUP1
00000477: SWAP2
00000478: DIV
00000479: MUL
0000047a: PUSH1 0x20
0000047c: ADD
0000047d: PUSH1 0x40
0000047f: MLOAD
00000480: SWAP1
00000481: DUP2
00000482: ADD
00000483: PUSH1 0x40
00000485: MSTORE
00000486: DUP1
00000487: SWAP4
00000488: SWAP3
00000489: SWAP2
0000048a: SWAP1
0000048b: DUP2
0000048c: DUP2
0000048d: MSTORE
0000048e: PUSH1 0x20
00000490: ADD
00000491: DUP4
00000492: DUP4
00000493: DUP1
00000494: DUP3
00000495: DUP5
00000496: CALLDATACOPY
00000497: DUP3
00000498: ADD
00000499: SWAP2
0000049a: POP
0000049b: POP
0000049c: POP
0000049d: POP
0000049e: POP
0000049f: POP
000004a0: SWAP1
000004a1: SWAP1
000004a2: SWAP2
000004a3: SWAP1
000004a4: POP
000004a5: POP
000004a6: PUSH2 0x0db7
000004a9: JUMP
000004aa: JUMPDEST
000004ab: PUSH1 0x40
000004ad: MLOAD
000004ae: DUP1
000004af: DUP3
000004b0: ISZERO
000004b1: ISZERO
000004b2: DUP2
000004b3: MSTORE
000004b4: PUSH1 0x20
000004b6: ADD
000004b7: SWAP2
000004b8: POP
000004b9: POP
000004ba: PUSH1 0x40
000004bc: MLOAD
000004bd: DUP1
000004be: SWAP2
000004bf: SUB
000004c0: SWAP1
000004c1: RETURN
000004c2: JUMPDEST
000004c3: PUSH2 0x04e1
000004c6: PUSH1 0x04
000004c8: DUP1
000004c9: DUP1
000004ca: CALLDATALOAD
000004cb: SWAP1
000004cc: PUSH1 0x20
000004ce: ADD
000004cf: SWAP1
000004d0: SWAP2
000004d1: SWAP1
000004d2: DUP1
000004d3: CALLDATALOAD
000004d4: SWAP1
000004d5: PUSH1 0x20
000004d7: ADD
000004d8: SWAP1
000004d9: SWAP2
000004da: SWAP1
000004db: POP
000004dc: POP
000004dd: PUSH2 0x0ee4
000004e0: JUMP
000004e1: JUMPDEST
000004e2: PUSH1 0x40
000004e4: MLOAD
000004e5: DUP1
000004e6: DUP3
000004e7: DUP2
000004e8: MSTORE
000004e9: PUSH1 0x20
000004eb: ADD
000004ec: SWAP2
000004ed: POP
000004ee: POP
000004ef: PUSH1 0x40
000004f1: MLOAD
000004f2: DUP1
000004f3: SWAP2
000004f4: SUB
000004f5: SWAP1
000004f6: RETURN
000004f7: JUMPDEST
000004f8: PUSH1 0x01
000004fa: PUSH1 0x00
000004fc: POP
000004fd: DUP1
000004fe: SLOAD
000004ff: PUSH1 0x01
00000501: DUP2
00000502: PUSH1 0x01
00000504: AND
00000505: ISZERO
00000506: PUSH2 0x0100
00000509: MUL
0000050a: SUB
0000050b: AND
0000050c: PUSH1 0x02
0000050e: SWAP1
0000050f: DIV
00000510: DUP1
00000511: PUSH1 0x1f
00000513: ADD
00000514: PUSH1 0x20
00000516: DUP1
00000517: SWAP2
00000518: DIV
00000519: MUL
0000051a: PUSH1 0x20
0000051c: ADD
0000051d: PUSH1 0x40
0000051f: MLOAD
00000520: SWAP1
00000521: DUP2
00000522: ADD
00000523: PUSH1 0x40
00000525: MSTORE
00000526: DUP1
00000527: SWAP3
00000528: SWAP2
00000529: SWAP1
0000052a: DUP2
0000052b: DUP2
0000052c: MSTORE
0000052d: PUSH1 0x20
0000052f: ADD
00000530: DUP3
00000531: DUP1
00000532: SLOAD
00000533: PUSH1 0x01
00000535: DUP2
00000536: PUSH1 0x01
00000538: AND
00000539: ISZERO
0000053a: PUSH2 0x0100
0000053d: MUL
0000053e: SUB
0000053f: AND
00000540: PUSH1 0x02
00000542: SWAP1
00000543: DIV
00000544: DUP1
00000545: ISZERO
00000546: PUSH2 0x0590
00000549: JUMPI
0000054a: DUP1
0000054b: PUSH1 0x1f
0000054d: LT
0000054e: PUSH2 0x0565
00000551: JUMPI
00000552: PUSH2 0x0100
00000555: DUP1
00000556: DUP4
00000557: SLOAD
00000558: DIV
00000559: MUL
0000055a: DUP4
0000055b: MSTORE
0000055c: SWAP2
0000055d: PUSH1 0x20
0000055f: ADD
00000560: SWAP2
00000561: PUSH2 0x0590
00000564: JUMP
00000565: JUMPDEST
00000566: DUP3
00000567: ADD
00000568: SWAP2
00000569: SWAP1
0000056a: PUSH1 0x00
0000056c: MSTORE
0000056d: PUSH1 0x20
0000056f: PUSH1 0x00
00000571: KECCAK256
00000572: SWAP1
00000573: JUMPDEST
00000574: DUP2
00000575: SLOAD
00000576: DUP2
00000577: MSTORE
00000578: SWAP1
00000579: PUSH1 0x01
0000057b: ADD
0000057c: SWAP1
0000057d: PUSH1 0x20
0000057f: ADD
00000580: DUP1
00000581: DUP4
00000582: GT
00000583: PUSH2 0x0573
00000586: JUMPI
00000587: DUP3
00000588: SWAP1
00000589: SUB
0000058a: PUSH1 0x1f
0000058c: AND
0000058d: DUP3
0000058e: ADD
0000058f: SWAP2
00000590: JUMPDEST
00000591: POP
00000592: POP
00000593: POP
00000594: POP
00000595: POP
00000596: DUP2
00000597: JUMP
00000598: JUMPDEST
00000599: PUSH1 0x00
0000059b: DUP2
0000059c: PUSH1 0x07
0000059e: PUSH1 0x00
000005a0: POP
000005a1: PUSH1 0x00
000005a3: CALLER
000005a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005b9: AND
000005ba: DUP2
000005bb: MSTORE
000005bc: PUSH1 0x20
000005be: ADD
000005bf: SWAP1
000005c0: DUP2
000005c1: MSTORE
000005c2: PUSH1 0x20
000005c4: ADD
000005c5: PUSH1 0x00
000005c7: KECCAK256
000005c8: PUSH1 0x00
000005ca: POP
000005cb: PUSH1 0x00
000005cd: DUP6
000005ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005e3: AND
000005e4: DUP2
000005e5: MSTORE
000005e6: PUSH1 0x20
000005e8: ADD
000005e9: SWAP1
000005ea: DUP2
000005eb: MSTORE
000005ec: PUSH1 0x20
000005ee: ADD
000005ef: PUSH1 0x00
000005f1: KECCAK256
000005f2: PUSH1 0x00
000005f4: POP
000005f5: DUP2
000005f6: SWAP1
000005f7: SSTORE
000005f8: POP
000005f9: PUSH1 0x01
000005fb: SWAP1
000005fc: POP
000005fd: PUSH2 0x0601
00000600: JUMP
00000601: JUMPDEST
00000602: SWAP3
00000603: SWAP2
00000604: POP
00000605: POP
00000606: JUMP
00000607: JUMPDEST
00000608: PUSH1 0x04
0000060a: PUSH1 0x00
0000060c: POP
0000060d: SLOAD
0000060e: DUP2
0000060f: JUMP
00000610: JUMPDEST
00000611: PUSH1 0x00
00000613: DUP2
00000614: PUSH1 0x06
00000616: PUSH1 0x00
00000618: POP
00000619: PUSH1 0x00
0000061b: DUP7
0000061c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000631: AND
00000632: DUP2
00000633: MSTORE
00000634: PUSH1 0x20
00000636: ADD
00000637: SWAP1
00000638: DUP2
00000639: MSTORE
0000063a: PUSH1 0x20
0000063c: ADD
0000063d: PUSH1 0x00
0000063f: KECCAK256
00000640: PUSH1 0x00
00000642: POP
00000643: SLOAD
00000644: LT
00000645: ISZERO
00000646: PUSH2 0x064e
00000649: JUMPI
0000064a: PUSH2 0x0002
0000064d: JUMP
0000064e: JUMPDEST
0000064f: PUSH1 0x06
00000651: PUSH1 0x00
00000653: POP
00000654: PUSH1 0x00
00000656: DUP5
00000657: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000066c: AND
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: SLOAD
0000067f: DUP3
00000680: PUSH1 0x06
00000682: PUSH1 0x00
00000684: POP
00000685: PUSH1 0x00
00000687: DUP7
00000688: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000069d: AND
0000069e: DUP2
0000069f: MSTORE
000006a0: PUSH1 0x20
000006a2: ADD
000006a3: SWAP1
000006a4: DUP2
000006a5: MSTORE
000006a6: PUSH1 0x20
000006a8: ADD
000006a9: PUSH1 0x00
000006ab: KECCAK256
000006ac: PUSH1 0x00
000006ae: POP
000006af: SLOAD
000006b0: ADD
000006b1: LT
000006b2: ISZERO
000006b3: PUSH2 0x06bb
000006b6: JUMPI
000006b7: PUSH2 0x0002
000006ba: JUMP
000006bb: JUMPDEST
000006bc: PUSH1 0x07
000006be: PUSH1 0x00
000006c0: POP
000006c1: PUSH1 0x00
000006c3: DUP6
000006c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006d9: AND
000006da: DUP2
000006db: MSTORE
000006dc: PUSH1 0x20
000006de: ADD
000006df: SWAP1
000006e0: DUP2
000006e1: MSTORE
000006e2: PUSH1 0x20
000006e4: ADD
000006e5: PUSH1 0x00
000006e7: KECCAK256
000006e8: PUSH1 0x00
000006ea: POP
000006eb: PUSH1 0x00
000006ed: CALLER
000006ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000703: AND
00000704: DUP2
00000705: MSTORE
00000706: PUSH1 0x20
00000708: ADD
00000709: SWAP1
0000070a: DUP2
0000070b: MSTORE
0000070c: PUSH1 0x20
0000070e: ADD
0000070f: PUSH1 0x00
00000711: KECCAK256
00000712: PUSH1 0x00
00000714: POP
00000715: SLOAD
00000716: DUP3
00000717: GT
00000718: ISZERO
00000719: PUSH2 0x0721
0000071c: JUMPI
0000071d: PUSH2 0x0002
00000720: JUMP
00000721: JUMPDEST
00000722: DUP2
00000723: PUSH1 0x06
00000725: PUSH1 0x00
00000727: POP
00000728: PUSH1 0x00
0000072a: DUP7
0000072b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000740: AND
00000741: DUP2
00000742: MSTORE
00000743: PUSH1 0x20
00000745: ADD
00000746: SWAP1
00000747: DUP2
00000748: MSTORE
00000749: PUSH1 0x20
0000074b: ADD
0000074c: PUSH1 0x00
0000074e: KECCAK256
0000074f: PUSH1 0x00
00000751: DUP3
00000752: DUP3
00000753: DUP3
00000754: POP
00000755: SLOAD
00000756: SUB
00000757: SWAP3
00000758: POP
00000759: POP
0000075a: DUP2
0000075b: SWAP1
0000075c: SSTORE
0000075d: POP
0000075e: DUP2
0000075f: PUSH1 0x06
00000761: PUSH1 0x00
00000763: POP
00000764: PUSH1 0x00
00000766: DUP6
00000767: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000077c: AND
0000077d: DUP2
0000077e: MSTORE
0000077f: PUSH1 0x20
00000781: ADD
00000782: SWAP1
00000783: DUP2
00000784: MSTORE
00000785: PUSH1 0x20
00000787: ADD
00000788: PUSH1 0x00
0000078a: KECCAK256
0000078b: PUSH1 0x00
0000078d: DUP3
0000078e: DUP3
0000078f: DUP3
00000790: POP
00000791: SLOAD
00000792: ADD
00000793: SWAP3
00000794: POP
00000795: POP
00000796: DUP2
00000797: SWAP1
00000798: SSTORE
00000799: POP
0000079a: DUP2
0000079b: PUSH1 0x07
0000079d: PUSH1 0x00
0000079f: POP
000007a0: PUSH1 0x00
000007a2: DUP7
000007a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007b8: AND
000007b9: DUP2
000007ba: MSTORE
000007bb: PUSH1 0x20
000007bd: ADD
000007be: SWAP1
000007bf: DUP2
000007c0: MSTORE
000007c1: PUSH1 0x20
000007c3: ADD
000007c4: PUSH1 0x00
000007c6: KECCAK256
000007c7: PUSH1 0x00
000007c9: POP
000007ca: PUSH1 0x00
000007cc: CALLER
000007cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007e2: AND
000007e3: DUP2
000007e4: MSTORE
000007e5: PUSH1 0x20
000007e7: ADD
000007e8: SWAP1
000007e9: DUP2
000007ea: MSTORE
000007eb: PUSH1 0x20
000007ed: ADD
000007ee: PUSH1 0x00
000007f0: KECCAK256
000007f1: PUSH1 0x00
000007f3: DUP3
000007f4: DUP3
000007f5: DUP3
000007f6: POP
000007f7: SLOAD
000007f8: SUB
000007f9: SWAP3
000007fa: POP
000007fb: POP
000007fc: DUP2
000007fd: SWAP1
000007fe: SSTORE
000007ff: POP
00000800: DUP3
00000801: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000816: AND
00000817: DUP5
00000818: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000082d: AND
0000082e: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
0000084f: DUP5
00000850: PUSH1 0x40
00000852: MLOAD
00000853: DUP1
00000854: DUP3
00000855: DUP2
00000856: MSTORE
00000857: PUSH1 0x20
00000859: ADD
0000085a: SWAP2
0000085b: POP
0000085c: POP
0000085d: PUSH1 0x40
0000085f: MLOAD
00000860: DUP1
00000861: SWAP2
00000862: SUB
00000863: SWAP1
00000864: LOG3
00000865: PUSH1 0x01
00000867: SWAP1
00000868: POP
00000869: PUSH2 0x086d
0000086c: JUMP
0000086d: JUMPDEST
0000086e: SWAP4
0000086f: SWAP3
00000870: POP
00000871: POP
00000872: POP
00000873: JUMP
00000874: JUMPDEST
00000875: PUSH1 0x03
00000877: PUSH1 0x00
00000879: SWAP1
0000087a: SLOAD
0000087b: SWAP1
0000087c: PUSH2 0x0100
0000087f: EXP
00000880: SWAP1
00000881: DIV
00000882: PUSH1 0xff
00000884: AND
00000885: DUP2
00000886: JUMP
00000887: JUMPDEST
00000888: PUSH1 0x00
0000088a: PUSH1 0x00
0000088c: POP
0000088d: DUP1
0000088e: SLOAD
0000088f: PUSH1 0x01
00000891: DUP2
00000892: PUSH1 0x01
00000894: AND
00000895: ISZERO
00000896: PUSH2 0x0100
00000899: MUL
0000089a: SUB
0000089b: AND
0000089c: PUSH1 0x02
0000089e: SWAP1
0000089f: DIV
000008a0: DUP1
000008a1: PUSH1 0x1f
000008a3: ADD
000008a4: PUSH1 0x20
000008a6: DUP1
000008a7: SWAP2
000008a8: DIV
000008a9: MUL
000008aa: PUSH1 0x20
000008ac: ADD
000008ad: PUSH1 0x40
000008af: MLOAD
000008b0: SWAP1
000008b1: DUP2
000008b2: ADD
000008b3: PUSH1 0x40
000008b5: MSTORE
000008b6: DUP1
000008b7: SWAP3
000008b8: SWAP2
000008b9: SWAP1
000008ba: DUP2
000008bb: DUP2
000008bc: MSTORE
000008bd: PUSH1 0x20
000008bf: ADD
000008c0: DUP3
000008c1: DUP1
000008c2: SLOAD
000008c3: PUSH1 0x01
000008c5: DUP2
000008c6: PUSH1 0x01
000008c8: AND
000008c9: ISZERO
000008ca: PUSH2 0x0100
000008cd: MUL
000008ce: SUB
000008cf: AND
000008d0: PUSH1 0x02
000008d2: SWAP1
000008d3: DIV
000008d4: DUP1
000008d5: ISZERO
000008d6: PUSH2 0x0920
000008d9: JUMPI
000008da: DUP1
000008db: PUSH1 0x1f
000008dd: LT
000008de: PUSH2 0x08f5
000008e1: JUMPI
000008e2: PUSH2 0x0100
000008e5: DUP1
000008e6: DUP4
000008e7: SLOAD
000008e8: DIV
000008e9: MUL
000008ea: DUP4
000008eb: MSTORE
000008ec: SWAP2
000008ed: PUSH1 0x20
000008ef: ADD
000008f0: SWAP2
000008f1: PUSH2 0x0920
000008f4: JUMP
000008f5: JUMPDEST
000008f6: DUP3
000008f7: ADD
000008f8: SWAP2
000008f9: SWAP1
000008fa: PUSH1 0x00
000008fc: MSTORE
000008fd: PUSH1 0x20
000008ff: PUSH1 0x00
00000901: KECCAK256
00000902: SWAP1
00000903: JUMPDEST
00000904: DUP2
00000905: SLOAD
00000906: DUP2
00000907: MSTORE
00000908: SWAP1
00000909: PUSH1 0x01
0000090b: ADD
0000090c: SWAP1
0000090d: PUSH1 0x20
0000090f: ADD
00000910: DUP1
00000911: DUP4
00000912: GT
00000913: PUSH2 0x0903
00000916: JUMPI
00000917: DUP3
00000918: SWAP1
00000919: SUB
0000091a: PUSH1 0x1f
0000091c: AND
0000091d: DUP3
0000091e: ADD
0000091f: SWAP2
00000920: JUMPDEST
00000921: POP
00000922: POP
00000923: POP
00000924: POP
00000925: POP
00000926: DUP2
00000927: JUMP
00000928: JUMPDEST
00000929: PUSH1 0x06
0000092b: PUSH1 0x00
0000092d: POP
0000092e: PUSH1 0x20
00000930: MSTORE
00000931: DUP1
00000932: PUSH1 0x00
00000934: MSTORE
00000935: PUSH1 0x40
00000937: PUSH1 0x00
00000939: KECCAK256
0000093a: PUSH1 0x00
0000093c: SWAP2
0000093d: POP
0000093e: SWAP1
0000093f: POP
00000940: SLOAD
00000941: DUP2
00000942: JUMP
00000943: JUMPDEST
00000944: PUSH1 0x0a
00000946: PUSH1 0x00
00000948: SWAP1
00000949: SLOAD
0000094a: SWAP1
0000094b: PUSH2 0x0100
0000094e: EXP
0000094f: SWAP1
00000950: DIV
00000951: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000966: AND
00000967: DUP2
00000968: JUMP
00000969: JUMPDEST
0000096a: PUSH1 0x00
0000096c: CALLER
0000096d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000982: AND
00000983: PUSH1 0x0a
00000985: PUSH1 0x00
00000987: SWAP1
00000988: SLOAD
00000989: SWAP1
0000098a: PUSH2 0x0100
0000098d: EXP
0000098e: SWAP1
0000098f: DIV
00000990: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009a5: AND
000009a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009bb: AND
000009bc: EQ
000009bd: ISZERO
000009be: PUSH2 0x0a6e
000009c1: JUMPI
000009c2: PUSH1 0x08
000009c4: PUSH1 0x00
000009c6: SWAP1
000009c7: SLOAD
000009c8: SWAP1
000009c9: PUSH2 0x0100
000009cc: EXP
000009cd: SWAP1
000009ce: DIV
000009cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009e4: AND
000009e5: SWAP1
000009e6: POP
000009e7: DUP1
000009e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009fd: AND
000009fe: PUSH4 0xa9059cbb
00000a03: DUP5
00000a04: DUP5
00000a05: PUSH1 0x40
00000a07: MLOAD
00000a08: DUP4
00000a09: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000a27: MUL
00000a28: DUP2
00000a29: MSTORE
00000a2a: PUSH1 0x04
00000a2c: ADD
00000a2d: DUP1
00000a2e: DUP4
00000a2f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a44: AND
00000a45: DUP2
00000a46: MSTORE
00000a47: PUSH1 0x20
00000a49: ADD
00000a4a: DUP3
00000a4b: DUP2
00000a4c: MSTORE
00000a4d: PUSH1 0x20
00000a4f: ADD
00000a50: SWAP3
00000a51: POP
00000a52: POP
00000a53: POP
00000a54: PUSH1 0x00
00000a56: PUSH1 0x40
00000a58: MLOAD
00000a59: DUP1
00000a5a: DUP4
00000a5b: SUB
00000a5c: DUP2
00000a5d: PUSH1 0x00
00000a5f: DUP8
00000a60: PUSH2 0x61da
00000a63: GAS
00000a64: SUB
00000a65: CALL
00000a66: ISZERO
00000a67: PUSH2 0x0002
00000a6a: JUMPI
00000a6b: POP
00000a6c: POP
00000a6d: POP
00000a6e: JUMPDEST
00000a6f: JUMPDEST
00000a70: POP
00000a71: POP
00000a72: POP
00000a73: JUMP
00000a74: JUMPDEST
00000a75: CALLER
00000a76: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a8b: AND
00000a8c: PUSH1 0x05
00000a8e: PUSH1 0x00
00000a90: SWAP1
00000a91: SLOAD
00000a92: SWAP1
00000a93: PUSH2 0x0100
00000a96: EXP
00000a97: SWAP1
00000a98: DIV
00000a99: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aae: AND
00000aaf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ac4: AND
00000ac5: EQ
00000ac6: ISZERO
00000ac7: PUSH2 0x0b3c
00000aca: JUMPI
00000acb: PUSH1 0x05
00000acd: PUSH1 0x00
00000acf: SWAP1
00000ad0: SLOAD
00000ad1: SWAP1
00000ad2: PUSH2 0x0100
00000ad5: EXP
00000ad6: SWAP1
00000ad7: DIV
00000ad8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aed: AND
00000aee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b03: AND
00000b04: PUSH1 0x00
00000b06: PUSH3 0x200b20
00000b0a: ADDRESS
00000b0b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b20: AND
00000b21: BALANCE
00000b22: SUB
00000b23: PUSH1 0x40
00000b25: MLOAD
00000b26: DUP1
00000b27: SWAP1
00000b28: POP
00000b29: PUSH1 0x00
00000b2b: PUSH1 0x40
00000b2d: MLOAD
00000b2e: DUP1
00000b2f: DUP4
00000b30: SUB
00000b31: DUP2
00000b32: DUP6
00000b33: DUP9
00000b34: DUP9
00000b35: CALL
00000b36: SWAP4
00000b37: POP
00000b38: POP
00000b39: POP
00000b3a: POP
00000b3b: POP
00000b3c: JUMPDEST
00000b3d: JUMPDEST
00000b3e: JUMP
00000b3f: JUMPDEST
00000b40: PUSH1 0x05
00000b42: PUSH1 0x00
00000b44: SWAP1
00000b45: SLOAD
00000b46: SWAP1
00000b47: PUSH2 0x0100
00000b4a: EXP
00000b4b: SWAP1
00000b4c: DIV
00000b4d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b62: AND
00000b63: DUP2
00000b64: JUMP
00000b65: JUMPDEST
00000b66: PUSH1 0x02
00000b68: PUSH1 0x00
00000b6a: POP
00000b6b: DUP1
00000b6c: SLOAD
00000b6d: PUSH1 0x01
00000b6f: DUP2
00000b70: PUSH1 0x01
00000b72: AND
00000b73: ISZERO
00000b74: PUSH2 0x0100
00000b77: MUL
00000b78: SUB
00000b79: AND
00000b7a: PUSH1 0x02
00000b7c: SWAP1
00000b7d: DIV
00000b7e: DUP1
00000b7f: PUSH1 0x1f
00000b81: ADD
00000b82: PUSH1 0x20
00000b84: DUP1
00000b85: SWAP2
00000b86: DIV
00000b87: MUL
00000b88: PUSH1 0x20
00000b8a: ADD
00000b8b: PUSH1 0x40
00000b8d: MLOAD
00000b8e: SWAP1
00000b8f: DUP2
00000b90: ADD
00000b91: PUSH1 0x40
00000b93: MSTORE
00000b94: DUP1
00000b95: SWAP3
00000b96: SWAP2
00000b97: SWAP1
00000b98: DUP2
00000b99: DUP2
00000b9a: MSTORE
00000b9b: PUSH1 0x20
00000b9d: ADD
00000b9e: DUP3
00000b9f: DUP1
00000ba0: SLOAD
00000ba1: PUSH1 0x01
00000ba3: DUP2
00000ba4: PUSH1 0x01
00000ba6: AND
00000ba7: ISZERO
00000ba8: PUSH2 0x0100
00000bab: MUL
00000bac: SUB
00000bad: AND
00000bae: PUSH1 0x02
00000bb0: SWAP1
00000bb1: DIV
00000bb2: DUP1
00000bb3: ISZERO
00000bb4: PUSH2 0x0bfe
00000bb7: JUMPI
00000bb8: DUP1
00000bb9: PUSH1 0x1f
00000bbb: LT
00000bbc: PUSH2 0x0bd3
00000bbf: JUMPI
00000bc0: PUSH2 0x0100
00000bc3: DUP1
00000bc4: DUP4
00000bc5: SLOAD
00000bc6: DIV
00000bc7: MUL
00000bc8: DUP4
00000bc9: MSTORE
00000bca: SWAP2
00000bcb: PUSH1 0x20
00000bcd: ADD
00000bce: SWAP2
00000bcf: PUSH2 0x0bfe
00000bd2: JUMP
00000bd3: JUMPDEST
00000bd4: DUP3
00000bd5: ADD
00000bd6: SWAP2
00000bd7: SWAP1
00000bd8: PUSH1 0x00
00000bda: MSTORE
00000bdb: PUSH1 0x20
00000bdd: PUSH1 0x00
00000bdf: KECCAK256
00000be0: SWAP1
00000be1: JUMPDEST
00000be2: DUP2
00000be3: SLOAD
00000be4: DUP2
00000be5: MSTORE
00000be6: SWAP1
00000be7: PUSH1 0x01
00000be9: ADD
00000bea: SWAP1
00000beb: PUSH1 0x20
00000bed: ADD
00000bee: DUP1
00000bef: DUP4
00000bf0: GT
00000bf1: PUSH2 0x0be1
00000bf4: JUMPI
00000bf5: DUP3
00000bf6: SWAP1
00000bf7: SUB
00000bf8: PUSH1 0x1f
00000bfa: AND
00000bfb: DUP3
00000bfc: ADD
00000bfd: SWAP2
00000bfe: JUMPDEST
00000bff: POP
00000c00: POP
00000c01: POP
00000c02: POP
00000c03: POP
00000c04: DUP2
00000c05: JUMP
00000c06: JUMPDEST
00000c07: DUP1
00000c08: PUSH1 0x06
00000c0a: PUSH1 0x00
00000c0c: POP
00000c0d: PUSH1 0x00
00000c0f: CALLER
00000c10: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c25: AND
00000c26: DUP2
00000c27: MSTORE
00000c28: PUSH1 0x20
00000c2a: ADD
00000c2b: SWAP1
00000c2c: DUP2
00000c2d: MSTORE
00000c2e: PUSH1 0x20
00000c30: ADD
00000c31: PUSH1 0x00
00000c33: KECCAK256
00000c34: PUSH1 0x00
00000c36: POP
00000c37: SLOAD
00000c38: LT
00000c39: ISZERO
00000c3a: PUSH2 0x0c42
00000c3d: JUMPI
00000c3e: PUSH2 0x0002
00000c41: JUMP
00000c42: JUMPDEST
00000c43: PUSH1 0x06
00000c45: PUSH1 0x00
00000c47: POP
00000c48: PUSH1 0x00
00000c4a: DUP4
00000c4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c60: AND
00000c61: DUP2
00000c62: MSTORE
00000c63: PUSH1 0x20
00000c65: ADD
00000c66: SWAP1
00000c67: DUP2
00000c68: MSTORE
00000c69: PUSH1 0x20
00000c6b: ADD
00000c6c: PUSH1 0x00
00000c6e: KECCAK256
00000c6f: PUSH1 0x00
00000c71: POP
00000c72: SLOAD
00000c73: DUP2
00000c74: PUSH1 0x06
00000c76: PUSH1 0x00
00000c78: POP
00000c79: PUSH1 0x00
00000c7b: DUP6
00000c7c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c91: AND
00000c92: DUP2
00000c93: MSTORE
00000c94: PUSH1 0x20
00000c96: ADD
00000c97: SWAP1
00000c98: DUP2
00000c99: MSTORE
00000c9a: PUSH1 0x20
00000c9c: ADD
00000c9d: PUSH1 0x00
00000c9f: KECCAK256
00000ca0: PUSH1 0x00
00000ca2: POP
00000ca3: SLOAD
00000ca4: ADD
00000ca5: LT
00000ca6: ISZERO
00000ca7: PUSH2 0x0caf
00000caa: JUMPI
00000cab: PUSH2 0x0002
00000cae: JUMP
00000caf: JUMPDEST
00000cb0: DUP1
00000cb1: PUSH1 0x06
00000cb3: PUSH1 0x00
00000cb5: POP
00000cb6: PUSH1 0x00
00000cb8: CALLER
00000cb9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cce: AND
00000ccf: DUP2
00000cd0: MSTORE
00000cd1: PUSH1 0x20
00000cd3: ADD
00000cd4: SWAP1
00000cd5: DUP2
00000cd6: MSTORE
00000cd7: PUSH1 0x20
00000cd9: ADD
00000cda: PUSH1 0x00
00000cdc: KECCAK256
00000cdd: PUSH1 0x00
00000cdf: DUP3
00000ce0: DUP3
00000ce1: DUP3
00000ce2: POP
00000ce3: SLOAD
00000ce4: SUB
00000ce5: SWAP3
00000ce6: POP
00000ce7: POP
00000ce8: DUP2
00000ce9: SWAP1
00000cea: SSTORE
00000ceb: POP
00000cec: DUP1
00000ced: PUSH1 0x06
00000cef: PUSH1 0x00
00000cf1: POP
00000cf2: PUSH1 0x00
00000cf4: DUP5
00000cf5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d0a: AND
00000d0b: DUP2
00000d0c: MSTORE
00000d0d: PUSH1 0x20
00000d0f: ADD
00000d10: SWAP1
00000d11: DUP2
00000d12: MSTORE
00000d13: PUSH1 0x20
00000d15: ADD
00000d16: PUSH1 0x00
00000d18: KECCAK256
00000d19: PUSH1 0x00
00000d1b: DUP3
00000d1c: DUP3
00000d1d: DUP3
00000d1e: POP
00000d1f: SLOAD
00000d20: ADD
00000d21: SWAP3
00000d22: POP
00000d23: POP
00000d24: DUP2
00000d25: SWAP1
00000d26: SSTORE
00000d27: POP
00000d28: DUP2
00000d29: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d3e: AND
00000d3f: CALLER
00000d40: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d55: AND
00000d56: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00000d77: DUP4
00000d78: PUSH1 0x40
00000d7a: MLOAD
00000d7b: DUP1
00000d7c: DUP3
00000d7d: DUP2
00000d7e: MSTORE
00000d7f: PUSH1 0x20
00000d81: ADD
00000d82: SWAP2
00000d83: POP
00000d84: POP
00000d85: PUSH1 0x40
00000d87: MLOAD
00000d88: DUP1
00000d89: SWAP2
00000d8a: SUB
00000d8b: SWAP1
00000d8c: LOG3
00000d8d: JUMPDEST
00000d8e: POP
00000d8f: POP
00000d90: JUMP
00000d91: JUMPDEST
00000d92: PUSH1 0x08
00000d94: PUSH1 0x00
00000d96: SWAP1
00000d97: SLOAD
00000d98: SWAP1
00000d99: PUSH2 0x0100
00000d9c: EXP
00000d9d: SWAP1
00000d9e: DIV
00000d9f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000db4: AND
00000db5: DUP2
00000db6: JUMP
00000db7: JUMPDEST
00000db8: PUSH1 0x00
00000dba: PUSH1 0x00
00000dbc: DUP5
00000dbd: SWAP1
00000dbe: POP
00000dbf: PUSH2 0x0dc8
00000dc2: DUP6
00000dc3: DUP6
00000dc4: PUSH2 0x0598
00000dc7: JUMP
00000dc8: JUMPDEST
00000dc9: ISZERO
00000dca: PUSH2 0x0edb
00000dcd: JUMPI
00000dce: DUP1
00000dcf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000de4: AND
00000de5: PUSH4 0x8f4ffcb1
00000dea: CALLER
00000deb: DUP7
00000dec: ADDRESS
00000ded: DUP8
00000dee: PUSH1 0x40
00000df0: MLOAD
00000df1: DUP6
00000df2: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000e10: MUL
00000e11: DUP2
00000e12: MSTORE
00000e13: PUSH1 0x04
00000e15: ADD
00000e16: DUP1
00000e17: DUP6
00000e18: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e2d: AND
00000e2e: DUP2
00000e2f: MSTORE
00000e30: PUSH1 0x20
00000e32: ADD
00000e33: DUP5
00000e34: DUP2
00000e35: MSTORE
00000e36: PUSH1 0x20
00000e38: ADD
00000e39: DUP4
00000e3a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e4f: AND
00000e50: DUP2
00000e51: MSTORE
00000e52: PUSH1 0x20
00000e54: ADD
00000e55: DUP1
00000e56: PUSH1 0x20
00000e58: ADD
00000e59: DUP3
00000e5a: DUP2
00000e5b: SUB
00000e5c: DUP3
00000e5d: MSTORE
00000e5e: DUP4
00000e5f: DUP2
00000e60: DUP2
00000e61: MLOAD
00000e62: DUP2
00000e63: MSTORE
00000e64: PUSH1 0x20
00000e66: ADD
00000e67: SWAP2
00000e68: POP
00000e69: DUP1
00000e6a: MLOAD
00000e6b: SWAP1
00000e6c: PUSH1 0x20
00000e6e: ADD
00000e6f: SWAP1
00000e70: DUP1
00000e71: DUP4
00000e72: DUP4
00000e73: DUP3
00000e74: SWAP1
00000e75: PUSH1 0x00
00000e77: PUSH1 0x04
00000e79: PUSH1 0x20
00000e7b: DUP5
00000e7c: PUSH1 0x1f
00000e7e: ADD
00000e7f: DIV
00000e80: PUSH1 0x03
00000e82: MUL
00000e83: PUSH1 0x0f
00000e85: ADD
00000e86: CALL
00000e87: POP
00000e88: SWAP1
00000e89: POP
00000e8a: SWAP1
00000e8b: DUP2
00000e8c: ADD
00000e8d: SWAP1
00000e8e: PUSH1 0x1f
00000e90: AND
00000e91: DUP1
00000e92: ISZERO
00000e93: PUSH2 0x0eb0
00000e96: JUMPI
00000e97: DUP1
00000e98: DUP3
00000e99: SUB
00000e9a: DUP1
00000e9b: MLOAD
00000e9c: PUSH1 0x01
00000e9e: DUP4
00000e9f: PUSH1 0x20
00000ea1: SUB
00000ea2: PUSH2 0x0100
00000ea5: EXP
00000ea6: SUB
00000ea7: NOT
00000ea8: AND
00000ea9: DUP2
00000eaa: MSTORE
00000eab: PUSH1 0x20
00000ead: ADD
00000eae: SWAP2
00000eaf: POP
00000eb0: JUMPDEST
00000eb1: POP
00000eb2: SWAP6
00000eb3: POP
00000eb4: POP
00000eb5: POP
00000eb6: POP
00000eb7: POP
00000eb8: POP
00000eb9: PUSH1 0x00
00000ebb: PUSH1 0x40
00000ebd: MLOAD
00000ebe: DUP1
00000ebf: DUP4
00000ec0: SUB
00000ec1: DUP2
00000ec2: PUSH1 0x00
00000ec4: DUP8
00000ec5: PUSH2 0x61da
00000ec8: GAS
00000ec9: SUB
00000eca: CALL
00000ecb: ISZERO
00000ecc: PUSH2 0x0002
00000ecf: JUMPI
00000ed0: POP
00000ed1: POP
00000ed2: POP
00000ed3: PUSH1 0x01
00000ed5: SWAP2
00000ed6: POP
00000ed7: PUSH2 0x0edc
00000eda: JUMP
00000edb: JUMPDEST
00000edc: JUMPDEST
00000edd: POP
00000ede: SWAP4
00000edf: SWAP3
00000ee0: POP
00000ee1: POP
00000ee2: POP
00000ee3: JUMP
00000ee4: JUMPDEST
00000ee5: PUSH1 0x07
00000ee7: PUSH1 0x00
00000ee9: POP
00000eea: PUSH1 0x20
00000eec: MSTORE
00000eed: DUP2
00000eee: PUSH1 0x00
00000ef0: MSTORE
00000ef1: PUSH1 0x40
00000ef3: PUSH1 0x00
00000ef5: KECCAK256
00000ef6: PUSH1 0x00
00000ef8: POP
00000ef9: PUSH1 0x20
00000efb: MSTORE
00000efc: DUP1
00000efd: PUSH1 0x00
00000eff: MSTORE
00000f00: PUSH1 0x40
00000f02: PUSH1 0x00
00000f04: KECCAK256
00000f05: PUSH1 0x00
00000f07: SWAP2
00000f08: POP
00000f09: SWAP2
00000f0a: POP
00000f0b: POP
00000f0c: SLOAD
00000f0d: DUP2
00000f0e: 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 yes yes
view
trace_id: 0xfa4774b796a9ef6eb9dbcae4d2f9bcdf687b7ae98b0165224472d0ebf5ed66da
call_targets: 0x0000000000000000000000000000000000000004, 0xfaf5c17a22026dc81d3b93d3c32510b23bb407ff
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0xfa4774b796a9ef6eb9dbcae4d2f9bcdf687b7ae98b0165224472d0ebf5ed66da",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0xfaf5c17a22026dc81d3b93d3c32510b23bb407ff"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5a3b7e42",
            "selector": "0x5a3b7e42",
            "calldata_variants": [
                "0x5a3b7e42",
                "0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x73688914",
            "selector": "0x73688914",
            "calldata_variants": [
                "0x73688914",
                "0x736889140000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 302,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 617,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 946,
            "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 yes yes
view
trace_id: 0xfa4774b796a9ef6eb9dbcae4d2f9bcdf687b7ae98b0165224472d0ebf5ed66da
call_targets: 0x0000000000000000000000000000000000000004, 0xfaf5c17a22026dc81d3b93d3c32510b23bb407ff
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0xfa4774b796a9ef6eb9dbcae4d2f9bcdf687b7ae98b0165224472d0ebf5ed66da",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0xfaf5c17a22026dc81d3b93d3c32510b23bb407ff"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5a3b7e42",
            "selector": "0x5a3b7e42",
            "calldata_variants": [
                "0x5a3b7e42",
                "0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x73688914",
            "selector": "0x73688914",
            "calldata_variants": [
                "0x73688914",
                "0x736889140000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 302,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 617,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 946,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 7,
    "guards_detected": []
}