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

Analysis Run

019b3836-478c-71af-95a0-39606d66a672

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
6323 artifact.fetch complete 1 / 3 3 months ago
6324 tool.cast_disasm complete 1 / 3 3 months ago
109102 analysis.bundle complete 1 / 3 1 week ago
109103 capability.graph complete 1 / 3 1 week ago
109104 detector.run complete 1 / 3 1 week ago
109105 validation.fork complete 1 / 3 1 week ago
113929 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-hftmb51o
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5ca3-4411-7753-a3e7-f5dfac9b4132
--------
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:54:58.509909+00:00",
        "returncode": 1
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 5750,
        "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)
5
EXT*/BALANCE
2
Total opcodes
1840
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x00fb
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x06fdde03
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x010a
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x18160ddd
00000025: EQ
00000026: PUSH2 0x0167
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x1d71a1cd
00000030: EQ
00000031: PUSH2 0x0170
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x313ce567
0000003b: EQ
0000003c: PUSH2 0x01d7
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x3b46a7df
00000046: EQ
00000047: PUSH2 0x01e3
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x40c48dfa
00000051: EQ
00000052: PUSH2 0x0223
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x4b750334
0000005c: EQ
0000005d: PUSH2 0x022c
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x4f24186a
00000067: EQ
00000068: PUSH2 0x0235
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x5e983d08
00000072: EQ
00000073: PUSH2 0x0374
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0x68d4246b
0000007d: EQ
0000007e: PUSH2 0x03c0
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0x70a08231
00000088: EQ
00000089: PUSH2 0x0426
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0x8620410b
00000093: EQ
00000094: PUSH2 0x043e
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0x8da5cb5b
0000009e: EQ
0000009f: PUSH2 0x0447
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0x95d89b41
000000a9: EQ
000000aa: PUSH2 0x0459
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xa3ec138d
000000b4: EQ
000000b5: PUSH2 0x04b4
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0xa9059cbb
000000bf: EQ
000000c0: PUSH2 0x04cc
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0xd9c7041b
000000ca: EQ
000000cb: PUSH2 0x04fb
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0xe4849b32
000000d5: EQ
000000d6: PUSH2 0x0504
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0xf1a9af89
000000e0: EQ
000000e1: PUSH2 0x0512
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0xf2fde38b
000000eb: EQ
000000ec: PUSH2 0x051b
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0xfc0c546a
000000f6: EQ
000000f7: PUSH2 0x053d
000000fa: JUMPI
000000fb: JUMPDEST
000000fc: PUSH2 0x0557
000000ff: PUSH1 0x00
00000101: PUSH1 0x00
00000103: PUSH2 0x0574
00000106: PUSH2 0x0378
00000109: JUMP
0000010a: JUMPDEST
0000010b: PUSH1 0x40
0000010d: DUP1
0000010e: MLOAD
0000010f: PUSH1 0x01
00000111: DUP1
00000112: SLOAD
00000113: PUSH1 0x20
00000115: PUSH1 0x02
00000117: DUP3
00000118: DUP5
00000119: AND
0000011a: ISZERO
0000011b: PUSH2 0x0100
0000011e: MUL
0000011f: PUSH1 0x00
00000121: NOT
00000122: ADD
00000123: SWAP1
00000124: SWAP3
00000125: AND
00000126: SWAP2
00000127: SWAP1
00000128: SWAP2
00000129: DIV
0000012a: PUSH1 0x1f
0000012c: DUP2
0000012d: ADD
0000012e: DUP3
0000012f: SWAP1
00000130: DIV
00000131: DUP3
00000132: MUL
00000133: DUP5
00000134: ADD
00000135: DUP3
00000136: ADD
00000137: SWAP1
00000138: SWAP5
00000139: MSTORE
0000013a: DUP4
0000013b: DUP4
0000013c: MSTORE
0000013d: PUSH2 0x0612
00000140: SWAP4
00000141: SWAP1
00000142: DUP4
00000143: ADD
00000144: DUP3
00000145: DUP3
00000146: DUP1
00000147: ISZERO
00000148: PUSH2 0x06e0
0000014b: JUMPI
0000014c: DUP1
0000014d: PUSH1 0x1f
0000014f: LT
00000150: PUSH2 0x06b5
00000153: JUMPI
00000154: PUSH2 0x0100
00000157: DUP1
00000158: DUP4
00000159: SLOAD
0000015a: DIV
0000015b: MUL
0000015c: DUP4
0000015d: MSTORE
0000015e: SWAP2
0000015f: PUSH1 0x20
00000161: ADD
00000162: SWAP2
00000163: PUSH2 0x06e0
00000166: JUMP
00000167: JUMPDEST
00000168: PUSH2 0x0557
0000016b: PUSH1 0x04
0000016d: SLOAD
0000016e: DUP2
0000016f: JUMP
00000170: JUMPDEST
00000171: PUSH1 0x40
00000173: DUP1
00000174: MLOAD
00000175: PUSH1 0x20
00000177: PUSH1 0x04
00000179: DUP1
0000017a: CALLDATALOAD
0000017b: DUP1
0000017c: DUP3
0000017d: ADD
0000017e: CALLDATALOAD
0000017f: PUSH1 0x1f
00000181: DUP2
00000182: ADD
00000183: DUP5
00000184: SWAP1
00000185: DIV
00000186: DUP5
00000187: MUL
00000188: DUP6
00000189: ADD
0000018a: DUP5
0000018b: ADD
0000018c: SWAP1
0000018d: SWAP6
0000018e: MSTORE
0000018f: DUP5
00000190: DUP5
00000191: MSTORE
00000192: PUSH2 0x0612
00000195: SWAP5
00000196: SWAP2
00000197: SWAP4
00000198: PUSH1 0x24
0000019a: SWAP4
0000019b: SWAP1
0000019c: SWAP3
0000019d: SWAP2
0000019e: DUP5
0000019f: ADD
000001a0: SWAP2
000001a1: SWAP1
000001a2: DUP2
000001a3: SWAP1
000001a4: DUP5
000001a5: ADD
000001a6: DUP4
000001a7: DUP3
000001a8: DUP1
000001a9: DUP3
000001aa: DUP5
000001ab: CALLDATACOPY
000001ac: POP
000001ad: SWAP5
000001ae: SWAP7
000001af: POP
000001b0: POP
000001b1: POP
000001b2: POP
000001b3: POP
000001b4: POP
000001b5: POP
000001b6: PUSH1 0x40
000001b8: DUP1
000001b9: MLOAD
000001ba: PUSH1 0x20
000001bc: DUP2
000001bd: ADD
000001be: SWAP1
000001bf: SWAP2
000001c0: MSTORE
000001c1: PUSH1 0x00
000001c3: DUP2
000001c4: MSTORE
000001c5: PUSH7 0x2386f26fc10000
000001cd: CALLVALUE
000001ce: GT
000001cf: PUSH2 0x06f0
000001d2: JUMPI
000001d3: PUSH2 0x0002
000001d6: JUMP
000001d7: JUMPDEST
000001d8: PUSH2 0x0680
000001db: PUSH1 0x03
000001dd: SLOAD
000001de: PUSH1 0xff
000001e0: AND
000001e1: DUP2
000001e2: JUMP
000001e3: JUMPDEST
000001e4: PUSH2 0x0557
000001e7: PUSH1 0x04
000001e9: CALLDATALOAD
000001ea: CALLER
000001eb: PUSH1 0x01
000001ed: PUSH1 0xa0
000001ef: PUSH1 0x02
000001f1: EXP
000001f2: SUB
000001f3: AND
000001f4: PUSH1 0x00
000001f6: SWAP1
000001f7: DUP2
000001f8: MSTORE
000001f9: PUSH1 0x07
000001fb: PUSH1 0x20
000001fd: SWAP1
000001fe: DUP2
000001ff: MSTORE
00000200: PUSH1 0x40
00000202: DUP1
00000203: DUP4
00000204: KECCAK256
00000205: SLOAD
00000206: PUSH1 0x0b
00000208: DUP1
00000209: SLOAD
0000020a: SWAP1
0000020b: SWAP2
0000020c: ADD
0000020d: SWAP1
0000020e: SSTORE
0000020f: PUSH1 0x0e
00000211: SWAP1
00000212: SWAP2
00000213: MSTORE
00000214: DUP2
00000215: KECCAK256
00000216: SLOAD
00000217: DUP2
00000218: SWAP1
00000219: GT
0000021a: ISZERO
0000021b: PUSH2 0x078f
0000021e: JUMPI
0000021f: PUSH2 0x0002
00000222: JUMP
00000223: JUMPDEST
00000224: PUSH2 0x0557
00000227: PUSH1 0x05
00000229: SLOAD
0000022a: DUP2
0000022b: JUMP
0000022c: JUMPDEST
0000022d: PUSH2 0x0557
00000230: PUSH1 0x08
00000232: SLOAD
00000233: DUP2
00000234: JUMP
00000235: JUMPDEST
00000236: PUSH1 0x40
00000238: DUP1
00000239: MLOAD
0000023a: PUSH1 0x20
0000023c: PUSH1 0x04
0000023e: DUP1
0000023f: CALLDATALOAD
00000240: DUP1
00000241: DUP3
00000242: ADD
00000243: CALLDATALOAD
00000244: PUSH1 0x1f
00000246: DUP2
00000247: ADD
00000248: DUP5
00000249: SWAP1
0000024a: DIV
0000024b: DUP5
0000024c: MUL
0000024d: DUP6
0000024e: ADD
0000024f: DUP5
00000250: ADD
00000251: SWAP1
00000252: SWAP6
00000253: MSTORE
00000254: DUP5
00000255: DUP5
00000256: MSTORE
00000257: PUSH2 0x0612
0000025a: SWAP5
0000025b: SWAP2
0000025c: SWAP4
0000025d: PUSH1 0x24
0000025f: SWAP4
00000260: SWAP1
00000261: SWAP3
00000262: SWAP2
00000263: DUP5
00000264: ADD
00000265: SWAP2
00000266: SWAP1
00000267: DUP2
00000268: SWAP1
00000269: DUP5
0000026a: ADD
0000026b: DUP4
0000026c: DUP3
0000026d: DUP1
0000026e: DUP3
0000026f: DUP5
00000270: CALLDATACOPY
00000271: POP
00000272: SWAP5
00000273: SWAP7
00000274: POP
00000275: POP
00000276: POP
00000277: POP
00000278: POP
00000279: POP
0000027a: POP
0000027b: PUSH1 0x40
0000027d: DUP1
0000027e: MLOAD
0000027f: PUSH1 0x20
00000281: DUP2
00000282: ADD
00000283: SWAP1
00000284: SWAP2
00000285: MSTORE
00000286: PUSH1 0x00
00000288: DUP1
00000289: DUP3
0000028a: MSTORE
0000028b: SLOAD
0000028c: PUSH1 0x01
0000028e: PUSH1 0xa0
00000290: PUSH1 0x02
00000292: EXP
00000293: SUB
00000294: SWAP1
00000295: DUP2
00000296: AND
00000297: CALLER
00000298: SWAP1
00000299: SWAP2
0000029a: AND
0000029b: EQ
0000029c: ISZERO
0000029d: PUSH2 0x0801
000002a0: JUMPI
000002a1: PUSH1 0x00
000002a3: PUSH1 0x0b
000002a5: PUSH1 0x00
000002a7: POP
000002a8: DUP2
000002a9: SWAP1
000002aa: SSTORE
000002ab: POP
000002ac: PUSH32 0xb7e05d4fafe9e4f0ac7fb9e914e9fbadbd3c1ef56486ff779b1685adb16fd8d8
000002cd: DUP3
000002ce: PUSH1 0x40
000002d0: MLOAD
000002d1: DUP1
000002d2: DUP1
000002d3: PUSH1 0x20
000002d5: ADD
000002d6: DUP3
000002d7: DUP2
000002d8: SUB
000002d9: DUP3
000002da: MSTORE
000002db: DUP4
000002dc: DUP2
000002dd: DUP2
000002de: MLOAD
000002df: DUP2
000002e0: MSTORE
000002e1: PUSH1 0x20
000002e3: ADD
000002e4: SWAP2
000002e5: POP
000002e6: DUP1
000002e7: MLOAD
000002e8: SWAP1
000002e9: PUSH1 0x20
000002eb: ADD
000002ec: SWAP1
000002ed: DUP1
000002ee: DUP4
000002ef: DUP4
000002f0: DUP3
000002f1: SWAP1
000002f2: PUSH1 0x00
000002f4: PUSH1 0x04
000002f6: PUSH1 0x20
000002f8: DUP5
000002f9: PUSH1 0x1f
000002fb: ADD
000002fc: DIV
000002fd: PUSH1 0x0f
000002ff: MUL
00000300: PUSH1 0x03
00000302: ADD
00000303: CALL
00000304: POP
00000305: SWAP1
00000306: POP
00000307: SWAP1
00000308: DUP2
00000309: ADD
0000030a: SWAP1
0000030b: PUSH1 0x1f
0000030d: AND
0000030e: DUP1
0000030f: ISZERO
00000310: PUSH2 0x032d
00000313: JUMPI
00000314: DUP1
00000315: DUP3
00000316: SUB
00000317: DUP1
00000318: MLOAD
00000319: PUSH1 0x01
0000031b: DUP4
0000031c: PUSH1 0x20
0000031e: SUB
0000031f: PUSH2 0x0100
00000322: EXP
00000323: SUB
00000324: NOT
00000325: AND
00000326: DUP2
00000327: MSTORE
00000328: PUSH1 0x20
0000032a: ADD
0000032b: SWAP2
0000032c: POP
0000032d: JUMPDEST
0000032e: POP
0000032f: SWAP3
00000330: POP
00000331: POP
00000332: POP
00000333: PUSH1 0x40
00000335: MLOAD
00000336: DUP1
00000337: SWAP2
00000338: SUB
00000339: SWAP1
0000033a: LOG1
0000033b: POP
0000033c: PUSH1 0x40
0000033e: DUP1
0000033f: MLOAD
00000340: DUP1
00000341: DUP3
00000342: ADD
00000343: SWAP1
00000344: SWAP2
00000345: MSTORE
00000346: PUSH1 0x02
00000348: DUP2
00000349: MSTORE
0000034a: PUSH32 0x6f6b000000000000000000000000000000000000000000000000000000000000
0000036b: PUSH1 0x20
0000036d: DUP3
0000036e: ADD
0000036f: MSTORE
00000370: PUSH2 0x06eb
00000373: JUMP
00000374: JUMPDEST
00000375: PUSH2 0x0557
00000378: JUMPDEST
00000379: PUSH1 0x04
0000037b: SLOAD
0000037c: PUSH1 0x0a
0000037e: SLOAD
0000037f: PUSH1 0x09
00000381: SLOAD
00000382: PUSH1 0x00
00000384: SWAP3
00000385: PUSH2 0x01f4
00000388: SWAP1
00000389: DUP4
0000038a: MUL
0000038b: DIV
0000038c: SWAP1
0000038d: SWAP2
0000038e: ADD
0000038f: SWAP1
00000390: DUP2
00000391: GT
00000392: ISZERO
00000393: PUSH2 0x039c
00000396: JUMPI
00000397: PUSH1 0x09
00000399: DUP2
0000039a: SWAP1
0000039b: SSTORE
0000039c: JUMPDEST
0000039d: PUSH1 0x04
0000039f: SLOAD
000003a0: PUSH1 0x01
000003a2: PUSH1 0xa0
000003a4: PUSH1 0x02
000003a6: EXP
000003a7: SUB
000003a8: ADDRESS
000003a9: AND
000003aa: DUP1
000003ab: BALANCE
000003ac: SWAP2
000003ad: SWAP1
000003ae: SWAP2
000003af: DIV
000003b0: PUSH1 0x08
000003b2: SSTORE
000003b3: BALANCE
000003b4: PUSH1 0x06
000003b6: SSTORE
000003b7: PUSH1 0x09
000003b9: SLOAD
000003ba: SWAP2
000003bb: POP
000003bc: PUSH2 0x0570
000003bf: JUMP
000003c0: JUMPDEST
000003c1: PUSH2 0x0696
000003c4: JUMPDEST
000003c5: PUSH1 0x40
000003c7: DUP1
000003c8: MLOAD
000003c9: PUSH1 0x09
000003cb: SLOAD
000003cc: PUSH1 0x08
000003ce: SLOAD
000003cf: PUSH1 0x05
000003d1: SLOAD
000003d2: PUSH1 0x04
000003d4: SLOAD
000003d5: PUSH1 0x06
000003d7: SLOAD
000003d8: TIMESTAMP
000003d9: DUP7
000003da: MSTORE
000003db: PUSH1 0x20
000003dd: DUP7
000003de: ADD
000003df: SWAP5
000003e0: SWAP1
000003e1: SWAP5
000003e2: MSTORE
000003e3: DUP5
000003e4: DUP7
000003e5: ADD
000003e6: SWAP3
000003e7: SWAP1
000003e8: SWAP3
000003e9: MSTORE
000003ea: PUSH1 0x60
000003ec: DUP5
000003ed: ADD
000003ee: MSTORE
000003ef: PUSH1 0x80
000003f1: DUP4
000003f2: ADD
000003f3: MSTORE
000003f4: PUSH1 0xa0
000003f6: DUP3
000003f7: ADD
000003f8: MSTORE
000003f9: SWAP1
000003fa: MLOAD
000003fb: PUSH32 0x3e4629b4a35939d488fcedd1428dee324948d953a2094e5990662febf7ca2b21
0000041c: SWAP2
0000041d: DUP2
0000041e: SWAP1
0000041f: SUB
00000420: PUSH1 0xc0
00000422: ADD
00000423: SWAP1
00000424: LOG1
00000425: JUMP
00000426: JUMPDEST
00000427: PUSH2 0x0557
0000042a: PUSH1 0x04
0000042c: CALLDATALOAD
0000042d: PUSH1 0x07
0000042f: PUSH1 0x20
00000431: MSTORE
00000432: PUSH1 0x00
00000434: SWAP1
00000435: DUP2
00000436: MSTORE
00000437: PUSH1 0x40
00000439: SWAP1
0000043a: KECCAK256
0000043b: SLOAD
0000043c: DUP2
0000043d: JUMP
0000043e: JUMPDEST
0000043f: PUSH2 0x0557
00000442: PUSH1 0x09
00000444: SLOAD
00000445: DUP2
00000446: JUMP
00000447: JUMPDEST
00000448: PUSH2 0x0698
0000044b: PUSH1 0x00
0000044d: SLOAD
0000044e: PUSH1 0x01
00000450: PUSH1 0xa0
00000452: PUSH1 0x02
00000454: EXP
00000455: SUB
00000456: AND
00000457: DUP2
00000458: JUMP
00000459: JUMPDEST
0000045a: PUSH1 0x40
0000045c: DUP1
0000045d: MLOAD
0000045e: PUSH1 0x02
00000460: DUP1
00000461: SLOAD
00000462: PUSH1 0x20
00000464: PUSH1 0x01
00000466: DUP3
00000467: AND
00000468: ISZERO
00000469: PUSH2 0x0100
0000046c: MUL
0000046d: PUSH1 0x00
0000046f: NOT
00000470: ADD
00000471: SWAP1
00000472: SWAP2
00000473: AND
00000474: DUP3
00000475: SWAP1
00000476: DIV
00000477: PUSH1 0x1f
00000479: DUP2
0000047a: ADD
0000047b: DUP3
0000047c: SWAP1
0000047d: DIV
0000047e: DUP3
0000047f: MUL
00000480: DUP5
00000481: ADD
00000482: DUP3
00000483: ADD
00000484: SWAP1
00000485: SWAP5
00000486: MSTORE
00000487: DUP4
00000488: DUP4
00000489: MSTORE
0000048a: PUSH2 0x0612
0000048d: SWAP4
0000048e: SWAP1
0000048f: DUP4
00000490: ADD
00000491: DUP3
00000492: DUP3
00000493: DUP1
00000494: ISZERO
00000495: PUSH2 0x06e0
00000498: JUMPI
00000499: DUP1
0000049a: PUSH1 0x1f
0000049c: LT
0000049d: PUSH2 0x06b5
000004a0: JUMPI
000004a1: PUSH2 0x0100
000004a4: DUP1
000004a5: DUP4
000004a6: SLOAD
000004a7: DIV
000004a8: MUL
000004a9: DUP4
000004aa: MSTORE
000004ab: SWAP2
000004ac: PUSH1 0x20
000004ae: ADD
000004af: SWAP2
000004b0: PUSH2 0x06e0
000004b3: JUMP
000004b4: JUMPDEST
000004b5: PUSH2 0x0557
000004b8: PUSH1 0x04
000004ba: CALLDATALOAD
000004bb: PUSH1 0x0e
000004bd: PUSH1 0x20
000004bf: MSTORE
000004c0: PUSH1 0x00
000004c2: SWAP1
000004c3: DUP2
000004c4: MSTORE
000004c5: PUSH1 0x40
000004c7: SWAP1
000004c8: KECCAK256
000004c9: SLOAD
000004ca: DUP2
000004cb: JUMP
000004cc: JUMPDEST
000004cd: PUSH2 0x0696
000004d0: PUSH1 0x04
000004d2: CALLDATALOAD
000004d3: PUSH1 0x24
000004d5: CALLDATALOAD
000004d6: CALLER
000004d7: PUSH1 0x01
000004d9: PUSH1 0xa0
000004db: PUSH1 0x02
000004dd: EXP
000004de: SUB
000004df: AND
000004e0: PUSH1 0x00
000004e2: SWAP1
000004e3: DUP2
000004e4: MSTORE
000004e5: PUSH1 0x07
000004e7: PUSH1 0x20
000004e9: MSTORE
000004ea: PUSH1 0x40
000004ec: SWAP1
000004ed: KECCAK256
000004ee: SLOAD
000004ef: DUP2
000004f0: SWAP1
000004f1: LT
000004f2: ISZERO
000004f3: PUSH2 0x08a8
000004f6: JUMPI
000004f7: PUSH2 0x0002
000004fa: JUMP
000004fb: JUMPDEST
000004fc: PUSH2 0x0557
000004ff: PUSH1 0x06
00000501: SLOAD
00000502: DUP2
00000503: JUMP
00000504: JUMPDEST
00000505: PUSH2 0x0696
00000508: PUSH1 0x04
0000050a: CALLDATALOAD
0000050b: PUSH2 0x08d2
0000050e: PUSH2 0x0378
00000511: JUMP
00000512: JUMPDEST
00000513: PUSH2 0x0557
00000516: PUSH1 0x0a
00000518: SLOAD
00000519: DUP2
0000051a: JUMP
0000051b: JUMPDEST
0000051c: PUSH2 0x0696
0000051f: PUSH1 0x04
00000521: CALLDATALOAD
00000522: PUSH1 0x00
00000524: SLOAD
00000525: PUSH1 0x01
00000527: PUSH1 0xa0
00000529: PUSH1 0x02
0000052b: EXP
0000052c: SUB
0000052d: SWAP1
0000052e: DUP2
0000052f: AND
00000530: CALLER
00000531: SWAP1
00000532: SWAP2
00000533: AND
00000534: EQ
00000535: PUSH2 0x0991
00000538: JUMPI
00000539: PUSH2 0x0002
0000053c: JUMP
0000053d: JUMPDEST
0000053e: PUSH2 0x0696
00000541: PUSH1 0x00
00000543: DUP1
00000544: SLOAD
00000545: PUSH1 0x01
00000547: PUSH1 0xa0
00000549: PUSH1 0x02
0000054b: EXP
0000054c: SUB
0000054d: AND
0000054e: EQ
0000054f: PUSH2 0x09b3
00000552: JUMPI
00000553: PUSH2 0x0002
00000556: JUMP
00000557: JUMPDEST
00000558: PUSH1 0x40
0000055a: DUP1
0000055b: MLOAD
0000055c: SWAP2
0000055d: DUP3
0000055e: MSTORE
0000055f: MLOAD
00000560: SWAP1
00000561: DUP2
00000562: SWAP1
00000563: SUB
00000564: PUSH1 0x20
00000566: ADD
00000567: SWAP1
00000568: RETURN
00000569: JUMPDEST
0000056a: POP
0000056b: PUSH1 0x09
0000056d: SLOAD
0000056e: SWAP2
0000056f: POP
00000570: JUMPDEST
00000571: POP
00000572: SWAP1
00000573: JUMP
00000574: JUMPDEST
00000575: POP
00000576: POP
00000577: PUSH1 0x09
00000579: SLOAD
0000057a: CALLER
0000057b: PUSH1 0x01
0000057d: PUSH1 0xa0
0000057f: PUSH1 0x02
00000581: EXP
00000582: SUB
00000583: AND
00000584: PUSH1 0x00
00000586: DUP2
00000587: DUP2
00000588: MSTORE
00000589: PUSH1 0x07
0000058b: PUSH1 0x20
0000058d: SWAP1
0000058e: DUP2
0000058f: MSTORE
00000590: PUSH1 0x40
00000592: DUP1
00000593: DUP4
00000594: KECCAK256
00000595: DUP1
00000596: SLOAD
00000597: CALLVALUE
00000598: SWAP7
00000599: SWAP1
0000059a: SWAP7
0000059b: DIV
0000059c: SWAP6
0000059d: DUP7
0000059e: ADD
0000059f: SWAP1
000005a0: SSTORE
000005a1: PUSH1 0x04
000005a3: DUP1
000005a4: SLOAD
000005a5: DUP7
000005a6: ADD
000005a7: SWAP1
000005a8: SSTORE
000005a9: PUSH1 0x05
000005ab: DUP1
000005ac: SLOAD
000005ad: DUP7
000005ae: ADD
000005af: SWAP1
000005b0: SSTORE
000005b1: DUP1
000005b2: MLOAD
000005b3: DUP6
000005b4: DUP2
000005b5: MSTORE
000005b6: SWAP1
000005b7: MLOAD
000005b8: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
000005d9: SWAP3
000005da: SWAP2
000005db: DUP2
000005dc: SWAP1
000005dd: SUB
000005de: SWAP1
000005df: SWAP2
000005e0: ADD
000005e1: SWAP1
000005e2: LOG3
000005e3: PUSH1 0x00
000005e5: DUP1
000005e6: SLOAD
000005e7: PUSH1 0x40
000005e9: MLOAD
000005ea: PUSH1 0x01
000005ec: PUSH1 0xa0
000005ee: PUSH1 0x02
000005f0: EXP
000005f1: SUB
000005f2: SWAP2
000005f3: SWAP1
000005f4: SWAP2
000005f5: AND
000005f6: SWAP2
000005f7: SWAP1
000005f8: PUSH1 0x02
000005fa: CALLVALUE
000005fb: DIV
000005fc: SWAP1
000005fd: DUP3
000005fe: DUP2
000005ff: DUP2
00000600: DUP2
00000601: DUP6
00000602: DUP9
00000603: DUP4
00000604: CALL
00000605: SWAP4
00000606: POP
00000607: POP
00000608: POP
00000609: POP
0000060a: POP
0000060b: PUSH2 0x0569
0000060e: PUSH2 0x0378
00000611: JUMP
00000612: JUMPDEST
00000613: PUSH1 0x40
00000615: MLOAD
00000616: DUP1
00000617: DUP1
00000618: PUSH1 0x20
0000061a: ADD
0000061b: DUP3
0000061c: DUP2
0000061d: SUB
0000061e: DUP3
0000061f: MSTORE
00000620: DUP4
00000621: DUP2
00000622: DUP2
00000623: MLOAD
00000624: DUP2
00000625: MSTORE
00000626: PUSH1 0x20
00000628: ADD
00000629: SWAP2
0000062a: POP
0000062b: DUP1
0000062c: MLOAD
0000062d: SWAP1
0000062e: PUSH1 0x20
00000630: ADD
00000631: SWAP1
00000632: DUP1
00000633: DUP4
00000634: DUP4
00000635: DUP3
00000636: SWAP1
00000637: PUSH1 0x00
00000639: PUSH1 0x04
0000063b: PUSH1 0x20
0000063d: DUP5
0000063e: PUSH1 0x1f
00000640: ADD
00000641: DIV
00000642: PUSH1 0x0f
00000644: MUL
00000645: PUSH1 0x03
00000647: ADD
00000648: CALL
00000649: POP
0000064a: SWAP1
0000064b: POP
0000064c: SWAP1
0000064d: DUP2
0000064e: ADD
0000064f: SWAP1
00000650: PUSH1 0x1f
00000652: AND
00000653: DUP1
00000654: ISZERO
00000655: PUSH2 0x0672
00000658: JUMPI
00000659: DUP1
0000065a: DUP3
0000065b: SUB
0000065c: DUP1
0000065d: MLOAD
0000065e: PUSH1 0x01
00000660: DUP4
00000661: PUSH1 0x20
00000663: SUB
00000664: PUSH2 0x0100
00000667: EXP
00000668: SUB
00000669: NOT
0000066a: AND
0000066b: DUP2
0000066c: MSTORE
0000066d: PUSH1 0x20
0000066f: ADD
00000670: SWAP2
00000671: POP
00000672: JUMPDEST
00000673: POP
00000674: SWAP3
00000675: POP
00000676: POP
00000677: POP
00000678: PUSH1 0x40
0000067a: MLOAD
0000067b: DUP1
0000067c: SWAP2
0000067d: SUB
0000067e: SWAP1
0000067f: RETURN
00000680: JUMPDEST
00000681: PUSH1 0x40
00000683: DUP1
00000684: MLOAD
00000685: PUSH1 0xff
00000687: SWAP1
00000688: SWAP3
00000689: AND
0000068a: DUP3
0000068b: MSTORE
0000068c: MLOAD
0000068d: SWAP1
0000068e: DUP2
0000068f: SWAP1
00000690: SUB
00000691: PUSH1 0x20
00000693: ADD
00000694: SWAP1
00000695: RETURN
00000696: JUMPDEST
00000697: STOP
00000698: JUMPDEST
00000699: PUSH1 0x40
0000069b: DUP1
0000069c: MLOAD
0000069d: PUSH1 0x01
0000069f: PUSH1 0xa0
000006a1: PUSH1 0x02
000006a3: EXP
000006a4: SUB
000006a5: SWAP3
000006a6: SWAP1
000006a7: SWAP3
000006a8: AND
000006a9: DUP3
000006aa: MSTORE
000006ab: MLOAD
000006ac: SWAP1
000006ad: DUP2
000006ae: SWAP1
000006af: SUB
000006b0: PUSH1 0x20
000006b2: ADD
000006b3: SWAP1
000006b4: RETURN
000006b5: JUMPDEST
000006b6: DUP3
000006b7: ADD
000006b8: SWAP2
000006b9: SWAP1
000006ba: PUSH1 0x00
000006bc: MSTORE
000006bd: PUSH1 0x20
000006bf: PUSH1 0x00
000006c1: KECCAK256
000006c2: SWAP1
000006c3: JUMPDEST
000006c4: DUP2
000006c5: SLOAD
000006c6: DUP2
000006c7: MSTORE
000006c8: SWAP1
000006c9: PUSH1 0x01
000006cb: ADD
000006cc: SWAP1
000006cd: PUSH1 0x20
000006cf: ADD
000006d0: DUP1
000006d1: DUP4
000006d2: GT
000006d3: PUSH2 0x06c3
000006d6: JUMPI
000006d7: DUP3
000006d8: SWAP1
000006d9: SUB
000006da: PUSH1 0x1f
000006dc: AND
000006dd: DUP3
000006de: ADD
000006df: SWAP2
000006e0: JUMPDEST
000006e1: POP
000006e2: POP
000006e3: POP
000006e4: POP
000006e5: POP
000006e6: DUP2
000006e7: JUMP
000006e8: JUMPDEST
000006e9: POP
000006ea: DUP1
000006eb: JUMPDEST
000006ec: SWAP2
000006ed: SWAP1
000006ee: POP
000006ef: JUMP
000006f0: JUMPDEST
000006f1: PUSH32 0xdd585e7b910c0f60ca245afc864bde0407e07a5a2521d3b3d47ef1bb8c2f9b0f
00000712: CALLVALUE
00000713: DUP4
00000714: PUSH1 0x40
00000716: MLOAD
00000717: DUP1
00000718: DUP4
00000719: DUP2
0000071a: MSTORE
0000071b: PUSH1 0x20
0000071d: ADD
0000071e: DUP1
0000071f: PUSH1 0x20
00000721: ADD
00000722: DUP3
00000723: DUP2
00000724: SUB
00000725: DUP3
00000726: MSTORE
00000727: DUP4
00000728: DUP2
00000729: DUP2
0000072a: MLOAD
0000072b: DUP2
0000072c: MSTORE
0000072d: PUSH1 0x20
0000072f: ADD
00000730: SWAP2
00000731: POP
00000732: DUP1
00000733: MLOAD
00000734: SWAP1
00000735: PUSH1 0x20
00000737: ADD
00000738: SWAP1
00000739: DUP1
0000073a: DUP4
0000073b: DUP4
0000073c: DUP3
0000073d: SWAP1
0000073e: PUSH1 0x00
00000740: PUSH1 0x04
00000742: PUSH1 0x20
00000744: DUP5
00000745: PUSH1 0x1f
00000747: ADD
00000748: DIV
00000749: PUSH1 0x0f
0000074b: MUL
0000074c: PUSH1 0x03
0000074e: ADD
0000074f: CALL
00000750: POP
00000751: SWAP1
00000752: POP
00000753: SWAP1
00000754: DUP2
00000755: ADD
00000756: SWAP1
00000757: PUSH1 0x1f
00000759: AND
0000075a: DUP1
0000075b: ISZERO
0000075c: PUSH2 0x0779
0000075f: JUMPI
00000760: DUP1
00000761: DUP3
00000762: SUB
00000763: DUP1
00000764: MLOAD
00000765: PUSH1 0x01
00000767: DUP4
00000768: PUSH1 0x20
0000076a: SUB
0000076b: PUSH2 0x0100
0000076e: EXP
0000076f: SUB
00000770: NOT
00000771: AND
00000772: DUP2
00000773: MSTORE
00000774: PUSH1 0x20
00000776: ADD
00000777: SWAP2
00000778: POP
00000779: JUMPDEST
0000077a: POP
0000077b: SWAP4
0000077c: POP
0000077d: POP
0000077e: POP
0000077f: POP
00000780: PUSH1 0x40
00000782: MLOAD
00000783: DUP1
00000784: SWAP2
00000785: SUB
00000786: SWAP1
00000787: LOG1
00000788: PUSH2 0x06e8
0000078b: PUSH2 0x03c4
0000078e: JUMP
0000078f: JUMPDEST
00000790: CALLER
00000791: PUSH1 0x01
00000793: PUSH1 0xa0
00000795: PUSH1 0x02
00000797: EXP
00000798: SUB
00000799: AND
0000079a: PUSH1 0x00
0000079c: DUP2
0000079d: DUP2
0000079e: MSTORE
0000079f: PUSH1 0x0e
000007a1: PUSH1 0x20
000007a3: SWAP1
000007a4: DUP2
000007a5: MSTORE
000007a6: PUSH1 0x40
000007a8: DUP1
000007a9: DUP4
000007aa: KECCAK256
000007ab: DUP1
000007ac: SLOAD
000007ad: PUSH1 0x01
000007af: ADD
000007b0: SWAP1
000007b1: SSTORE
000007b2: PUSH1 0x07
000007b4: DUP3
000007b5: MSTORE
000007b6: DUP1
000007b7: MLOAD
000007b8: SWAP3
000007b9: DUP2
000007ba: SWAP1
000007bb: KECCAK256
000007bc: SLOAD
000007bd: DUP7
000007be: ISZERO
000007bf: ISZERO
000007c0: DUP5
000007c1: MSTORE
000007c2: SWAP2
000007c3: DUP4
000007c4: ADD
000007c5: SWAP4
000007c6: SWAP1
000007c7: SWAP4
000007c8: MSTORE
000007c9: DUP2
000007ca: DUP4
000007cb: ADD
000007cc: MSTORE
000007cd: SWAP1
000007ce: MLOAD
000007cf: PUSH32 0x87c19bcb6d6107a628e895e6d3c7e270cd03fe3389bf78638c5d9f50f050f5c5
000007f0: SWAP2
000007f1: DUP2
000007f2: SWAP1
000007f3: SUB
000007f4: PUSH1 0x60
000007f6: ADD
000007f7: SWAP1
000007f8: LOG1
000007f9: POP
000007fa: PUSH1 0x0b
000007fc: SLOAD
000007fd: PUSH2 0x06eb
00000800: JUMP
00000801: JUMPDEST
00000802: POP
00000803: PUSH1 0x40
00000805: DUP1
00000806: MLOAD
00000807: DUP1
00000808: DUP3
00000809: ADD
0000080a: SWAP1
0000080b: SWAP2
0000080c: MSTORE
0000080d: PUSH1 0x16
0000080f: DUP2
00000810: MSTORE
00000811: PUSH32 0x4f6e6c792061646d696e2063616e20646f207468697300000000000000000000
00000832: PUSH1 0x20
00000834: DUP3
00000835: ADD
00000836: MSTORE
00000837: PUSH2 0x06eb
0000083a: JUMP
0000083b: JUMPDEST
0000083c: CALLER
0000083d: PUSH1 0x01
0000083f: PUSH1 0xa0
00000841: PUSH1 0x02
00000843: EXP
00000844: SUB
00000845: SWAP1
00000846: DUP2
00000847: AND
00000848: PUSH1 0x00
0000084a: DUP2
0000084b: DUP2
0000084c: MSTORE
0000084d: PUSH1 0x07
0000084f: PUSH1 0x20
00000851: SWAP1
00000852: DUP2
00000853: MSTORE
00000854: PUSH1 0x40
00000856: DUP1
00000857: DUP4
00000858: KECCAK256
00000859: DUP1
0000085a: SLOAD
0000085b: DUP8
0000085c: SWAP1
0000085d: SUB
0000085e: SWAP1
0000085f: SSTORE
00000860: SWAP4
00000861: DUP7
00000862: AND
00000863: DUP1
00000864: DUP4
00000865: MSTORE
00000866: SWAP2
00000867: DUP5
00000868: SWAP1
00000869: KECCAK256
0000086a: DUP1
0000086b: SLOAD
0000086c: DUP7
0000086d: ADD
0000086e: SWAP1
0000086f: SSTORE
00000870: DUP4
00000871: MLOAD
00000872: DUP6
00000873: DUP2
00000874: MSTORE
00000875: SWAP4
00000876: MLOAD
00000877: SWAP2
00000878: SWAP4
00000879: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
0000089a: SWAP3
0000089b: SWAP1
0000089c: DUP2
0000089d: SWAP1
0000089e: SUB
0000089f: SWAP1
000008a0: SWAP2
000008a1: ADD
000008a2: SWAP1
000008a3: LOG3
000008a4: JUMPDEST
000008a5: POP
000008a6: POP
000008a7: JUMP
000008a8: JUMPDEST
000008a9: PUSH1 0x01
000008ab: PUSH1 0xa0
000008ad: PUSH1 0x02
000008af: EXP
000008b0: SUB
000008b1: DUP3
000008b2: AND
000008b3: PUSH1 0x00
000008b5: SWAP1
000008b6: DUP2
000008b7: MSTORE
000008b8: PUSH1 0x07
000008ba: PUSH1 0x20
000008bc: MSTORE
000008bd: PUSH1 0x40
000008bf: SWAP1
000008c0: KECCAK256
000008c1: SLOAD
000008c2: DUP1
000008c3: DUP3
000008c4: ADD
000008c5: LT
000008c6: ISZERO
000008c7: PUSH2 0x083b
000008ca: JUMPI
000008cb: PUSH2 0x0002
000008ce: JUMP
000008cf: JUMPDEST
000008d0: POP
000008d1: JUMP
000008d2: JUMPDEST
000008d3: POP
000008d4: CALLER
000008d5: PUSH1 0x01
000008d7: PUSH1 0xa0
000008d9: PUSH1 0x02
000008db: EXP
000008dc: SUB
000008dd: AND
000008de: PUSH1 0x00
000008e0: SWAP1
000008e1: DUP2
000008e2: MSTORE
000008e3: PUSH1 0x07
000008e5: PUSH1 0x20
000008e7: MSTORE
000008e8: PUSH1 0x40
000008ea: SWAP1
000008eb: KECCAK256
000008ec: SLOAD
000008ed: DUP2
000008ee: SWAP1
000008ef: LT
000008f0: ISZERO
000008f1: PUSH2 0x08f9
000008f4: JUMPI
000008f5: PUSH2 0x0002
000008f8: JUMP
000008f9: JUMPDEST
000008fa: ADDRESS
000008fb: PUSH1 0x01
000008fd: PUSH1 0xa0
000008ff: PUSH1 0x02
00000901: EXP
00000902: SUB
00000903: AND
00000904: CALLER
00000905: PUSH1 0x01
00000907: PUSH1 0xa0
00000909: PUSH1 0x02
0000090b: EXP
0000090c: SUB
0000090d: AND
0000090e: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
0000092f: DUP4
00000930: PUSH1 0x40
00000932: MLOAD
00000933: DUP1
00000934: DUP3
00000935: DUP2
00000936: MSTORE
00000937: PUSH1 0x20
00000939: ADD
0000093a: SWAP2
0000093b: POP
0000093c: POP
0000093d: PUSH1 0x40
0000093f: MLOAD
00000940: DUP1
00000941: SWAP2
00000942: SUB
00000943: SWAP1
00000944: LOG3
00000945: PUSH1 0x04
00000947: DUP1
00000948: SLOAD
00000949: PUSH1 0x40
0000094b: DUP1
0000094c: MLOAD
0000094d: SWAP2
0000094e: DUP5
0000094f: SWAP1
00000950: SUB
00000951: SWAP1
00000952: SWAP3
00000953: SSTORE
00000954: CALLER
00000955: PUSH1 0x01
00000957: PUSH1 0xa0
00000959: PUSH1 0x02
0000095b: EXP
0000095c: SUB
0000095d: AND
0000095e: PUSH1 0x00
00000960: DUP2
00000961: DUP2
00000962: MSTORE
00000963: PUSH1 0x07
00000965: PUSH1 0x20
00000967: MSTORE
00000968: SWAP3
00000969: DUP4
0000096a: KECCAK256
0000096b: DUP1
0000096c: SLOAD
0000096d: DUP6
0000096e: SWAP1
0000096f: SUB
00000970: SWAP1
00000971: SSTORE
00000972: PUSH1 0x08
00000974: SLOAD
00000975: SWAP1
00000976: SWAP3
00000977: SWAP2
00000978: SWAP1
00000979: DUP5
0000097a: MUL
0000097b: SWAP1
0000097c: DUP3
0000097d: DUP2
0000097e: DUP2
0000097f: DUP2
00000980: DUP6
00000981: DUP9
00000982: DUP4
00000983: CALL
00000984: SWAP4
00000985: POP
00000986: POP
00000987: POP
00000988: POP
00000989: POP
0000098a: PUSH2 0x08a4
0000098d: PUSH2 0x0378
00000990: JUMP
00000991: JUMPDEST
00000992: PUSH1 0x00
00000994: DUP1
00000995: SLOAD
00000996: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009ab: NOT
000009ac: AND
000009ad: DUP3
000009ae: OR
000009af: SWAP1
000009b0: SSTORE
000009b1: POP
000009b2: JUMP
000009b3: JUMPDEST
000009b4: CALLER
000009b5: PUSH1 0x01
000009b7: PUSH1 0xa0
000009b9: PUSH1 0x02
000009bb: EXP
000009bc: SUB
000009bd: AND
000009be: PUSH1 0x00
000009c0: SWAP1
000009c1: DUP2
000009c2: MSTORE
000009c3: PUSH1 0x07
000009c5: PUSH1 0x20
000009c7: SWAP1
000009c8: DUP2
000009c9: MSTORE
000009ca: PUSH1 0x40
000009cc: DUP1
000009cd: DUP4
000009ce: KECCAK256
000009cf: DUP4
000009d0: SWAP1
000009d1: SSTORE
000009d2: PUSH1 0x04
000009d4: DUP4
000009d5: SWAP1
000009d6: SSTORE
000009d7: DUP1
000009d8: MLOAD
000009d9: DUP1
000009da: DUP3
000009db: ADD
000009dc: SWAP1
000009dd: SWAP2
000009de: MSTORE
000009df: PUSH1 0x0d
000009e1: DUP2
000009e2: MSTORE
000009e3: PUSH32 0x6e6f786f6e66756e642e636f6d00000000000000000000000000000000000000
00000a04: SWAP1
00000a05: DUP3
00000a06: ADD
00000a07: SWAP1
00000a08: DUP2
00000a09: MSTORE
00000a0a: PUSH1 0x01
00000a0c: DUP1
00000a0d: SLOAD
00000a0e: SWAP4
00000a0f: DUP2
00000a10: SWAP1
00000a11: MSTORE
00000a12: SWAP1
00000a13: MLOAD
00000a14: PUSH1 0xff
00000a16: NOT
00000a17: AND
00000a18: PUSH1 0x1a
00000a1a: OR
00000a1b: DUP2
00000a1c: SSTORE
00000a1d: SWAP2
00000a1e: PUSH2 0x0a74
00000a21: SWAP2
00000a22: PUSH1 0x02
00000a24: DUP3
00000a25: DUP6
00000a26: AND
00000a27: ISZERO
00000a28: PUSH2 0x0100
00000a2b: MUL
00000a2c: PUSH1 0x00
00000a2e: NOT
00000a2f: ADD
00000a30: SWAP1
00000a31: SWAP3
00000a32: AND
00000a33: SWAP2
00000a34: SWAP1
00000a35: SWAP2
00000a36: DIV
00000a37: PUSH1 0x1f
00000a39: ADD
00000a3a: DIV
00000a3b: PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6
00000a5c: SWAP1
00000a5d: DUP2
00000a5e: ADD
00000a5f: SWAP1
00000a60: JUMPDEST
00000a61: DUP1
00000a62: DUP3
00000a63: GT
00000a64: ISZERO
00000a65: PUSH2 0x0570
00000a68: JUMPI
00000a69: PUSH1 0x00
00000a6b: DUP2
00000a6c: SSTORE
00000a6d: PUSH1 0x01
00000a6f: ADD
00000a70: PUSH2 0x0a60
00000a73: JUMP
00000a74: JUMPDEST
00000a75: POP
00000a76: POP
00000a77: PUSH1 0x40
00000a79: DUP1
00000a7a: MLOAD
00000a7b: DUP1
00000a7c: DUP3
00000a7d: ADD
00000a7e: SWAP1
00000a7f: SWAP2
00000a80: MSTORE
00000a81: PUSH1 0x0a
00000a83: DUP2
00000a84: MSTORE
00000a85: PUSH32 0xf09f8c8020534841524500000000000000000000000000000000000000000000
00000aa6: PUSH1 0x20
00000aa8: SWAP2
00000aa9: DUP3
00000aaa: ADD
00000aab: SWAP1
00000aac: DUP2
00000aad: MSTORE
00000aae: PUSH1 0x02
00000ab0: DUP1
00000ab1: SLOAD
00000ab2: PUSH1 0x00
00000ab4: DUP3
00000ab5: SWAP1
00000ab6: MSTORE
00000ab7: SWAP2
00000ab8: MLOAD
00000ab9: PUSH1 0xff
00000abb: NOT
00000abc: AND
00000abd: PUSH1 0x14
00000abf: OR
00000ac0: DUP2
00000ac1: SSTORE
00000ac2: SWAP2
00000ac3: PUSH2 0x0b07
00000ac6: SWAP2
00000ac7: PUSH1 0x1f
00000ac9: PUSH1 0x01
00000acb: DUP3
00000acc: AND
00000acd: ISZERO
00000ace: PUSH2 0x0100
00000ad1: MUL
00000ad2: PUSH1 0x00
00000ad4: NOT
00000ad5: ADD
00000ad6: SWAP1
00000ad7: SWAP2
00000ad8: AND
00000ad9: DUP5
00000ada: SWAP1
00000adb: DIV
00000adc: ADD
00000add: DIV
00000ade: PUSH32 0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace
00000aff: SWAP1
00000b00: DUP2
00000b01: ADD
00000b02: SWAP1
00000b03: PUSH2 0x0a60
00000b06: JUMP
00000b07: JUMPDEST
00000b08: POP
00000b09: POP
00000b0a: PUSH1 0x03
00000b0c: DUP1
00000b0d: SLOAD
00000b0e: PUSH1 0xff
00000b10: NOT
00000b11: AND
00000b12: SWAP1
00000b13: SSTORE
00000b14: PUSH1 0x00
00000b16: DUP1
00000b17: SLOAD
00000b18: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b2d: NOT
00000b2e: AND
00000b2f: CALLER
00000b30: OR
00000b31: SWAP1
00000b32: SSTORE
00000b33: PUSH2 0x08cf
00000b36: PUSH2 0x0378
00000b39: 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: 0x3091eb82e69e8c75db1b574f7c723e80d837f11926986c7f11fb32f5285f0d35
call_targets: 0x0000000000000000000000000000000000000004, 0x295f8b4790e4b46169604cb9c8a6fd7edff03422
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x3091eb82e69e8c75db1b574f7c723e80d837f11926986c7f11fb32f5285f0d35",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0x295f8b4790e4b46169604cb9c8a6fd7edff03422"
    ],
    "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": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1d71a1cd",
            "selector": "0x1d71a1cd",
            "calldata_variants": [
                "0x1d71a1cd",
                "0x1d71a1cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3b46a7df",
            "selector": "0x3b46a7df",
            "calldata_variants": [
                "0x3b46a7df",
                "0x3b46a7df0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x40c48dfa",
            "selector": "0x40c48dfa",
            "calldata_variants": [
                "0x40c48dfa",
                "0x40c48dfa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4b750334",
            "selector": "0x4b750334",
            "calldata_variants": [
                "0x4b750334",
                "0x4b7503340000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f24186a",
            "selector": "0x4f24186a",
            "calldata_variants": [
                "0x4f24186a",
                "0x4f24186a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 771,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1540,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1608,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 5,
    "guards_detected": [],
    "untrusted_call_count": 5
}
high other detector ETH value transfer possible 55 yes yes
view
trace_id: 0x3091eb82e69e8c75db1b574f7c723e80d837f11926986c7f11fb32f5285f0d35
call_targets: 0x0000000000000000000000000000000000000004, 0x295f8b4790e4b46169604cb9c8a6fd7edff03422
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x3091eb82e69e8c75db1b574f7c723e80d837f11926986c7f11fb32f5285f0d35",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0x295f8b4790e4b46169604cb9c8a6fd7edff03422"
    ],
    "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": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1d71a1cd",
            "selector": "0x1d71a1cd",
            "calldata_variants": [
                "0x1d71a1cd",
                "0x1d71a1cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3b46a7df",
            "selector": "0x3b46a7df",
            "calldata_variants": [
                "0x3b46a7df",
                "0x3b46a7df0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x40c48dfa",
            "selector": "0x40c48dfa",
            "calldata_variants": [
                "0x40c48dfa",
                "0x40c48dfa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4b750334",
            "selector": "0x4b750334",
            "calldata_variants": [
                "0x4b750334",
                "0x4b7503340000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f24186a",
            "selector": "0x4f24186a",
            "calldata_variants": [
                "0x4f24186a",
                "0x4f24186a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 771,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1540,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1608,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 5,
    "guards_detected": []
}