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

Analysis Run

0682b218-e92c-4a68-bc1e-99dda0eb57d6

failed
Chain ID
1
Address
Block Number
Created
Mon, Jan 5, 2026 6:46 AM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Verified
Review Backing
Not yet
Best current signal
Untrusted DELEGATECALL target reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31724 report.consolidate complete 1 / 1 3 months ago
95767 artifact.fetch failed 1 / 3 1 week ago
95768 tool.cast_disasm complete 1 / 3 1 week ago
95769 analysis.bundle complete 1 / 3 1 week ago
95770 capability.graph complete 1 / 3 1 week ago
95771 detector.run complete 1 / 3 1 week ago
95772 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: yes

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable profit paths found in the reviewed sources.
View stderr
[codex:338135] OpenAI Codex v0.77.0 (research preview)
[codex:338135] --------
[codex:338135] workdir: /tmp/codex-multi-xx5xozr2
[codex:338135] model: gpt-5.2-codex
[codex:338135] provider: openai
[codex:338135] approval: never
[codex:338135] sandbox: read-only
[codex:338135] reasoning effort: xhigh
[codex:338135] reasoning summaries: auto
[codex:338135] session id: 019b8ce8-1298-7581-ac3e-baecde4b0782
[codex:338135] --------
[codex:338135] user
[codex:338135] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:338135] 
[codex:338135] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:338135] 
[codex:338135] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:338135] - Gas inefficiency, code quality, naming, or best practices
[codex:338135] - Theoretical vulnerabilities without a clear extraction path
[codex:338135] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:338135] - Front-running unless it enables theft beyond MEV
[codex:338135] - DoS, griefing, or issues that don't result in attacker profit
[codex:338135] - Missing events, view function issues, or informational findings
[codex:338135] 
[codex:338135] HIGH-VALUE PATTERNS TO HUNT:
[codex:338135] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:338135] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:338135] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:338135] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:338135] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:338135] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:338135] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:338135] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:338135] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:338135] 
[codex:338135] For each finding, you MUST provide:
[codex:338135] 1. Exact file and line numbers of vulnerable code
[codex:338135] 2. Step-by-step exploit transaction sequence
[codex:338135] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:338135] 
[codex:338135] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:338135] 
[codex:338135] Output MUST be valid JSON matching the provided schema.
[codex:338135] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:338135] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:338135] mcp startup: no servers
[codex:338135] 
[codex:338135] thinking
[codex:338135] **Preparing to read instructions**
[codex:338135] exec
[codex:338135] /bin/bash -lc ls in /tmp/codex-multi-xx5xozr2 succeeded in 5ms:
[codex:338135] AUDIT_BUNDLE.txt
[codex:338135] codex-output-schema.json
[codex:338135] contracts
[codex:338135] exec
[codex:338135] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-xx5xozr2 succeeded in 5ms:
[codex:338135] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:338135] 
[codex:338135] ================================================================================
[codex:338135] FILE: contracts/Contract.sol
[codex:338135] ================================================================================
[codex:338135] pragma solidity ^0.4.25;
[codex:338135] 
[codex:338135] // ----------------------------------------------------------------------------
[codex:338135] //
[codex:338135] // Symbol      : CRP
[codex:338135] // Name        : Chiwoo Rotary Press
[codex:338135] // Total supply: 8000000000
[codex:338135] // Decimals    : 18
[codex:338135] 
[codex:338135] 
[codex:338135] // (c) by Team @ CRP 2018.
[codex:338135] // ----------------------------------------------------------------------------
[codex:338135] 
[codex:338135] 
[codex:338135] /**
[codex:338135] 
[codex:338135] thinking
[codex:338135] **Analyzing ERC20 contract for exploit paths**
[codex:338135] 
[codex:338135] I’ve carefully examined the buy and sell functions for underflow, reentrancy, and profit exploit potential. While there’s an underflow bug allowing token minting under certain conditions, it requires paying ETH and can’t guarantee profit without owner-set favorable rates. Reentrancy seems blocked by 2300 gas limit on transfer, and other controls appear secure. Overall, no clear exploit path yielding concrete profit exists. I’ll prepare a minimal JSON report indicating no findings.
[codex:338135] codex
[codex:338135] {"no_findings":true,"summary":"No concrete, exploitable profit paths found in the reviewed sources.","findings":[]}
[codex:338135] tokens used
[codex:338135] 6,406
[codex:338135] {"no_findings":true,"summary":"No concrete, exploitable profit paths found in the reviewed sources.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-05T06:46:52.816674+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable profit paths found in the reviewed sources.",
    "raw_final": {
        "summary": "No concrete, exploitable profit paths found in the reviewed sources.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
2
CALL-family (heavy)
5
EXT*/BALANCE
2
Total opcodes
2884
Flags
delegatecall_present create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0169
0000000c: JUMPI
0000000d: PUSH4 0xffffffff
00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000030: PUSH1 0x00
00000032: CALLDATALOAD
00000033: DIV
00000034: AND
00000035: PUSH4 0x06fdde03
0000003a: DUP2
0000003b: EQ
0000003c: PUSH2 0x0174
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x095ea7b3
00000046: EQ
00000047: PUSH2 0x01fe
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x18160ddd
00000051: EQ
00000052: PUSH2 0x0236
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x1d0b482f
0000005c: EQ
0000005d: PUSH2 0x025d
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x23b872dd
00000067: EQ
00000068: PUSH2 0x0272
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x28b93702
00000072: EQ
00000073: PUSH2 0x029c
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0x2e1a7d4d
0000007d: EQ
0000007e: PUSH2 0x02b1
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0x313ce567
00000088: EQ
00000089: PUSH2 0x02cb
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0x42966c68
00000093: EQ
00000094: PUSH2 0x02f6
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0x4b0d5417
0000009e: EQ
0000009f: PUSH2 0x030e
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0x534f36c5
000000a9: EQ
000000aa: PUSH2 0x0323
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0x6aa737e0
000000b4: EQ
000000b5: PUSH2 0x0338
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0x70a08231
000000bf: EQ
000000c0: PUSH2 0x034d
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0x79c65068
000000ca: EQ
000000cb: PUSH2 0x036e
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0x79cc6790
000000d5: EQ
000000d6: PUSH2 0x0392
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0x85e436bf
000000e0: EQ
000000e1: PUSH2 0x03b6
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0x8da5cb5b
000000eb: EQ
000000ec: PUSH2 0x03ce
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0x8e0b017d
000000f6: EQ
000000f7: PUSH2 0x03ff
000000fa: JUMPI
000000fb: DUP1
000000fc: PUSH4 0x95d89b41
00000101: EQ
00000102: PUSH2 0x0417
00000105: JUMPI
00000106: DUP1
00000107: PUSH4 0xa6f2ae3a
0000010c: EQ
0000010d: PUSH2 0x042c
00000110: JUMPI
00000111: DUP1
00000112: PUSH4 0xa9059cbb
00000117: EQ
00000118: PUSH2 0x0434
0000011b: JUMPI
0000011c: DUP1
0000011d: PUSH4 0xb414d4b6
00000122: EQ
00000123: PUSH2 0x0458
00000126: JUMPI
00000127: DUP1
00000128: PUSH4 0xcae9ca51
0000012d: EQ
0000012e: PUSH2 0x0479
00000131: JUMPI
00000132: DUP1
00000133: PUSH4 0xd0e30db0
00000138: EQ
00000139: PUSH2 0x04e2
0000013c: JUMPI
0000013d: DUP1
0000013e: PUSH4 0xdd62ed3e
00000143: EQ
00000144: PUSH2 0x04ea
00000147: JUMPI
00000148: DUP1
00000149: PUSH4 0xe4849b32
0000014e: EQ
0000014f: PUSH2 0x0511
00000152: JUMPI
00000153: DUP1
00000154: PUSH4 0xe724529c
00000159: EQ
0000015a: PUSH2 0x0529
0000015d: JUMPI
0000015e: DUP1
0000015f: PUSH4 0xf2fde38b
00000164: EQ
00000165: PUSH2 0x054f
00000168: JUMPI
00000169: JUMPDEST
0000016a: PUSH2 0x0171
0000016d: PUSH2 0x0570
00000170: JUMP
00000171: JUMPDEST
00000172: POP
00000173: STOP
00000174: JUMPDEST
00000175: CALLVALUE
00000176: DUP1
00000177: ISZERO
00000178: PUSH2 0x0180
0000017b: JUMPI
0000017c: PUSH1 0x00
0000017e: DUP1
0000017f: REVERT
00000180: JUMPDEST
00000181: POP
00000182: PUSH2 0x0189
00000185: PUSH2 0x0631
00000188: JUMP
00000189: JUMPDEST
0000018a: PUSH1 0x40
0000018c: DUP1
0000018d: MLOAD
0000018e: PUSH1 0x20
00000190: DUP1
00000191: DUP3
00000192: MSTORE
00000193: DUP4
00000194: MLOAD
00000195: DUP2
00000196: DUP4
00000197: ADD
00000198: MSTORE
00000199: DUP4
0000019a: MLOAD
0000019b: SWAP2
0000019c: SWAP3
0000019d: DUP4
0000019e: SWAP3
0000019f: SWAP1
000001a0: DUP4
000001a1: ADD
000001a2: SWAP2
000001a3: DUP6
000001a4: ADD
000001a5: SWAP1
000001a6: DUP1
000001a7: DUP4
000001a8: DUP4
000001a9: PUSH1 0x00
000001ab: JUMPDEST
000001ac: DUP4
000001ad: DUP2
000001ae: LT
000001af: ISZERO
000001b0: PUSH2 0x01c3
000001b3: JUMPI
000001b4: DUP2
000001b5: DUP2
000001b6: ADD
000001b7: MLOAD
000001b8: DUP4
000001b9: DUP3
000001ba: ADD
000001bb: MSTORE
000001bc: PUSH1 0x20
000001be: ADD
000001bf: PUSH2 0x01ab
000001c2: JUMP
000001c3: JUMPDEST
000001c4: POP
000001c5: POP
000001c6: POP
000001c7: POP
000001c8: SWAP1
000001c9: POP
000001ca: SWAP1
000001cb: DUP2
000001cc: ADD
000001cd: SWAP1
000001ce: PUSH1 0x1f
000001d0: AND
000001d1: DUP1
000001d2: ISZERO
000001d3: PUSH2 0x01f0
000001d6: JUMPI
000001d7: DUP1
000001d8: DUP3
000001d9: SUB
000001da: DUP1
000001db: MLOAD
000001dc: PUSH1 0x01
000001de: DUP4
000001df: PUSH1 0x20
000001e1: SUB
000001e2: PUSH2 0x0100
000001e5: EXP
000001e6: SUB
000001e7: NOT
000001e8: AND
000001e9: DUP2
000001ea: MSTORE
000001eb: PUSH1 0x20
000001ed: ADD
000001ee: SWAP2
000001ef: POP
000001f0: JUMPDEST
000001f1: POP
000001f2: SWAP3
000001f3: POP
000001f4: POP
000001f5: POP
000001f6: PUSH1 0x40
000001f8: MLOAD
000001f9: DUP1
000001fa: SWAP2
000001fb: SUB
000001fc: SWAP1
000001fd: RETURN
000001fe: JUMPDEST
000001ff: CALLVALUE
00000200: DUP1
00000201: ISZERO
00000202: PUSH2 0x020a
00000205: JUMPI
00000206: PUSH1 0x00
00000208: DUP1
00000209: REVERT
0000020a: JUMPDEST
0000020b: POP
0000020c: PUSH2 0x0222
0000020f: PUSH1 0x01
00000211: PUSH1 0xa0
00000213: PUSH1 0x02
00000215: EXP
00000216: SUB
00000217: PUSH1 0x04
00000219: CALLDATALOAD
0000021a: AND
0000021b: PUSH1 0x24
0000021d: CALLDATALOAD
0000021e: PUSH2 0x06be
00000221: JUMP
00000222: JUMPDEST
00000223: PUSH1 0x40
00000225: DUP1
00000226: MLOAD
00000227: SWAP2
00000228: ISZERO
00000229: ISZERO
0000022a: DUP3
0000022b: MSTORE
0000022c: MLOAD
0000022d: SWAP1
0000022e: DUP2
0000022f: SWAP1
00000230: SUB
00000231: PUSH1 0x20
00000233: ADD
00000234: SWAP1
00000235: RETURN
00000236: JUMPDEST
00000237: CALLVALUE
00000238: DUP1
00000239: ISZERO
0000023a: PUSH2 0x0242
0000023d: JUMPI
0000023e: PUSH1 0x00
00000240: DUP1
00000241: REVERT
00000242: JUMPDEST
00000243: POP
00000244: PUSH2 0x024b
00000247: PUSH2 0x06eb
0000024a: JUMP
0000024b: JUMPDEST
0000024c: PUSH1 0x40
0000024e: DUP1
0000024f: MLOAD
00000250: SWAP2
00000251: DUP3
00000252: MSTORE
00000253: MLOAD
00000254: SWAP1
00000255: DUP2
00000256: SWAP1
00000257: SUB
00000258: PUSH1 0x20
0000025a: ADD
0000025b: SWAP1
0000025c: RETURN
0000025d: JUMPDEST
0000025e: CALLVALUE
0000025f: DUP1
00000260: ISZERO
00000261: PUSH2 0x0269
00000264: JUMPI
00000265: PUSH1 0x00
00000267: DUP1
00000268: REVERT
00000269: JUMPDEST
0000026a: POP
0000026b: PUSH2 0x024b
0000026e: PUSH2 0x06f1
00000271: JUMP
00000272: JUMPDEST
00000273: CALLVALUE
00000274: DUP1
00000275: ISZERO
00000276: PUSH2 0x027e
00000279: JUMPI
0000027a: PUSH1 0x00
0000027c: DUP1
0000027d: REVERT
0000027e: JUMPDEST
0000027f: POP
00000280: PUSH2 0x0222
00000283: PUSH1 0x01
00000285: PUSH1 0xa0
00000287: PUSH1 0x02
00000289: EXP
0000028a: SUB
0000028b: PUSH1 0x04
0000028d: CALLDATALOAD
0000028e: DUP2
0000028f: AND
00000290: SWAP1
00000291: PUSH1 0x24
00000293: CALLDATALOAD
00000294: AND
00000295: PUSH1 0x44
00000297: CALLDATALOAD
00000298: PUSH2 0x06f7
0000029b: JUMP
0000029c: JUMPDEST
0000029d: CALLVALUE
0000029e: DUP1
0000029f: ISZERO
000002a0: PUSH2 0x02a8
000002a3: JUMPI
000002a4: PUSH1 0x00
000002a6: DUP1
000002a7: REVERT
000002a8: JUMPDEST
000002a9: POP
000002aa: PUSH2 0x0222
000002ad: PUSH2 0x0766
000002b0: JUMP
000002b1: JUMPDEST
000002b2: CALLVALUE
000002b3: DUP1
000002b4: ISZERO
000002b5: PUSH2 0x02bd
000002b8: JUMPI
000002b9: PUSH1 0x00
000002bb: DUP1
000002bc: REVERT
000002bd: JUMPDEST
000002be: POP
000002bf: PUSH2 0x02c9
000002c2: PUSH1 0x04
000002c4: CALLDATALOAD
000002c5: PUSH2 0x076f
000002c8: JUMP
000002c9: JUMPDEST
000002ca: STOP
000002cb: JUMPDEST
000002cc: CALLVALUE
000002cd: DUP1
000002ce: ISZERO
000002cf: PUSH2 0x02d7
000002d2: JUMPI
000002d3: PUSH1 0x00
000002d5: DUP1
000002d6: REVERT
000002d7: JUMPDEST
000002d8: POP
000002d9: PUSH2 0x02e0
000002dc: PUSH2 0x07cc
000002df: JUMP
000002e0: JUMPDEST
000002e1: PUSH1 0x40
000002e3: DUP1
000002e4: MLOAD
000002e5: PUSH1 0xff
000002e7: SWAP1
000002e8: SWAP3
000002e9: AND
000002ea: DUP3
000002eb: MSTORE
000002ec: MLOAD
000002ed: SWAP1
000002ee: DUP2
000002ef: SWAP1
000002f0: SUB
000002f1: PUSH1 0x20
000002f3: ADD
000002f4: SWAP1
000002f5: RETURN
000002f6: JUMPDEST
000002f7: CALLVALUE
000002f8: DUP1
000002f9: ISZERO
000002fa: PUSH2 0x0302
000002fd: JUMPI
000002fe: PUSH1 0x00
00000300: DUP1
00000301: REVERT
00000302: JUMPDEST
00000303: POP
00000304: PUSH2 0x0222
00000307: PUSH1 0x04
00000309: CALLDATALOAD
0000030a: PUSH2 0x07d5
0000030d: JUMP
0000030e: JUMPDEST
0000030f: CALLVALUE
00000310: DUP1
00000311: ISZERO
00000312: PUSH2 0x031a
00000315: JUMPI
00000316: PUSH1 0x00
00000318: DUP1
00000319: REVERT
0000031a: JUMPDEST
0000031b: POP
0000031c: PUSH2 0x02c9
0000031f: PUSH2 0x084d
00000322: JUMP
00000323: JUMPDEST
00000324: CALLVALUE
00000325: DUP1
00000326: ISZERO
00000327: PUSH2 0x032f
0000032a: JUMPI
0000032b: PUSH1 0x00
0000032d: DUP1
0000032e: REVERT
0000032f: JUMPDEST
00000330: POP
00000331: PUSH2 0x024b
00000334: PUSH2 0x08a4
00000337: JUMP
00000338: JUMPDEST
00000339: CALLVALUE
0000033a: DUP1
0000033b: ISZERO
0000033c: PUSH2 0x0344
0000033f: JUMPI
00000340: PUSH1 0x00
00000342: DUP1
00000343: REVERT
00000344: JUMPDEST
00000345: POP
00000346: PUSH2 0x02c9
00000349: PUSH2 0x08aa
0000034c: JUMP
0000034d: JUMPDEST
0000034e: CALLVALUE
0000034f: DUP1
00000350: ISZERO
00000351: PUSH2 0x0359
00000354: JUMPI
00000355: PUSH1 0x00
00000357: DUP1
00000358: REVERT
00000359: JUMPDEST
0000035a: POP
0000035b: PUSH2 0x024b
0000035e: PUSH1 0x01
00000360: PUSH1 0xa0
00000362: PUSH1 0x02
00000364: EXP
00000365: SUB
00000366: PUSH1 0x04
00000368: CALLDATALOAD
00000369: AND
0000036a: PUSH2 0x0905
0000036d: JUMP
0000036e: JUMPDEST
0000036f: CALLVALUE
00000370: DUP1
00000371: ISZERO
00000372: PUSH2 0x037a
00000375: JUMPI
00000376: PUSH1 0x00
00000378: DUP1
00000379: REVERT
0000037a: JUMPDEST
0000037b: POP
0000037c: PUSH2 0x02c9
0000037f: PUSH1 0x01
00000381: PUSH1 0xa0
00000383: PUSH1 0x02
00000385: EXP
00000386: SUB
00000387: PUSH1 0x04
00000389: CALLDATALOAD
0000038a: AND
0000038b: PUSH1 0x24
0000038d: CALLDATALOAD
0000038e: PUSH2 0x0917
00000391: JUMP
00000392: JUMPDEST
00000393: CALLVALUE
00000394: DUP1
00000395: ISZERO
00000396: PUSH2 0x039e
00000399: JUMPI
0000039a: PUSH1 0x00
0000039c: DUP1
0000039d: REVERT
0000039e: JUMPDEST
0000039f: POP
000003a0: PUSH2 0x0222
000003a3: PUSH1 0x01
000003a5: PUSH1 0xa0
000003a7: PUSH1 0x02
000003a9: EXP
000003aa: SUB
000003ab: PUSH1 0x04
000003ad: CALLDATALOAD
000003ae: AND
000003af: PUSH1 0x24
000003b1: CALLDATALOAD
000003b2: PUSH2 0x097c
000003b5: JUMP
000003b6: JUMPDEST
000003b7: CALLVALUE
000003b8: DUP1
000003b9: ISZERO
000003ba: PUSH2 0x03c2
000003bd: JUMPI
000003be: PUSH1 0x00
000003c0: DUP1
000003c1: REVERT
000003c2: JUMPDEST
000003c3: POP
000003c4: PUSH2 0x02c9
000003c7: PUSH1 0x04
000003c9: CALLDATALOAD
000003ca: PUSH2 0x0a4d
000003cd: JUMP
000003ce: JUMPDEST
000003cf: CALLVALUE
000003d0: DUP1
000003d1: ISZERO
000003d2: PUSH2 0x03da
000003d5: JUMPI
000003d6: PUSH1 0x00
000003d8: DUP1
000003d9: REVERT
000003da: JUMPDEST
000003db: POP
000003dc: PUSH2 0x03e3
000003df: PUSH2 0x0ab3
000003e2: JUMP
000003e3: JUMPDEST
000003e4: PUSH1 0x40
000003e6: DUP1
000003e7: MLOAD
000003e8: PUSH1 0x01
000003ea: PUSH1 0xa0
000003ec: PUSH1 0x02
000003ee: EXP
000003ef: SUB
000003f0: SWAP1
000003f1: SWAP3
000003f2: AND
000003f3: DUP3
000003f4: MSTORE
000003f5: MLOAD
000003f6: SWAP1
000003f7: DUP2
000003f8: SWAP1
000003f9: SUB
000003fa: PUSH1 0x20
000003fc: ADD
000003fd: SWAP1
000003fe: RETURN
000003ff: JUMPDEST
00000400: CALLVALUE
00000401: DUP1
00000402: ISZERO
00000403: PUSH2 0x040b
00000406: JUMPI
00000407: PUSH1 0x00
00000409: DUP1
0000040a: REVERT
0000040b: JUMPDEST
0000040c: POP
0000040d: PUSH2 0x02c9
00000410: PUSH1 0x04
00000412: CALLDATALOAD
00000413: PUSH2 0x0ac2
00000416: JUMP
00000417: JUMPDEST
00000418: CALLVALUE
00000419: DUP1
0000041a: ISZERO
0000041b: PUSH2 0x0423
0000041e: JUMPI
0000041f: PUSH1 0x00
00000421: DUP1
00000422: REVERT
00000423: JUMPDEST
00000424: POP
00000425: PUSH2 0x0189
00000428: PUSH2 0x0b28
0000042b: JUMP
0000042c: JUMPDEST
0000042d: PUSH2 0x024b
00000430: PUSH2 0x0570
00000433: JUMP
00000434: JUMPDEST
00000435: CALLVALUE
00000436: DUP1
00000437: ISZERO
00000438: PUSH2 0x0440
0000043b: JUMPI
0000043c: PUSH1 0x00
0000043e: DUP1
0000043f: REVERT
00000440: JUMPDEST
00000441: POP
00000442: PUSH2 0x02c9
00000445: PUSH1 0x01
00000447: PUSH1 0xa0
00000449: PUSH1 0x02
0000044b: EXP
0000044c: SUB
0000044d: PUSH1 0x04
0000044f: CALLDATALOAD
00000450: AND
00000451: PUSH1 0x24
00000453: CALLDATALOAD
00000454: PUSH2 0x0b80
00000457: JUMP
00000458: JUMPDEST
00000459: CALLVALUE
0000045a: DUP1
0000045b: ISZERO
0000045c: PUSH2 0x0464
0000045f: JUMPI
00000460: PUSH1 0x00
00000462: DUP1
00000463: REVERT
00000464: JUMPDEST
00000465: POP
00000466: PUSH2 0x0222
00000469: PUSH1 0x01
0000046b: PUSH1 0xa0
0000046d: PUSH1 0x02
0000046f: EXP
00000470: SUB
00000471: PUSH1 0x04
00000473: CALLDATALOAD
00000474: AND
00000475: PUSH2 0x0b8b
00000478: JUMP
00000479: JUMPDEST
0000047a: CALLVALUE
0000047b: DUP1
0000047c: ISZERO
0000047d: PUSH2 0x0485
00000480: JUMPI
00000481: PUSH1 0x00
00000483: DUP1
00000484: REVERT
00000485: JUMPDEST
00000486: POP
00000487: PUSH1 0x40
00000489: DUP1
0000048a: MLOAD
0000048b: PUSH1 0x20
0000048d: PUSH1 0x04
0000048f: PUSH1 0x44
00000491: CALLDATALOAD
00000492: DUP2
00000493: DUP2
00000494: ADD
00000495: CALLDATALOAD
00000496: PUSH1 0x1f
00000498: DUP2
00000499: ADD
0000049a: DUP5
0000049b: SWAP1
0000049c: DIV
0000049d: DUP5
0000049e: MUL
0000049f: DUP6
000004a0: ADD
000004a1: DUP5
000004a2: ADD
000004a3: SWAP1
000004a4: SWAP6
000004a5: MSTORE
000004a6: DUP5
000004a7: DUP5
000004a8: MSTORE
000004a9: PUSH2 0x0222
000004ac: SWAP5
000004ad: DUP3
000004ae: CALLDATALOAD
000004af: PUSH1 0x01
000004b1: PUSH1 0xa0
000004b3: PUSH1 0x02
000004b5: EXP
000004b6: SUB
000004b7: AND
000004b8: SWAP5
000004b9: PUSH1 0x24
000004bb: DUP1
000004bc: CALLDATALOAD
000004bd: SWAP6
000004be: CALLDATASIZE
000004bf: SWAP6
000004c0: SWAP5
000004c1: PUSH1 0x64
000004c3: SWAP5
000004c4: SWAP3
000004c5: ADD
000004c6: SWAP2
000004c7: SWAP1
000004c8: DUP2
000004c9: SWAP1
000004ca: DUP5
000004cb: ADD
000004cc: DUP4
000004cd: DUP3
000004ce: DUP1
000004cf: DUP3
000004d0: DUP5
000004d1: CALLDATACOPY
000004d2: POP
000004d3: SWAP5
000004d4: SWAP8
000004d5: POP
000004d6: PUSH2 0x0ba0
000004d9: SWAP7
000004da: POP
000004db: POP
000004dc: POP
000004dd: POP
000004de: POP
000004df: POP
000004e0: POP
000004e1: JUMP
000004e2: JUMPDEST
000004e3: PUSH2 0x02c9
000004e6: PUSH2 0x0cb9
000004e9: JUMP
000004ea: JUMPDEST
000004eb: CALLVALUE
000004ec: DUP1
000004ed: ISZERO
000004ee: PUSH2 0x04f6
000004f1: JUMPI
000004f2: PUSH1 0x00
000004f4: DUP1
000004f5: REVERT
000004f6: JUMPDEST
000004f7: POP
000004f8: PUSH2 0x024b
000004fb: PUSH1 0x01
000004fd: PUSH1 0xa0
000004ff: PUSH1 0x02
00000501: EXP
00000502: SUB
00000503: PUSH1 0x04
00000505: CALLDATALOAD
00000506: DUP2
00000507: AND
00000508: SWAP1
00000509: PUSH1 0x24
0000050b: CALLDATALOAD
0000050c: AND
0000050d: PUSH2 0x0cbb
00000510: JUMP
00000511: JUMPDEST
00000512: CALLVALUE
00000513: DUP1
00000514: ISZERO
00000515: PUSH2 0x051d
00000518: JUMPI
00000519: PUSH1 0x00
0000051b: DUP1
0000051c: REVERT
0000051d: JUMPDEST
0000051e: POP
0000051f: PUSH2 0x024b
00000522: PUSH1 0x04
00000524: CALLDATALOAD
00000525: PUSH2 0x0cd8
00000528: JUMP
00000529: JUMPDEST
0000052a: CALLVALUE
0000052b: DUP1
0000052c: ISZERO
0000052d: PUSH2 0x0535
00000530: JUMPI
00000531: PUSH1 0x00
00000533: DUP1
00000534: REVERT
00000535: JUMPDEST
00000536: POP
00000537: PUSH2 0x02c9
0000053a: PUSH1 0x01
0000053c: PUSH1 0xa0
0000053e: PUSH1 0x02
00000540: EXP
00000541: SUB
00000542: PUSH1 0x04
00000544: CALLDATALOAD
00000545: AND
00000546: PUSH1 0x24
00000548: CALLDATALOAD
00000549: ISZERO
0000054a: ISZERO
0000054b: PUSH2 0x0dd7
0000054e: JUMP
0000054f: JUMPDEST
00000550: CALLVALUE
00000551: DUP1
00000552: ISZERO
00000553: PUSH2 0x055b
00000556: JUMPI
00000557: PUSH1 0x00
00000559: DUP1
0000055a: REVERT
0000055b: JUMPDEST
0000055c: POP
0000055d: PUSH2 0x02c9
00000560: PUSH1 0x01
00000562: PUSH1 0xa0
00000564: PUSH1 0x02
00000566: EXP
00000567: SUB
00000568: PUSH1 0x04
0000056a: CALLDATALOAD
0000056b: AND
0000056c: PUSH2 0x0e52
0000056f: JUMP
00000570: JUMPDEST
00000571: PUSH1 0x00
00000573: CALLVALUE
00000574: DUP2
00000575: LT
00000576: PUSH2 0x057e
00000579: JUMPI
0000057a: PUSH1 0x00
0000057c: DUP1
0000057d: REVERT
0000057e: JUMPDEST
0000057f: CALLER
00000580: PUSH1 0x00
00000582: SWAP1
00000583: DUP2
00000584: MSTORE
00000585: PUSH1 0x0a
00000587: PUSH1 0x20
00000589: MSTORE
0000058a: PUSH1 0x40
0000058c: SWAP1
0000058d: KECCAK256
0000058e: SLOAD
0000058f: PUSH1 0xff
00000591: AND
00000592: ISZERO
00000593: PUSH2 0x059b
00000596: JUMPI
00000597: PUSH1 0x00
00000599: DUP1
0000059a: REVERT
0000059b: JUMPDEST
0000059c: PUSH1 0x03
0000059e: SLOAD
0000059f: PUSH1 0x05
000005a1: SLOAD
000005a2: PUSH2 0x05e3
000005a5: SWAP2
000005a6: PUSH8 0x0de0b6b3a7640000
000005af: SWAP2
000005b0: PUSH2 0x05d7
000005b3: SWAP2
000005b4: PUSH1 0xff
000005b6: AND
000005b7: PUSH1 0x0a
000005b9: EXP
000005ba: SWAP1
000005bb: PUSH2 0x05cb
000005be: SWAP1
000005bf: CALLVALUE
000005c0: SWAP1
000005c1: PUSH4 0xffffffff
000005c6: PUSH2 0x0e98
000005c9: AND
000005ca: JUMP
000005cb: JUMPDEST
000005cc: SWAP1
000005cd: PUSH4 0xffffffff
000005d2: PUSH2 0x0e98
000005d5: AND
000005d6: JUMP
000005d7: JUMPDEST
000005d8: SWAP1
000005d9: PUSH4 0xffffffff
000005de: PUSH2 0x0ec3
000005e1: AND
000005e2: JUMP
000005e3: JUMPDEST
000005e4: ADDRESS
000005e5: PUSH1 0x00
000005e7: DUP2
000005e8: DUP2
000005e9: MSTORE
000005ea: PUSH1 0x08
000005ec: PUSH1 0x20
000005ee: SWAP1
000005ef: DUP2
000005f0: MSTORE
000005f1: PUSH1 0x40
000005f3: DUP1
000005f4: DUP4
000005f5: KECCAK256
000005f6: DUP1
000005f7: SLOAD
000005f8: DUP7
000005f9: SWAP1
000005fa: SUB
000005fb: SWAP1
000005fc: SSTORE
000005fd: CALLER
000005fe: DUP1
000005ff: DUP5
00000600: MSTORE
00000601: SWAP3
00000602: DUP2
00000603: SWAP1
00000604: KECCAK256
00000605: DUP1
00000606: SLOAD
00000607: DUP7
00000608: ADD
00000609: SWAP1
0000060a: SSTORE
0000060b: DUP1
0000060c: MLOAD
0000060d: DUP6
0000060e: DUP2
0000060f: MSTORE
00000610: SWAP1
00000611: MLOAD
00000612: SWAP5
00000613: SWAP6
00000614: POP
00000615: SWAP2
00000616: SWAP4
00000617: PUSH1 0x00
00000619: DUP1
0000061a: MLOAD
0000061b: PUSH1 0x20
0000061d: PUSH2 0x101c
00000620: DUP4
00000621: CODECOPY
00000622: DUP2
00000623: MLOAD
00000624: SWAP2
00000625: MSTORE
00000626: SWAP3
00000627: DUP2
00000628: SWAP1
00000629: SUB
0000062a: SWAP1
0000062b: SWAP2
0000062c: ADD
0000062d: SWAP1
0000062e: LOG3
0000062f: SWAP1
00000630: JUMP
00000631: JUMPDEST
00000632: PUSH1 0x01
00000634: DUP1
00000635: SLOAD
00000636: PUSH1 0x40
00000638: DUP1
00000639: MLOAD
0000063a: PUSH1 0x20
0000063c: PUSH1 0x02
0000063e: DUP5
0000063f: DUP7
00000640: AND
00000641: ISZERO
00000642: PUSH2 0x0100
00000645: MUL
00000646: PUSH1 0x00
00000648: NOT
00000649: ADD
0000064a: SWAP1
0000064b: SWAP5
0000064c: AND
0000064d: SWAP4
0000064e: SWAP1
0000064f: SWAP4
00000650: DIV
00000651: PUSH1 0x1f
00000653: DUP2
00000654: ADD
00000655: DUP5
00000656: SWAP1
00000657: DIV
00000658: DUP5
00000659: MUL
0000065a: DUP3
0000065b: ADD
0000065c: DUP5
0000065d: ADD
0000065e: SWAP1
0000065f: SWAP3
00000660: MSTORE
00000661: DUP2
00000662: DUP2
00000663: MSTORE
00000664: SWAP3
00000665: SWAP2
00000666: DUP4
00000667: ADD
00000668: DUP3
00000669: DUP3
0000066a: DUP1
0000066b: ISZERO
0000066c: PUSH2 0x06b6
0000066f: JUMPI
00000670: DUP1
00000671: PUSH1 0x1f
00000673: LT
00000674: PUSH2 0x068b
00000677: JUMPI
00000678: PUSH2 0x0100
0000067b: DUP1
0000067c: DUP4
0000067d: SLOAD
0000067e: DIV
0000067f: MUL
00000680: DUP4
00000681: MSTORE
00000682: SWAP2
00000683: PUSH1 0x20
00000685: ADD
00000686: SWAP2
00000687: PUSH2 0x06b6
0000068a: JUMP
0000068b: JUMPDEST
0000068c: DUP3
0000068d: ADD
0000068e: SWAP2
0000068f: SWAP1
00000690: PUSH1 0x00
00000692: MSTORE
00000693: PUSH1 0x20
00000695: PUSH1 0x00
00000697: KECCAK256
00000698: SWAP1
00000699: JUMPDEST
0000069a: DUP2
0000069b: SLOAD
0000069c: DUP2
0000069d: MSTORE
0000069e: SWAP1
0000069f: PUSH1 0x01
000006a1: ADD
000006a2: SWAP1
000006a3: PUSH1 0x20
000006a5: ADD
000006a6: DUP1
000006a7: DUP4
000006a8: GT
000006a9: PUSH2 0x0699
000006ac: JUMPI
000006ad: DUP3
000006ae: SWAP1
000006af: SUB
000006b0: PUSH1 0x1f
000006b2: AND
000006b3: DUP3
000006b4: ADD
000006b5: SWAP2
000006b6: JUMPDEST
000006b7: POP
000006b8: POP
000006b9: POP
000006ba: POP
000006bb: POP
000006bc: DUP2
000006bd: JUMP
000006be: JUMPDEST
000006bf: CALLER
000006c0: PUSH1 0x00
000006c2: SWAP1
000006c3: DUP2
000006c4: MSTORE
000006c5: PUSH1 0x09
000006c7: PUSH1 0x20
000006c9: SWAP1
000006ca: DUP2
000006cb: MSTORE
000006cc: PUSH1 0x40
000006ce: DUP1
000006cf: DUP4
000006d0: KECCAK256
000006d1: PUSH1 0x01
000006d3: PUSH1 0xa0
000006d5: PUSH1 0x02
000006d7: EXP
000006d8: SUB
000006d9: SWAP6
000006da: SWAP1
000006db: SWAP6
000006dc: AND
000006dd: DUP4
000006de: MSTORE
000006df: SWAP4
000006e0: SWAP1
000006e1: MSTORE
000006e2: SWAP2
000006e3: SWAP1
000006e4: SWAP2
000006e5: KECCAK256
000006e6: SSTORE
000006e7: PUSH1 0x01
000006e9: SWAP1
000006ea: JUMP
000006eb: JUMPDEST
000006ec: PUSH1 0x04
000006ee: SLOAD
000006ef: DUP2
000006f0: JUMP
000006f1: JUMPDEST
000006f2: PUSH1 0x06
000006f4: SLOAD
000006f5: DUP2
000006f6: JUMP
000006f7: JUMPDEST
000006f8: PUSH1 0x01
000006fa: PUSH1 0xa0
000006fc: PUSH1 0x02
000006fe: EXP
000006ff: SUB
00000700: DUP4
00000701: AND
00000702: PUSH1 0x00
00000704: SWAP1
00000705: DUP2
00000706: MSTORE
00000707: PUSH1 0x09
00000709: PUSH1 0x20
0000070b: SWAP1
0000070c: DUP2
0000070d: MSTORE
0000070e: PUSH1 0x40
00000710: DUP1
00000711: DUP4
00000712: KECCAK256
00000713: CALLER
00000714: DUP5
00000715: MSTORE
00000716: SWAP1
00000717: SWAP2
00000718: MSTORE
00000719: DUP2
0000071a: KECCAK256
0000071b: SLOAD
0000071c: DUP3
0000071d: GT
0000071e: ISZERO
0000071f: PUSH2 0x0727
00000722: JUMPI
00000723: PUSH1 0x00
00000725: DUP1
00000726: REVERT
00000727: JUMPDEST
00000728: PUSH1 0x01
0000072a: PUSH1 0xa0
0000072c: PUSH1 0x02
0000072e: EXP
0000072f: SUB
00000730: DUP5
00000731: AND
00000732: PUSH1 0x00
00000734: SWAP1
00000735: DUP2
00000736: MSTORE
00000737: PUSH1 0x09
00000739: PUSH1 0x20
0000073b: SWAP1
0000073c: DUP2
0000073d: MSTORE
0000073e: PUSH1 0x40
00000740: DUP1
00000741: DUP4
00000742: KECCAK256
00000743: CALLER
00000744: DUP5
00000745: MSTORE
00000746: SWAP1
00000747: SWAP2
00000748: MSTORE
00000749: SWAP1
0000074a: KECCAK256
0000074b: DUP1
0000074c: SLOAD
0000074d: DUP4
0000074e: SWAP1
0000074f: SUB
00000750: SWAP1
00000751: SSTORE
00000752: PUSH2 0x075c
00000755: DUP5
00000756: DUP5
00000757: DUP5
00000758: PUSH2 0x0eda
0000075b: JUMP
0000075c: JUMPDEST
0000075d: POP
0000075e: PUSH1 0x01
00000760: SWAP4
00000761: SWAP3
00000762: POP
00000763: POP
00000764: POP
00000765: JUMP
00000766: JUMPDEST
00000767: PUSH1 0x07
00000769: SLOAD
0000076a: PUSH1 0xff
0000076c: AND
0000076d: DUP2
0000076e: JUMP
0000076f: JUMPDEST
00000770: PUSH1 0x00
00000772: SLOAD
00000773: PUSH1 0x01
00000775: PUSH1 0xa0
00000777: PUSH1 0x02
00000779: EXP
0000077a: SUB
0000077b: AND
0000077c: CALLER
0000077d: EQ
0000077e: PUSH2 0x0786
00000781: JUMPI
00000782: PUSH1 0x00
00000784: DUP1
00000785: REVERT
00000786: JUMPDEST
00000787: ADDRESS
00000788: BALANCE
00000789: DUP2
0000078a: GT
0000078b: PUSH2 0x07c9
0000078e: JUMPI
0000078f: PUSH1 0x00
00000791: DUP1
00000792: SLOAD
00000793: PUSH1 0x40
00000795: MLOAD
00000796: PUSH1 0x01
00000798: PUSH1 0xa0
0000079a: PUSH1 0x02
0000079c: EXP
0000079d: SUB
0000079e: SWAP1
0000079f: SWAP2
000007a0: AND
000007a1: SWAP2
000007a2: DUP4
000007a3: ISZERO
000007a4: PUSH2 0x08fc
000007a7: MUL
000007a8: SWAP2
000007a9: DUP5
000007aa: SWAP2
000007ab: DUP2
000007ac: DUP2
000007ad: DUP2
000007ae: DUP6
000007af: DUP9
000007b0: DUP9
000007b1: CALL
000007b2: SWAP4
000007b3: POP
000007b4: POP
000007b5: POP
000007b6: POP
000007b7: ISZERO
000007b8: DUP1
000007b9: ISZERO
000007ba: PUSH2 0x07c7
000007bd: JUMPI
000007be: RETURNDATASIZE
000007bf: PUSH1 0x00
000007c1: DUP1
000007c2: RETURNDATACOPY
000007c3: RETURNDATASIZE
000007c4: PUSH1 0x00
000007c6: REVERT
000007c7: JUMPDEST
000007c8: POP
000007c9: JUMPDEST
000007ca: POP
000007cb: JUMP
000007cc: JUMPDEST
000007cd: PUSH1 0x03
000007cf: SLOAD
000007d0: PUSH1 0xff
000007d2: AND
000007d3: DUP2
000007d4: JUMP
000007d5: JUMPDEST
000007d6: CALLER
000007d7: PUSH1 0x00
000007d9: SWAP1
000007da: DUP2
000007db: MSTORE
000007dc: PUSH1 0x08
000007de: PUSH1 0x20
000007e0: MSTORE
000007e1: PUSH1 0x40
000007e3: DUP2
000007e4: KECCAK256
000007e5: SLOAD
000007e6: DUP3
000007e7: GT
000007e8: ISZERO
000007e9: PUSH2 0x07f1
000007ec: JUMPI
000007ed: PUSH1 0x00
000007ef: DUP1
000007f0: REVERT
000007f1: JUMPDEST
000007f2: CALLER
000007f3: PUSH1 0x00
000007f5: DUP2
000007f6: DUP2
000007f7: MSTORE
000007f8: PUSH1 0x08
000007fa: PUSH1 0x20
000007fc: SWAP1
000007fd: DUP2
000007fe: MSTORE
000007ff: PUSH1 0x40
00000801: SWAP2
00000802: DUP3
00000803: SWAP1
00000804: KECCAK256
00000805: DUP1
00000806: SLOAD
00000807: DUP7
00000808: SWAP1
00000809: SUB
0000080a: SWAP1
0000080b: SSTORE
0000080c: PUSH1 0x04
0000080e: DUP1
0000080f: SLOAD
00000810: DUP7
00000811: SWAP1
00000812: SUB
00000813: SWAP1
00000814: SSTORE
00000815: DUP2
00000816: MLOAD
00000817: DUP6
00000818: DUP2
00000819: MSTORE
0000081a: SWAP2
0000081b: MLOAD
0000081c: PUSH32 0xcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5
0000083d: SWAP3
0000083e: DUP2
0000083f: SWAP1
00000840: SUB
00000841: SWAP1
00000842: SWAP2
00000843: ADD
00000844: SWAP1
00000845: LOG2
00000846: POP
00000847: PUSH1 0x01
00000849: SWAP2
0000084a: SWAP1
0000084b: POP
0000084c: JUMP
0000084d: JUMPDEST
0000084e: PUSH1 0x00
00000850: SLOAD
00000851: PUSH1 0x01
00000853: PUSH1 0xa0
00000855: PUSH1 0x02
00000857: EXP
00000858: SUB
00000859: AND
0000085a: CALLER
0000085b: EQ
0000085c: PUSH2 0x0864
0000085f: JUMPI
00000860: PUSH1 0x00
00000862: DUP1
00000863: REVERT
00000864: JUMPDEST
00000865: PUSH1 0x07
00000867: DUP1
00000868: SLOAD
00000869: PUSH1 0xff
0000086b: NOT
0000086c: AND
0000086d: SWAP1
0000086e: SSTORE
0000086f: PUSH1 0x40
00000871: DUP1
00000872: MLOAD
00000873: PUSH1 0x00
00000875: DUP2
00000876: MSTORE
00000877: SWAP1
00000878: MLOAD
00000879: PUSH32 0x1a26afc103797a41cda97337e6bccd6b52abf0b3ca40d8b88c3958d827ec2f97
0000089a: SWAP2
0000089b: DUP2
0000089c: SWAP1
0000089d: SUB
0000089e: PUSH1 0x20
000008a0: ADD
000008a1: SWAP1
000008a2: LOG1
000008a3: JUMP
000008a4: JUMPDEST
000008a5: PUSH1 0x05
000008a7: SLOAD
000008a8: DUP2
000008a9: JUMP
000008aa: JUMPDEST
000008ab: PUSH1 0x00
000008ad: SLOAD
000008ae: PUSH1 0x01
000008b0: PUSH1 0xa0
000008b2: PUSH1 0x02
000008b4: EXP
000008b5: SUB
000008b6: AND
000008b7: CALLER
000008b8: EQ
000008b9: PUSH2 0x08c1
000008bc: JUMPI
000008bd: PUSH1 0x00
000008bf: DUP1
000008c0: REVERT
000008c1: JUMPDEST
000008c2: PUSH1 0x07
000008c4: DUP1
000008c5: SLOAD
000008c6: PUSH1 0xff
000008c8: NOT
000008c9: AND
000008ca: PUSH1 0x01
000008cc: SWAP1
000008cd: DUP2
000008ce: OR
000008cf: SWAP1
000008d0: SWAP2
000008d1: SSTORE
000008d2: PUSH1 0x40
000008d4: DUP1
000008d5: MLOAD
000008d6: SWAP2
000008d7: DUP3
000008d8: MSTORE
000008d9: MLOAD
000008da: PUSH32 0x1a26afc103797a41cda97337e6bccd6b52abf0b3ca40d8b88c3958d827ec2f97
000008fb: SWAP2
000008fc: DUP2
000008fd: SWAP1
000008fe: SUB
000008ff: PUSH1 0x20
00000901: ADD
00000902: SWAP1
00000903: LOG1
00000904: JUMP
00000905: JUMPDEST
00000906: PUSH1 0x08
00000908: PUSH1 0x20
0000090a: MSTORE
0000090b: PUSH1 0x00
0000090d: SWAP1
0000090e: DUP2
0000090f: MSTORE
00000910: PUSH1 0x40
00000912: SWAP1
00000913: KECCAK256
00000914: SLOAD
00000915: DUP2
00000916: JUMP
00000917: JUMPDEST
00000918: PUSH1 0x00
0000091a: SLOAD
0000091b: PUSH1 0x01
0000091d: PUSH1 0xa0
0000091f: PUSH1 0x02
00000921: EXP
00000922: SUB
00000923: AND
00000924: CALLER
00000925: EQ
00000926: PUSH2 0x092e
00000929: JUMPI
0000092a: PUSH1 0x00
0000092c: DUP1
0000092d: REVERT
0000092e: JUMPDEST
0000092f: PUSH1 0x01
00000931: PUSH1 0xa0
00000933: PUSH1 0x02
00000935: EXP
00000936: SUB
00000937: DUP3
00000938: AND
00000939: PUSH1 0x00
0000093b: DUP2
0000093c: DUP2
0000093d: MSTORE
0000093e: PUSH1 0x08
00000940: PUSH1 0x20
00000942: SWAP1
00000943: DUP2
00000944: MSTORE
00000945: PUSH1 0x40
00000947: SWAP2
00000948: DUP3
00000949: SWAP1
0000094a: KECCAK256
0000094b: DUP1
0000094c: SLOAD
0000094d: DUP6
0000094e: ADD
0000094f: SWAP1
00000950: SSTORE
00000951: PUSH1 0x04
00000953: DUP1
00000954: SLOAD
00000955: DUP6
00000956: ADD
00000957: SWAP1
00000958: SSTORE
00000959: DUP2
0000095a: MLOAD
0000095b: DUP5
0000095c: DUP2
0000095d: MSTORE
0000095e: SWAP2
0000095f: MLOAD
00000960: ADDRESS
00000961: SWAP3
00000962: PUSH1 0x00
00000964: DUP1
00000965: MLOAD
00000966: PUSH1 0x20
00000968: PUSH2 0x101c
0000096b: DUP4
0000096c: CODECOPY
0000096d: DUP2
0000096e: MLOAD
0000096f: SWAP2
00000970: MSTORE
00000971: SWAP3
00000972: SWAP1
00000973: DUP3
00000974: SWAP1
00000975: SUB
00000976: ADD
00000977: SWAP1
00000978: LOG3
00000979: POP
0000097a: POP
0000097b: JUMP
0000097c: JUMPDEST
0000097d: PUSH1 0x01
0000097f: PUSH1 0xa0
00000981: PUSH1 0x02
00000983: EXP
00000984: SUB
00000985: DUP3
00000986: AND
00000987: PUSH1 0x00
00000989: SWAP1
0000098a: DUP2
0000098b: MSTORE
0000098c: PUSH1 0x08
0000098e: PUSH1 0x20
00000990: MSTORE
00000991: PUSH1 0x40
00000993: DUP2
00000994: KECCAK256
00000995: SLOAD
00000996: DUP3
00000997: GT
00000998: ISZERO
00000999: PUSH2 0x09a1
0000099c: JUMPI
0000099d: PUSH1 0x00
0000099f: DUP1
000009a0: REVERT
000009a1: JUMPDEST
000009a2: PUSH1 0x01
000009a4: PUSH1 0xa0
000009a6: PUSH1 0x02
000009a8: EXP
000009a9: SUB
000009aa: DUP4
000009ab: AND
000009ac: PUSH1 0x00
000009ae: SWAP1
000009af: DUP2
000009b0: MSTORE
000009b1: PUSH1 0x09
000009b3: PUSH1 0x20
000009b5: SWAP1
000009b6: DUP2
000009b7: MSTORE
000009b8: PUSH1 0x40
000009ba: DUP1
000009bb: DUP4
000009bc: KECCAK256
000009bd: CALLER
000009be: DUP5
000009bf: MSTORE
000009c0: SWAP1
000009c1: SWAP2
000009c2: MSTORE
000009c3: SWAP1
000009c4: KECCAK256
000009c5: SLOAD
000009c6: DUP3
000009c7: GT
000009c8: ISZERO
000009c9: PUSH2 0x09d1
000009cc: JUMPI
000009cd: PUSH1 0x00
000009cf: DUP1
000009d0: REVERT
000009d1: JUMPDEST
000009d2: PUSH1 0x01
000009d4: PUSH1 0xa0
000009d6: PUSH1 0x02
000009d8: EXP
000009d9: SUB
000009da: DUP4
000009db: AND
000009dc: PUSH1 0x00
000009de: DUP2
000009df: DUP2
000009e0: MSTORE
000009e1: PUSH1 0x08
000009e3: PUSH1 0x20
000009e5: SWAP1
000009e6: DUP2
000009e7: MSTORE
000009e8: PUSH1 0x40
000009ea: DUP1
000009eb: DUP4
000009ec: KECCAK256
000009ed: DUP1
000009ee: SLOAD
000009ef: DUP8
000009f0: SWAP1
000009f1: SUB
000009f2: SWAP1
000009f3: SSTORE
000009f4: PUSH1 0x09
000009f6: DUP3
000009f7: MSTORE
000009f8: DUP1
000009f9: DUP4
000009fa: KECCAK256
000009fb: CALLER
000009fc: DUP5
000009fd: MSTORE
000009fe: DUP3
000009ff: MSTORE
00000a00: SWAP2
00000a01: DUP3
00000a02: SWAP1
00000a03: KECCAK256
00000a04: DUP1
00000a05: SLOAD
00000a06: DUP7
00000a07: SWAP1
00000a08: SUB
00000a09: SWAP1
00000a0a: SSTORE
00000a0b: PUSH1 0x04
00000a0d: DUP1
00000a0e: SLOAD
00000a0f: DUP7
00000a10: SWAP1
00000a11: SUB
00000a12: SWAP1
00000a13: SSTORE
00000a14: DUP2
00000a15: MLOAD
00000a16: DUP6
00000a17: DUP2
00000a18: MSTORE
00000a19: SWAP2
00000a1a: MLOAD
00000a1b: PUSH32 0xcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5
00000a3c: SWAP3
00000a3d: DUP2
00000a3e: SWAP1
00000a3f: SUB
00000a40: SWAP1
00000a41: SWAP2
00000a42: ADD
00000a43: SWAP1
00000a44: LOG2
00000a45: POP
00000a46: PUSH1 0x01
00000a48: SWAP3
00000a49: SWAP2
00000a4a: POP
00000a4b: POP
00000a4c: JUMP
00000a4d: JUMPDEST
00000a4e: PUSH1 0x00
00000a50: SLOAD
00000a51: PUSH1 0x01
00000a53: PUSH1 0xa0
00000a55: PUSH1 0x02
00000a57: EXP
00000a58: SUB
00000a59: AND
00000a5a: CALLER
00000a5b: EQ
00000a5c: PUSH2 0x0a64
00000a5f: JUMPI
00000a60: PUSH1 0x00
00000a62: DUP1
00000a63: REVERT
00000a64: JUMPDEST
00000a65: PUSH1 0x00
00000a67: DUP2
00000a68: GT
00000a69: PUSH2 0x0a71
00000a6c: JUMPI
00000a6d: PUSH1 0x00
00000a6f: DUP1
00000a70: REVERT
00000a71: JUMPDEST
00000a72: PUSH1 0x05
00000a74: SLOAD
00000a75: PUSH1 0x40
00000a77: DUP1
00000a78: MLOAD
00000a79: SWAP2
00000a7a: DUP3
00000a7b: MSTORE
00000a7c: PUSH1 0x20
00000a7e: DUP3
00000a7f: ADD
00000a80: DUP4
00000a81: SWAP1
00000a82: MSTORE
00000a83: DUP1
00000a84: MLOAD
00000a85: PUSH32 0xcfa7074b22c98fb9291e698be8caae9fd3391198b3dd068fbe42c6da6b9c9bf5
00000aa6: SWAP3
00000aa7: DUP2
00000aa8: SWAP1
00000aa9: SUB
00000aaa: SWAP1
00000aab: SWAP2
00000aac: ADD
00000aad: SWAP1
00000aae: LOG1
00000aaf: PUSH1 0x05
00000ab1: SSTORE
00000ab2: JUMP
00000ab3: JUMPDEST
00000ab4: PUSH1 0x00
00000ab6: SLOAD
00000ab7: PUSH1 0x01
00000ab9: PUSH1 0xa0
00000abb: PUSH1 0x02
00000abd: EXP
00000abe: SUB
00000abf: AND
00000ac0: DUP2
00000ac1: JUMP
00000ac2: JUMPDEST
00000ac3: PUSH1 0x00
00000ac5: SLOAD
00000ac6: PUSH1 0x01
00000ac8: PUSH1 0xa0
00000aca: PUSH1 0x02
00000acc: EXP
00000acd: SUB
00000ace: AND
00000acf: CALLER
00000ad0: EQ
00000ad1: PUSH2 0x0ad9
00000ad4: JUMPI
00000ad5: PUSH1 0x00
00000ad7: DUP1
00000ad8: REVERT
00000ad9: JUMPDEST
00000ada: PUSH1 0x00
00000adc: DUP2
00000add: GT
00000ade: PUSH2 0x0ae6
00000ae1: JUMPI
00000ae2: PUSH1 0x00
00000ae4: DUP1
00000ae5: REVERT
00000ae6: JUMPDEST
00000ae7: PUSH1 0x06
00000ae9: SLOAD
00000aea: PUSH1 0x40
00000aec: DUP1
00000aed: MLOAD
00000aee: SWAP2
00000aef: DUP3
00000af0: MSTORE
00000af1: PUSH1 0x20
00000af3: DUP3
00000af4: ADD
00000af5: DUP4
00000af6: SWAP1
00000af7: MSTORE
00000af8: DUP1
00000af9: MLOAD
00000afa: PUSH32 0xfa46b8b4ccaecf1d18401d52f6693d32659468c8553f904bf40cbcfd416ac0f6
00000b1b: SWAP3
00000b1c: DUP2
00000b1d: SWAP1
00000b1e: SUB
00000b1f: SWAP1
00000b20: SWAP2
00000b21: ADD
00000b22: SWAP1
00000b23: LOG1
00000b24: PUSH1 0x06
00000b26: SSTORE
00000b27: JUMP
00000b28: JUMPDEST
00000b29: PUSH1 0x02
00000b2b: DUP1
00000b2c: SLOAD
00000b2d: PUSH1 0x40
00000b2f: DUP1
00000b30: MLOAD
00000b31: PUSH1 0x20
00000b33: PUSH1 0x01
00000b35: DUP5
00000b36: AND
00000b37: ISZERO
00000b38: PUSH2 0x0100
00000b3b: MUL
00000b3c: PUSH1 0x00
00000b3e: NOT
00000b3f: ADD
00000b40: SWAP1
00000b41: SWAP4
00000b42: AND
00000b43: DUP5
00000b44: SWAP1
00000b45: DIV
00000b46: PUSH1 0x1f
00000b48: DUP2
00000b49: ADD
00000b4a: DUP5
00000b4b: SWAP1
00000b4c: DIV
00000b4d: DUP5
00000b4e: MUL
00000b4f: DUP3
00000b50: ADD
00000b51: DUP5
00000b52: ADD
00000b53: SWAP1
00000b54: SWAP3
00000b55: MSTORE
00000b56: DUP2
00000b57: DUP2
00000b58: MSTORE
00000b59: SWAP3
00000b5a: SWAP2
00000b5b: DUP4
00000b5c: ADD
00000b5d: DUP3
00000b5e: DUP3
00000b5f: DUP1
00000b60: ISZERO
00000b61: PUSH2 0x06b6
00000b64: JUMPI
00000b65: DUP1
00000b66: PUSH1 0x1f
00000b68: LT
00000b69: PUSH2 0x068b
00000b6c: JUMPI
00000b6d: PUSH2 0x0100
00000b70: DUP1
00000b71: DUP4
00000b72: SLOAD
00000b73: DIV
00000b74: MUL
00000b75: DUP4
00000b76: MSTORE
00000b77: SWAP2
00000b78: PUSH1 0x20
00000b7a: ADD
00000b7b: SWAP2
00000b7c: PUSH2 0x06b6
00000b7f: JUMP
00000b80: JUMPDEST
00000b81: PUSH2 0x07c7
00000b84: CALLER
00000b85: DUP4
00000b86: DUP4
00000b87: PUSH2 0x0eda
00000b8a: JUMP
00000b8b: JUMPDEST
00000b8c: PUSH1 0x0a
00000b8e: PUSH1 0x20
00000b90: MSTORE
00000b91: PUSH1 0x00
00000b93: SWAP1
00000b94: DUP2
00000b95: MSTORE
00000b96: PUSH1 0x40
00000b98: SWAP1
00000b99: KECCAK256
00000b9a: SLOAD
00000b9b: PUSH1 0xff
00000b9d: AND
00000b9e: DUP2
00000b9f: JUMP
00000ba0: JUMPDEST
00000ba1: PUSH1 0x00
00000ba3: DUP4
00000ba4: PUSH2 0x0bad
00000ba7: DUP2
00000ba8: DUP6
00000ba9: PUSH2 0x06be
00000bac: JUMP
00000bad: JUMPDEST
00000bae: ISZERO
00000baf: PUSH2 0x0cb1
00000bb2: JUMPI
00000bb3: PUSH1 0x40
00000bb5: MLOAD
00000bb6: PUSH32 0x8f4ffcb100000000000000000000000000000000000000000000000000000000
00000bd7: DUP2
00000bd8: MSTORE
00000bd9: CALLER
00000bda: PUSH1 0x04
00000bdc: DUP3
00000bdd: ADD
00000bde: DUP2
00000bdf: DUP2
00000be0: MSTORE
00000be1: PUSH1 0x24
00000be3: DUP4
00000be4: ADD
00000be5: DUP8
00000be6: SWAP1
00000be7: MSTORE
00000be8: ADDRESS
00000be9: PUSH1 0x44
00000beb: DUP5
00000bec: ADD
00000bed: DUP2
00000bee: SWAP1
00000bef: MSTORE
00000bf0: PUSH1 0x80
00000bf2: PUSH1 0x64
00000bf4: DUP6
00000bf5: ADD
00000bf6: SWAP1
00000bf7: DUP2
00000bf8: MSTORE
00000bf9: DUP8
00000bfa: MLOAD
00000bfb: PUSH1 0x84
00000bfd: DUP7
00000bfe: ADD
00000bff: MSTORE
00000c00: DUP8
00000c01: MLOAD
00000c02: PUSH1 0x01
00000c04: PUSH1 0xa0
00000c06: PUSH1 0x02
00000c08: EXP
00000c09: SUB
00000c0a: DUP8
00000c0b: AND
00000c0c: SWAP6
00000c0d: PUSH4 0x8f4ffcb1
00000c12: SWAP6
00000c13: SWAP5
00000c14: DUP12
00000c15: SWAP5
00000c16: SWAP4
00000c17: DUP12
00000c18: SWAP4
00000c19: SWAP2
00000c1a: SWAP3
00000c1b: SWAP1
00000c1c: SWAP2
00000c1d: PUSH1 0xa4
00000c1f: SWAP1
00000c20: SWAP2
00000c21: ADD
00000c22: SWAP1
00000c23: PUSH1 0x20
00000c25: DUP6
00000c26: ADD
00000c27: SWAP1
00000c28: DUP1
00000c29: DUP4
00000c2a: DUP4
00000c2b: PUSH1 0x00
00000c2d: JUMPDEST
00000c2e: DUP4
00000c2f: DUP2
00000c30: LT
00000c31: ISZERO
00000c32: PUSH2 0x0c45
00000c35: JUMPI
00000c36: DUP2
00000c37: DUP2
00000c38: ADD
00000c39: MLOAD
00000c3a: DUP4
00000c3b: DUP3
00000c3c: ADD
00000c3d: MSTORE
00000c3e: PUSH1 0x20
00000c40: ADD
00000c41: PUSH2 0x0c2d
00000c44: JUMP
00000c45: JUMPDEST
00000c46: POP
00000c47: POP
00000c48: POP
00000c49: POP
00000c4a: SWAP1
00000c4b: POP
00000c4c: SWAP1
00000c4d: DUP2
00000c4e: ADD
00000c4f: SWAP1
00000c50: PUSH1 0x1f
00000c52: AND
00000c53: DUP1
00000c54: ISZERO
00000c55: PUSH2 0x0c72
00000c58: JUMPI
00000c59: DUP1
00000c5a: DUP3
00000c5b: SUB
00000c5c: DUP1
00000c5d: MLOAD
00000c5e: PUSH1 0x01
00000c60: DUP4
00000c61: PUSH1 0x20
00000c63: SUB
00000c64: PUSH2 0x0100
00000c67: EXP
00000c68: SUB
00000c69: NOT
00000c6a: AND
00000c6b: DUP2
00000c6c: MSTORE
00000c6d: PUSH1 0x20
00000c6f: ADD
00000c70: SWAP2
00000c71: POP
00000c72: JUMPDEST
00000c73: POP
00000c74: SWAP6
00000c75: POP
00000c76: POP
00000c77: POP
00000c78: POP
00000c79: POP
00000c7a: POP
00000c7b: PUSH1 0x00
00000c7d: PUSH1 0x40
00000c7f: MLOAD
00000c80: DUP1
00000c81: DUP4
00000c82: SUB
00000c83: DUP2
00000c84: PUSH1 0x00
00000c86: DUP8
00000c87: DUP1
00000c88: EXTCODESIZE
00000c89: ISZERO
00000c8a: DUP1
00000c8b: ISZERO
00000c8c: PUSH2 0x0c94
00000c8f: JUMPI
00000c90: PUSH1 0x00
00000c92: DUP1
00000c93: REVERT
00000c94: JUMPDEST
00000c95: POP
00000c96: GAS
00000c97: CALL
00000c98: ISZERO
00000c99: DUP1
00000c9a: ISZERO
00000c9b: PUSH2 0x0ca8
00000c9e: JUMPI
00000c9f: RETURNDATASIZE
00000ca0: PUSH1 0x00
00000ca2: DUP1
00000ca3: RETURNDATACOPY
00000ca4: RETURNDATASIZE
00000ca5: PUSH1 0x00
00000ca7: REVERT
00000ca8: JUMPDEST
00000ca9: POP
00000caa: POP
00000cab: POP
00000cac: POP
00000cad: PUSH1 0x01
00000caf: SWAP2
00000cb0: POP
00000cb1: JUMPDEST
00000cb2: POP
00000cb3: SWAP4
00000cb4: SWAP3
00000cb5: POP
00000cb6: POP
00000cb7: POP
00000cb8: JUMP
00000cb9: JUMPDEST
00000cba: JUMP
00000cbb: JUMPDEST
00000cbc: PUSH1 0x09
00000cbe: PUSH1 0x20
00000cc0: SWAP1
00000cc1: DUP2
00000cc2: MSTORE
00000cc3: PUSH1 0x00
00000cc5: SWAP3
00000cc6: DUP4
00000cc7: MSTORE
00000cc8: PUSH1 0x40
00000cca: DUP1
00000ccb: DUP5
00000ccc: KECCAK256
00000ccd: SWAP1
00000cce: SWAP2
00000ccf: MSTORE
00000cd0: SWAP1
00000cd1: DUP3
00000cd2: MSTORE
00000cd3: SWAP1
00000cd4: KECCAK256
00000cd5: SLOAD
00000cd6: DUP2
00000cd7: JUMP
00000cd8: JUMPDEST
00000cd9: CALLER
00000cda: PUSH1 0x00
00000cdc: SWAP1
00000cdd: DUP2
00000cde: MSTORE
00000cdf: PUSH1 0x08
00000ce1: PUSH1 0x20
00000ce3: MSTORE
00000ce4: PUSH1 0x40
00000ce6: DUP2
00000ce7: KECCAK256
00000ce8: SLOAD
00000ce9: DUP3
00000cea: GT
00000ceb: ISZERO
00000cec: PUSH2 0x0cf4
00000cef: JUMPI
00000cf0: PUSH1 0x00
00000cf2: DUP1
00000cf3: REVERT
00000cf4: JUMPDEST
00000cf5: PUSH1 0x07
00000cf7: SLOAD
00000cf8: PUSH1 0xff
00000cfa: AND
00000cfb: ISZERO
00000cfc: ISZERO
00000cfd: PUSH2 0x0d05
00000d00: JUMPI
00000d01: PUSH1 0x00
00000d03: DUP1
00000d04: REVERT
00000d05: JUMPDEST
00000d06: CALLER
00000d07: PUSH1 0x00
00000d09: SWAP1
00000d0a: DUP2
00000d0b: MSTORE
00000d0c: PUSH1 0x0a
00000d0e: PUSH1 0x20
00000d10: MSTORE
00000d11: PUSH1 0x40
00000d13: SWAP1
00000d14: KECCAK256
00000d15: SLOAD
00000d16: PUSH1 0xff
00000d18: AND
00000d19: ISZERO
00000d1a: PUSH2 0x0d22
00000d1d: JUMPI
00000d1e: PUSH1 0x00
00000d20: DUP1
00000d21: REVERT
00000d22: JUMPDEST
00000d23: ADDRESS
00000d24: PUSH1 0x00
00000d26: SWAP1
00000d27: DUP2
00000d28: MSTORE
00000d29: PUSH1 0x08
00000d2b: PUSH1 0x20
00000d2d: MSTORE
00000d2e: PUSH1 0x40
00000d30: DUP1
00000d31: DUP3
00000d32: KECCAK256
00000d33: DUP1
00000d34: SLOAD
00000d35: DUP6
00000d36: ADD
00000d37: SWAP1
00000d38: SSTORE
00000d39: CALLER
00000d3a: DUP3
00000d3b: MSTORE
00000d3c: SWAP1
00000d3d: KECCAK256
00000d3e: DUP1
00000d3f: SLOAD
00000d40: DUP4
00000d41: SWAP1
00000d42: SUB
00000d43: SWAP1
00000d44: SSTORE
00000d45: PUSH1 0x03
00000d47: SLOAD
00000d48: PUSH1 0x06
00000d4a: SLOAD
00000d4b: PUSH2 0x0d7c
00000d4e: SWAP2
00000d4f: PUSH2 0x0d64
00000d52: SWAP2
00000d53: SWAP1
00000d54: PUSH1 0xff
00000d56: AND
00000d57: PUSH1 0x0a
00000d59: EXP
00000d5a: PUSH4 0xffffffff
00000d5f: PUSH2 0x0e98
00000d62: AND
00000d63: JUMP
00000d64: JUMPDEST
00000d65: PUSH2 0x05d7
00000d68: DUP5
00000d69: PUSH8 0x0de0b6b3a7640000
00000d72: PUSH4 0xffffffff
00000d77: PUSH2 0x0e98
00000d7a: AND
00000d7b: JUMP
00000d7c: JUMPDEST
00000d7d: PUSH1 0x40
00000d7f: MLOAD
00000d80: SWAP1
00000d81: SWAP2
00000d82: POP
00000d83: CALLER
00000d84: SWAP1
00000d85: DUP3
00000d86: ISZERO
00000d87: PUSH2 0x08fc
00000d8a: MUL
00000d8b: SWAP1
00000d8c: DUP4
00000d8d: SWAP1
00000d8e: PUSH1 0x00
00000d90: DUP2
00000d91: DUP2
00000d92: DUP2
00000d93: DUP6
00000d94: DUP9
00000d95: DUP9
00000d96: CALL
00000d97: SWAP4
00000d98: POP
00000d99: POP
00000d9a: POP
00000d9b: POP
00000d9c: ISZERO
00000d9d: DUP1
00000d9e: ISZERO
00000d9f: PUSH2 0x0dac
00000da2: JUMPI
00000da3: RETURNDATASIZE
00000da4: PUSH1 0x00
00000da6: DUP1
00000da7: RETURNDATACOPY
00000da8: RETURNDATASIZE
00000da9: PUSH1 0x00
00000dab: REVERT
00000dac: JUMPDEST
00000dad: POP
00000dae: PUSH1 0x40
00000db0: DUP1
00000db1: MLOAD
00000db2: DUP4
00000db3: DUP2
00000db4: MSTORE
00000db5: SWAP1
00000db6: MLOAD
00000db7: ADDRESS
00000db8: SWAP2
00000db9: CALLER
00000dba: SWAP2
00000dbb: PUSH1 0x00
00000dbd: DUP1
00000dbe: MLOAD
00000dbf: PUSH1 0x20
00000dc1: PUSH2 0x101c
00000dc4: DUP4
00000dc5: CODECOPY
00000dc6: DUP2
00000dc7: MLOAD
00000dc8: SWAP2
00000dc9: MSTORE
00000dca: SWAP2
00000dcb: DUP2
00000dcc: SWAP1
00000dcd: SUB
00000dce: PUSH1 0x20
00000dd0: ADD
00000dd1: SWAP1
00000dd2: LOG3
00000dd3: SWAP2
00000dd4: SWAP1
00000dd5: POP
00000dd6: JUMP
00000dd7: JUMPDEST
00000dd8: PUSH1 0x00
00000dda: SLOAD
00000ddb: PUSH1 0x01
00000ddd: PUSH1 0xa0
00000ddf: PUSH1 0x02
00000de1: EXP
00000de2: SUB
00000de3: AND
00000de4: CALLER
00000de5: EQ
00000de6: PUSH2 0x0dee
00000de9: JUMPI
00000dea: PUSH1 0x00
00000dec: DUP1
00000ded: REVERT
00000dee: JUMPDEST
00000def: PUSH1 0x01
00000df1: PUSH1 0xa0
00000df3: PUSH1 0x02
00000df5: EXP
00000df6: SUB
00000df7: DUP3
00000df8: AND
00000df9: PUSH1 0x00
00000dfb: DUP2
00000dfc: DUP2
00000dfd: MSTORE
00000dfe: PUSH1 0x0a
00000e00: PUSH1 0x20
00000e02: SWAP1
00000e03: DUP2
00000e04: MSTORE
00000e05: PUSH1 0x40
00000e07: SWAP2
00000e08: DUP3
00000e09: SWAP1
00000e0a: KECCAK256
00000e0b: DUP1
00000e0c: SLOAD
00000e0d: PUSH1 0xff
00000e0f: NOT
00000e10: AND
00000e11: DUP6
00000e12: ISZERO
00000e13: ISZERO
00000e14: SWAP1
00000e15: DUP2
00000e16: OR
00000e17: SWAP1
00000e18: SWAP2
00000e19: SSTORE
00000e1a: DUP3
00000e1b: MLOAD
00000e1c: SWAP4
00000e1d: DUP5
00000e1e: MSTORE
00000e1f: SWAP1
00000e20: DUP4
00000e21: ADD
00000e22: MSTORE
00000e23: DUP1
00000e24: MLOAD
00000e25: PUSH32 0x48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a5
00000e46: SWAP3
00000e47: DUP2
00000e48: SWAP1
00000e49: SUB
00000e4a: SWAP1
00000e4b: SWAP2
00000e4c: ADD
00000e4d: SWAP1
00000e4e: LOG1
00000e4f: POP
00000e50: POP
00000e51: JUMP
00000e52: JUMPDEST
00000e53: PUSH1 0x00
00000e55: SLOAD
00000e56: PUSH1 0x01
00000e58: PUSH1 0xa0
00000e5a: PUSH1 0x02
00000e5c: EXP
00000e5d: SUB
00000e5e: AND
00000e5f: CALLER
00000e60: EQ
00000e61: PUSH2 0x0e69
00000e64: JUMPI
00000e65: PUSH1 0x00
00000e67: DUP1
00000e68: REVERT
00000e69: JUMPDEST
00000e6a: PUSH1 0x00
00000e6c: DUP1
00000e6d: SLOAD
00000e6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e83: NOT
00000e84: AND
00000e85: PUSH1 0x01
00000e87: PUSH1 0xa0
00000e89: PUSH1 0x02
00000e8b: EXP
00000e8c: SUB
00000e8d: SWAP3
00000e8e: SWAP1
00000e8f: SWAP3
00000e90: AND
00000e91: SWAP2
00000e92: SWAP1
00000e93: SWAP2
00000e94: OR
00000e95: SWAP1
00000e96: SSTORE
00000e97: JUMP
00000e98: JUMPDEST
00000e99: PUSH1 0x00
00000e9b: DUP3
00000e9c: DUP3
00000e9d: MUL
00000e9e: DUP4
00000e9f: ISZERO
00000ea0: DUP1
00000ea1: PUSH2 0x0eb4
00000ea4: JUMPI
00000ea5: POP
00000ea6: DUP3
00000ea7: DUP5
00000ea8: DUP3
00000ea9: DUP2
00000eaa: ISZERO
00000eab: ISZERO
00000eac: PUSH2 0x0eb1
00000eaf: JUMPI
00000eb0: INVALID
00000eb1: JUMPDEST
00000eb2: DIV
00000eb3: EQ
00000eb4: JUMPDEST
00000eb5: ISZERO
00000eb6: ISZERO
00000eb7: PUSH2 0x0ebc
00000eba: JUMPI
00000ebb: INVALID
00000ebc: JUMPDEST
00000ebd: SWAP4
00000ebe: SWAP3
00000ebf: POP
00000ec0: POP
00000ec1: POP
00000ec2: JUMP
00000ec3: JUMPDEST
00000ec4: PUSH1 0x00
00000ec6: DUP1
00000ec7: DUP3
00000ec8: DUP5
00000ec9: DUP2
00000eca: ISZERO
00000ecb: ISZERO
00000ecc: PUSH2 0x0ed1
00000ecf: JUMPI
00000ed0: INVALID
00000ed1: JUMPDEST
00000ed2: DIV
00000ed3: SWAP5
00000ed4: SWAP4
00000ed5: POP
00000ed6: POP
00000ed7: POP
00000ed8: POP
00000ed9: JUMP
00000eda: JUMPDEST
00000edb: PUSH1 0x00
00000edd: PUSH1 0x01
00000edf: PUSH1 0xa0
00000ee1: PUSH1 0x02
00000ee3: EXP
00000ee4: SUB
00000ee5: DUP4
00000ee6: AND
00000ee7: ISZERO
00000ee8: ISZERO
00000ee9: PUSH2 0x0ef1
00000eec: JUMPI
00000eed: PUSH1 0x00
00000eef: DUP1
00000ef0: REVERT
00000ef1: JUMPDEST
00000ef2: PUSH1 0x01
00000ef4: PUSH1 0xa0
00000ef6: PUSH1 0x02
00000ef8: EXP
00000ef9: SUB
00000efa: DUP5
00000efb: AND
00000efc: PUSH1 0x00
00000efe: SWAP1
00000eff: DUP2
00000f00: MSTORE
00000f01: PUSH1 0x08
00000f03: PUSH1 0x20
00000f05: MSTORE
00000f06: PUSH1 0x40
00000f08: SWAP1
00000f09: KECCAK256
00000f0a: SLOAD
00000f0b: DUP3
00000f0c: GT
00000f0d: ISZERO
00000f0e: PUSH2 0x0f16
00000f11: JUMPI
00000f12: PUSH1 0x00
00000f14: DUP1
00000f15: REVERT
00000f16: JUMPDEST
00000f17: PUSH1 0x01
00000f19: PUSH1 0xa0
00000f1b: PUSH1 0x02
00000f1d: EXP
00000f1e: SUB
00000f1f: DUP4
00000f20: AND
00000f21: PUSH1 0x00
00000f23: SWAP1
00000f24: DUP2
00000f25: MSTORE
00000f26: PUSH1 0x08
00000f28: PUSH1 0x20
00000f2a: MSTORE
00000f2b: PUSH1 0x40
00000f2d: SWAP1
00000f2e: KECCAK256
00000f2f: SLOAD
00000f30: DUP3
00000f31: DUP2
00000f32: ADD
00000f33: GT
00000f34: PUSH2 0x0f3c
00000f37: JUMPI
00000f38: PUSH1 0x00
00000f3a: DUP1
00000f3b: REVERT
00000f3c: JUMPDEST
00000f3d: PUSH1 0x01
00000f3f: PUSH1 0xa0
00000f41: PUSH1 0x02
00000f43: EXP
00000f44: SUB
00000f45: DUP5
00000f46: AND
00000f47: PUSH1 0x00
00000f49: SWAP1
00000f4a: DUP2
00000f4b: MSTORE
00000f4c: PUSH1 0x0a
00000f4e: PUSH1 0x20
00000f50: MSTORE
00000f51: PUSH1 0x40
00000f53: SWAP1
00000f54: KECCAK256
00000f55: SLOAD
00000f56: PUSH1 0xff
00000f58: AND
00000f59: ISZERO
00000f5a: PUSH2 0x0f62
00000f5d: JUMPI
00000f5e: PUSH1 0x00
00000f60: DUP1
00000f61: REVERT
00000f62: JUMPDEST
00000f63: PUSH1 0x01
00000f65: PUSH1 0xa0
00000f67: PUSH1 0x02
00000f69: EXP
00000f6a: SUB
00000f6b: DUP4
00000f6c: AND
00000f6d: PUSH1 0x00
00000f6f: SWAP1
00000f70: DUP2
00000f71: MSTORE
00000f72: PUSH1 0x0a
00000f74: PUSH1 0x20
00000f76: MSTORE
00000f77: PUSH1 0x40
00000f79: SWAP1
00000f7a: KECCAK256
00000f7b: SLOAD
00000f7c: PUSH1 0xff
00000f7e: AND
00000f7f: ISZERO
00000f80: PUSH2 0x0f88
00000f83: JUMPI
00000f84: PUSH1 0x00
00000f86: DUP1
00000f87: REVERT
00000f88: JUMPDEST
00000f89: POP
00000f8a: PUSH1 0x01
00000f8c: PUSH1 0xa0
00000f8e: PUSH1 0x02
00000f90: EXP
00000f91: SUB
00000f92: DUP1
00000f93: DUP4
00000f94: AND
00000f95: PUSH1 0x00
00000f97: DUP2
00000f98: DUP2
00000f99: MSTORE
00000f9a: PUSH1 0x08
00000f9c: PUSH1 0x20
00000f9e: SWAP1
00000f9f: DUP2
00000fa0: MSTORE
00000fa1: PUSH1 0x40
00000fa3: DUP1
00000fa4: DUP4
00000fa5: KECCAK256
00000fa6: DUP1
00000fa7: SLOAD
00000fa8: SWAP6
00000fa9: DUP10
00000faa: AND
00000fab: DUP1
00000fac: DUP6
00000fad: MSTORE
00000fae: DUP3
00000faf: DUP6
00000fb0: KECCAK256
00000fb1: DUP1
00000fb2: SLOAD
00000fb3: DUP10
00000fb4: DUP2
00000fb5: SUB
00000fb6: SWAP1
00000fb7: SWAP2
00000fb8: SSTORE
00000fb9: SWAP5
00000fba: DUP7
00000fbb: SWAP1
00000fbc: MSTORE
00000fbd: DUP2
00000fbe: SLOAD
00000fbf: DUP9
00000fc0: ADD
00000fc1: SWAP1
00000fc2: SWAP2
00000fc3: SSTORE
00000fc4: DUP2
00000fc5: MLOAD
00000fc6: DUP8
00000fc7: DUP2
00000fc8: MSTORE
00000fc9: SWAP2
00000fca: MLOAD
00000fcb: SWAP4
00000fcc: SWAP1
00000fcd: SWAP6
00000fce: ADD
00000fcf: SWAP5
00000fd0: SWAP3
00000fd1: PUSH1 0x00
00000fd3: DUP1
00000fd4: MLOAD
00000fd5: PUSH1 0x20
00000fd7: PUSH2 0x101c
00000fda: DUP4
00000fdb: CODECOPY
00000fdc: DUP2
00000fdd: MLOAD
00000fde: SWAP2
00000fdf: MSTORE
00000fe0: SWAP3
00000fe1: SWAP2
00000fe2: DUP2
00000fe3: SWAP1
00000fe4: SUB
00000fe5: SWAP1
00000fe6: SWAP2
00000fe7: ADD
00000fe8: SWAP1
00000fe9: LOG3
00000fea: PUSH1 0x01
00000fec: PUSH1 0xa0
00000fee: PUSH1 0x02
00000ff0: EXP
00000ff1: SUB
00000ff2: DUP1
00000ff3: DUP5
00000ff4: AND
00000ff5: PUSH1 0x00
00000ff7: SWAP1
00000ff8: DUP2
00000ff9: MSTORE
00000ffa: PUSH1 0x08
00000ffc: PUSH1 0x20
00000ffe: MSTORE
00000fff: PUSH1 0x40
00001001: DUP1
00001002: DUP3
00001003: KECCAK256
00001004: SLOAD
00001005: SWAP3
00001006: DUP8
00001007: AND
00001008: DUP3
00001009: MSTORE
0000100a: SWAP1
0000100b: KECCAK256
0000100c: SLOAD
0000100d: ADD
0000100e: DUP2
0000100f: EQ
00001010: PUSH2 0x1015
00001013: JUMPI
00001014: INVALID
00001015: JUMPDEST
00001016: POP
00001017: POP
00001018: POP
00001019: POP
0000101a: JUMP
0000101b: STOP
0000101c: UNKNOWN(0xDD)
0000101d: CALLCODE
0000101e: MSTORE
0000101f: UNKNOWN(0xAD)
00001020: SHL
00001021: UNKNOWN(0xE2)
00001022: UNKNOWN(0xC8)
00001023: SWAP12
00001024: PUSH10 0xc2b068fc378daa952ba7
0000102f: CALL
00001030: PUSH4 0xc4a11628
00001035: CREATE2
00001036: GAS
00001037: UNKNOWN(0x4D)
00001038: CREATE2
00001039: UNKNOWN(0x23)
0000103a: UNKNOWN(0xB3)
0000103b: UNKNOWN(0xEF)
0000103c: LOG1
0000103d: PUSH6 0x627a7a723058
00001044: KECCAK256
00001045: UNKNOWN(0x4F)
00001046: SWAP11
00001047: UNKNOWN(0x4E)
00001048: UNKNOWN(0x0C)
00001049: DUP8
0000104a: BLOCKHASH
0000104b: UNKNOWN(0xD2)
0000104c: UNKNOWN(0xEA)
0000104d: SWAP6
0000104e: EQ
0000104f: DELEGATECALL
00001050: PUSH6 0xf851250c5b19
00001057: LOG3
00001058: UNKNOWN(0x4E)
00001059: SAR
0000105a: UNKNOWN(0xDC)
0000105b: UNKNOWN(0x0F)
0000105c: SGT
0000105d: UNKNOWN(0xA5)
0000105e: UNKNOWN(0x0E)
0000105f: SWAP7
00001060: GT
00001061: PUSH26

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x5ff02a6ac4e9db4880f88c647bc8fc10ce652187c61b5f1af9c8a4d5825fd81b
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x5ff02a6ac4e9db4880f88c647bc8fc10ce652187c61b5f1af9c8a4d5825fd81b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1d0b482f",
            "selector": "0x1d0b482f",
            "calldata_variants": [
                "0x1d0b482f",
                "0x1d0b482f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x28b93702",
            "selector": "0x28b93702",
            "calldata_variants": [
                "0x28b93702",
                "0x28b937020000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4175,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xd7a1e125b03b5c1cd018e0152b7cffbd27876cb02b144fe9485cfe8887e3578a
call_targets: 0xa0d031c090974d2bdb0ffc22124f08532e1dc768
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd7a1e125b03b5c1cd018e0152b7cffbd27876cb02b144fe9485cfe8887e3578a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xa0d031c090974d2bdb0ffc22124f08532e1dc768"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1d0b482f",
            "selector": "0x1d0b482f",
            "calldata_variants": [
                "0x1d0b482f",
                "0x1d0b482f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x28b93702",
            "selector": "0x28b93702",
            "calldata_variants": [
                "0x28b93702",
                "0x28b937020000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1969,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3223,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3478,
            "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 no no
view
trace_id: 0xd7a1e125b03b5c1cd018e0152b7cffbd27876cb02b144fe9485cfe8887e3578a
call_targets: 0xa0d031c090974d2bdb0ffc22124f08532e1dc768
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd7a1e125b03b5c1cd018e0152b7cffbd27876cb02b144fe9485cfe8887e3578a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xa0d031c090974d2bdb0ffc22124f08532e1dc768"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1d0b482f",
            "selector": "0x1d0b482f",
            "calldata_variants": [
                "0x1d0b482f",
                "0x1d0b482f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x28b93702",
            "selector": "0x28b93702",
            "calldata_variants": [
                "0x28b93702",
                "0x28b937020000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1969,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3223,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3478,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 5,
    "guards_detected": []
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x21ddde51868f112a35a52ca5e259b605164881bf01987284e54b871f1e41f377
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x21ddde51868f112a35a52ca5e259b605164881bf01987284e54b871f1e41f377",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1d0b482f",
            "selector": "0x1d0b482f",
            "calldata_variants": [
                "0x1d0b482f",
                "0x1d0b482f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x28b93702",
            "selector": "0x28b93702",
            "calldata_variants": [
                "0x28b93702",
                "0x28b937020000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 2
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 2
}