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

Analysis Run

019b3836-4f4b-705c-a08c-543f8fde8ebd

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 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
7511 artifact.fetch complete 1 / 3 3 months ago
7512 tool.cast_disasm complete 1 / 3 3 months ago
109274 analysis.bundle complete 1 / 3 1 week ago
109275 capability.graph complete 1 / 3 1 week ago
109276 detector.run complete 1 / 3 1 week ago
109277 validation.fork complete 1 / 3 1 week ago
113932 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-wstmzq0s
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5ca3-5bf9-73c3-80db-4541d15c26bf
--------
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:55:04.599660+00:00",
        "returncode": 1
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 8046,
        "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
0
Total opcodes
2551
Flags
create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x01a0
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 0x01b9
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x095ea7b3
00000025: EQ
00000026: PUSH2 0x0217
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x0c90ccea
00000030: EQ
00000031: PUSH2 0x028b
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x10b5e050
0000003b: EQ
0000003c: PUSH2 0x029d
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x18160ddd
00000046: EQ
00000047: PUSH2 0x02ae
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x1cc7ef20
00000051: EQ
00000052: PUSH2 0x02b7
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x23b872dd
0000005c: EQ
0000005d: PUSH2 0x02f7
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x25b31a97
00000067: EQ
00000068: PUSH2 0x0330
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x2b85ed9c
00000072: EQ
00000073: PUSH2 0x035e
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0x2e1a7d4d
0000007d: EQ
0000007e: PUSH2 0x0367
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0x2f848a4b
00000088: EQ
00000089: PUSH2 0x038d
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0x313ce567
00000093: EQ
00000094: PUSH2 0x0396
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0x3eda58f8
0000009e: EQ
0000009f: PUSH2 0x03a2
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0x3f2965f0
000000a9: EQ
000000aa: PUSH2 0x03b3
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0x4b6753bc
000000b4: EQ
000000b5: PUSH2 0x03d9
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0x4e10c3ee
000000bf: EQ
000000c0: PUSH2 0x03e2
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0x523a50d0
000000ca: EQ
000000cb: PUSH2 0x03f5
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0x544736e6
000000d5: EQ
000000d6: PUSH2 0x03ff
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0x6aac9505
000000e0: EQ
000000e1: PUSH2 0x040b
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0x707dffe0
000000eb: EQ
000000ec: PUSH2 0x0430
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0x70a08231
000000f6: EQ
000000f7: PUSH2 0x0451
000000fa: JUMPI
000000fb: DUP1
000000fc: PUSH4 0x74524984
00000101: EQ
00000102: PUSH2 0x0476
00000105: JUMPI
00000106: DUP1
00000107: PUSH4 0x781cc7c2
0000010c: EQ
0000010d: PUSH2 0x04a2
00000110: JUMPI
00000111: DUP1
00000112: PUSH4 0x8c0e2a31
00000117: EQ
00000118: PUSH2 0x04c8
0000011b: JUMPI
0000011c: DUP1
0000011d: PUSH4 0x8da5cb5b
00000122: EQ
00000123: PUSH2 0x04ee
00000126: JUMPI
00000127: DUP1
00000128: PUSH4 0x95d89b41
0000012d: EQ
0000012e: PUSH2 0x0500
00000131: JUMPI
00000132: DUP1
00000133: PUSH4 0x9ac735fc
00000138: EQ
00000139: PUSH2 0x055b
0000013c: JUMPI
0000013d: DUP1
0000013e: PUSH4 0x9dc29fac
00000143: EQ
00000144: PUSH2 0x056c
00000147: JUMPI
00000148: DUP1
00000149: PUSH4 0x9f6e5ac5
0000014e: EQ
0000014f: PUSH2 0x0595
00000152: JUMPI
00000153: DUP1
00000154: PUSH4 0xa9059cbb
00000159: EQ
0000015a: PUSH2 0x0653
0000015d: JUMPI
0000015e: DUP1
0000015f: PUSH4 0xb7fba4d3
00000164: EQ
00000165: PUSH2 0x0732
00000168: JUMPI
00000169: DUP1
0000016a: PUSH4 0xcc9ae3f6
0000016f: EQ
00000170: PUSH2 0x0758
00000173: JUMPI
00000174: DUP1
00000175: PUSH4 0xcd290258
0000017a: EQ
0000017b: PUSH2 0x076c
0000017e: JUMPI
0000017f: DUP1
00000180: PUSH4 0xdd62ed3e
00000185: EQ
00000186: PUSH2 0x0792
00000189: JUMPI
0000018a: DUP1
0000018b: PUSH4 0xf2fde38b
00000190: EQ
00000191: PUSH2 0x07c6
00000194: JUMPI
00000195: DUP1
00000196: PUSH4 0xff5fc56f
0000019b: EQ
0000019c: PUSH2 0x07e9
0000019f: JUMPI
000001a0: JUMPDEST
000001a1: PUSH2 0x07fb
000001a4: PUSH1 0x0d
000001a6: SLOAD
000001a7: PUSH1 0x00
000001a9: SWAP1
000001aa: TIMESTAMP
000001ab: LT
000001ac: ISZERO
000001ad: PUSH2 0x03fc
000001b0: JUMPI
000001b1: PUSH2 0x080d
000001b4: CALLER
000001b5: PUSH2 0x0337
000001b8: JUMP
000001b9: JUMPDEST
000001ba: PUSH1 0x40
000001bc: DUP1
000001bd: MLOAD
000001be: PUSH1 0x00
000001c0: DUP1
000001c1: SLOAD
000001c2: PUSH1 0x20
000001c4: PUSH1 0x02
000001c6: PUSH1 0x01
000001c8: DUP4
000001c9: AND
000001ca: ISZERO
000001cb: PUSH2 0x0100
000001ce: MUL
000001cf: PUSH1 0x00
000001d1: NOT
000001d2: ADD
000001d3: SWAP1
000001d4: SWAP3
000001d5: AND
000001d6: SWAP2
000001d7: SWAP1
000001d8: SWAP2
000001d9: DIV
000001da: PUSH1 0x1f
000001dc: DUP2
000001dd: ADD
000001de: DUP3
000001df: SWAP1
000001e0: DIV
000001e1: DUP3
000001e2: MUL
000001e3: DUP5
000001e4: ADD
000001e5: DUP3
000001e6: ADD
000001e7: SWAP1
000001e8: SWAP5
000001e9: MSTORE
000001ea: DUP4
000001eb: DUP4
000001ec: MSTORE
000001ed: PUSH2 0x0814
000001f0: SWAP4
000001f1: SWAP1
000001f2: DUP4
000001f3: ADD
000001f4: DUP3
000001f5: DUP3
000001f6: DUP1
000001f7: ISZERO
000001f8: PUSH2 0x0912
000001fb: JUMPI
000001fc: DUP1
000001fd: PUSH1 0x1f
000001ff: LT
00000200: PUSH2 0x08e7
00000203: JUMPI
00000204: PUSH2 0x0100
00000207: DUP1
00000208: DUP4
00000209: SLOAD
0000020a: DIV
0000020b: MUL
0000020c: DUP4
0000020d: MSTORE
0000020e: SWAP2
0000020f: PUSH1 0x20
00000211: ADD
00000212: SWAP2
00000213: PUSH2 0x0912
00000216: JUMP
00000217: JUMPDEST
00000218: PUSH2 0x07fb
0000021b: PUSH1 0x04
0000021d: CALLDATALOAD
0000021e: PUSH1 0x24
00000220: CALLDATALOAD
00000221: PUSH1 0x01
00000223: PUSH1 0xa0
00000225: PUSH1 0x02
00000227: EXP
00000228: SUB
00000229: CALLER
0000022a: DUP2
0000022b: AND
0000022c: PUSH1 0x00
0000022e: DUP2
0000022f: DUP2
00000230: MSTORE
00000231: PUSH1 0x09
00000233: PUSH1 0x20
00000235: SWAP1
00000236: DUP2
00000237: MSTORE
00000238: PUSH1 0x40
0000023a: DUP1
0000023b: DUP4
0000023c: KECCAK256
0000023d: SWAP5
0000023e: DUP8
0000023f: AND
00000240: DUP1
00000241: DUP5
00000242: MSTORE
00000243: SWAP5
00000244: DUP3
00000245: MSTORE
00000246: DUP1
00000247: DUP4
00000248: KECCAK256
00000249: DUP7
0000024a: SWAP1
0000024b: SSTORE
0000024c: DUP1
0000024d: MLOAD
0000024e: DUP7
0000024f: DUP2
00000250: MSTORE
00000251: SWAP1
00000252: MLOAD
00000253: SWAP3
00000254: SWAP5
00000255: SWAP4
00000256: SWAP3
00000257: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00000278: SWAP3
00000279: SWAP2
0000027a: DUP2
0000027b: SWAP1
0000027c: SUB
0000027d: SWAP1
0000027e: SWAP2
0000027f: ADD
00000280: SWAP1
00000281: LOG3
00000282: POP
00000283: PUSH1 0x01
00000285: JUMPDEST
00000286: SWAP3
00000287: SWAP2
00000288: POP
00000289: POP
0000028a: JUMP
0000028b: JUMPDEST
0000028c: PUSH2 0x07fb
0000028f: PUSH1 0x0f
00000291: SLOAD
00000292: PUSH3 0x010000
00000296: SWAP1
00000297: DIV
00000298: PUSH1 0xff
0000029a: AND
0000029b: DUP2
0000029c: JUMP
0000029d: JUMPDEST
0000029e: PUSH2 0x07fb
000002a1: PUSH1 0x0f
000002a3: SLOAD
000002a4: PUSH2 0x0100
000002a7: SWAP1
000002a8: DIV
000002a9: PUSH1 0xff
000002ab: AND
000002ac: DUP2
000002ad: JUMP
000002ae: JUMPDEST
000002af: PUSH2 0x07fb
000002b2: PUSH1 0x03
000002b4: SLOAD
000002b5: DUP2
000002b6: JUMP
000002b7: JUMPDEST
000002b8: PUSH1 0x04
000002ba: CALLDATALOAD
000002bb: PUSH1 0x01
000002bd: PUSH1 0xa0
000002bf: PUSH1 0x02
000002c1: EXP
000002c2: SUB
000002c3: SWAP1
000002c4: DUP2
000002c5: AND
000002c6: PUSH1 0x00
000002c8: SWAP1
000002c9: DUP2
000002ca: MSTORE
000002cb: PUSH1 0x10
000002cd: PUSH1 0x20
000002cf: SWAP1
000002d0: DUP2
000002d1: MSTORE
000002d2: PUSH1 0x40
000002d4: SWAP2
000002d5: DUP3
000002d6: SWAP1
000002d7: KECCAK256
000002d8: SLOAD
000002d9: DUP3
000002da: MLOAD
000002db: SWAP4
000002dc: DUP2
000002dd: AND
000002de: DUP5
000002df: MSTORE
000002e0: PUSH1 0xa0
000002e2: PUSH1 0x02
000002e4: EXP
000002e5: SWAP1
000002e6: DIV
000002e7: PUSH1 0xff
000002e9: AND
000002ea: SWAP1
000002eb: DUP4
000002ec: ADD
000002ed: MSTORE
000002ee: DUP1
000002ef: MLOAD
000002f0: SWAP2
000002f1: DUP3
000002f2: SWAP1
000002f3: SUB
000002f4: ADD
000002f5: SWAP1
000002f6: RETURN
000002f7: JUMPDEST
000002f8: PUSH2 0x07fb
000002fb: PUSH1 0x04
000002fd: CALLDATALOAD
000002fe: PUSH1 0x24
00000300: CALLDATALOAD
00000301: PUSH1 0x44
00000303: CALLDATALOAD
00000304: PUSH1 0x0f
00000306: SLOAD
00000307: PUSH1 0x00
00000309: SWAP1
0000030a: PUSH3 0x010000
0000030e: SWAP1
0000030f: DIV
00000310: PUSH1 0xff
00000312: AND
00000313: DUP1
00000314: ISZERO
00000315: PUSH2 0x031f
00000318: JUMPI
00000319: POP
0000031a: PUSH1 0x0d
0000031c: SLOAD
0000031d: TIMESTAMP
0000031e: GT
0000031f: JUMPDEST
00000320: DUP1
00000321: ISZERO
00000322: PUSH2 0x0de3
00000325: JUMPI
00000326: POP
00000327: PUSH2 0x0de3
0000032a: DUP4
0000032b: DUP4
0000032c: PUSH2 0x0686
0000032f: JUMP
00000330: JUMPDEST
00000331: PUSH2 0x07fb
00000334: PUSH1 0x04
00000336: CALLDATALOAD
00000337: JUMPDEST
00000338: PUSH1 0x00
0000033a: PUSH1 0x00
0000033c: PUSH1 0x00
0000033e: PUSH1 0x0d
00000340: PUSH1 0x00
00000342: POP
00000343: SLOAD
00000344: TIMESTAMP
00000345: LT
00000346: DUP1
00000347: ISZERO
00000348: PUSH2 0x0351
0000034b: JUMPI
0000034c: POP
0000034d: PUSH1 0x00
0000034f: CALLVALUE
00000350: GT
00000351: JUMPDEST
00000352: ISZERO
00000353: PUSH2 0x042b
00000356: JUMPI
00000357: PUSH2 0x0a67
0000035a: PUSH2 0x0434
0000035d: JUMP
0000035e: JUMPDEST
0000035f: PUSH2 0x07fb
00000362: PUSH1 0x15
00000364: SLOAD
00000365: DUP2
00000366: JUMP
00000367: JUMPDEST
00000368: PUSH2 0x07fb
0000036b: PUSH1 0x04
0000036d: CALLDATALOAD
0000036e: PUSH1 0x0b
00000370: SLOAD
00000371: PUSH1 0x00
00000373: SWAP1
00000374: PUSH1 0x01
00000376: PUSH1 0xa0
00000378: PUSH1 0x02
0000037a: EXP
0000037b: SUB
0000037c: SWAP1
0000037d: DUP2
0000037e: AND
0000037f: CALLER
00000380: SWAP2
00000381: SWAP1
00000382: SWAP2
00000383: AND
00000384: EQ
00000385: PUSH2 0x0a38
00000388: JUMPI
00000389: PUSH2 0x0002
0000038c: JUMP
0000038d: JUMPDEST
0000038e: PUSH2 0x07fb
00000391: PUSH1 0x0e
00000393: SLOAD
00000394: DUP2
00000395: JUMP
00000396: JUMPDEST
00000397: PUSH2 0x0882
0000039a: PUSH1 0x01
0000039c: SLOAD
0000039d: PUSH1 0xff
0000039f: AND
000003a0: DUP2
000003a1: JUMP
000003a2: JUMPDEST
000003a3: PUSH2 0x07fb
000003a6: PUSH1 0x04
000003a8: CALLDATALOAD
000003a9: PUSH1 0x00
000003ab: PUSH2 0x0ca2
000003ae: DUP3
000003af: PUSH2 0x0337
000003b2: JUMP
000003b3: JUMPDEST
000003b4: PUSH2 0x07fb
000003b7: PUSH1 0x04
000003b9: CALLDATALOAD
000003ba: PUSH1 0x0b
000003bc: SLOAD
000003bd: PUSH1 0x00
000003bf: SWAP1
000003c0: PUSH1 0x01
000003c2: PUSH1 0xa0
000003c4: PUSH1 0x02
000003c6: EXP
000003c7: SUB
000003c8: SWAP1
000003c9: DUP2
000003ca: AND
000003cb: CALLER
000003cc: SWAP2
000003cd: SWAP1
000003ce: SWAP2
000003cf: AND
000003d0: EQ
000003d1: PUSH2 0x0a04
000003d4: JUMPI
000003d5: PUSH2 0x0002
000003d8: JUMP
000003d9: JUMPDEST
000003da: PUSH2 0x07fb
000003dd: PUSH1 0x0d
000003df: SLOAD
000003e0: DUP2
000003e1: JUMP
000003e2: JUMPDEST
000003e3: PUSH2 0x07fb
000003e6: PUSH1 0x04
000003e8: CALLDATALOAD
000003e9: PUSH1 0x24
000003eb: CALLDATALOAD
000003ec: PUSH1 0x00
000003ee: PUSH2 0x0dc7
000003f1: PUSH2 0x075c
000003f4: JUMP
000003f5: JUMPDEST
000003f6: PUSH2 0x07fb
000003f9: PUSH1 0x03
000003fb: SLOAD
000003fc: JUMPDEST
000003fd: SWAP1
000003fe: JUMP
000003ff: JUMPDEST
00000400: PUSH2 0x07fb
00000403: PUSH1 0x0f
00000405: SLOAD
00000406: PUSH1 0xff
00000408: AND
00000409: DUP2
0000040a: JUMP
0000040b: JUMPDEST
0000040c: PUSH2 0x07fb
0000040f: PUSH1 0x04
00000411: CALLDATALOAD
00000412: PUSH1 0x0d
00000414: SLOAD
00000415: PUSH1 0x00
00000417: SWAP1
00000418: TIMESTAMP
00000419: LT
0000041a: DUP1
0000041b: ISZERO
0000041c: PUSH2 0x0425
0000041f: JUMPI
00000420: POP
00000421: PUSH1 0x00
00000423: CALLVALUE
00000424: GT
00000425: JUMPDEST
00000426: ISZERO
00000427: PUSH2 0x042b
0000042a: JUMPI
0000042b: JUMPDEST
0000042c: PUSH2 0x0002
0000042f: JUMP
00000430: JUMPDEST
00000431: PUSH2 0x07fb
00000434: JUMPDEST
00000435: PUSH1 0x00
00000437: TIMESTAMP
00000438: PUSH3 0x127500
0000043c: PUSH1 0x0d
0000043e: PUSH1 0x00
00000440: POP
00000441: SLOAD
00000442: SUB
00000443: GT
00000444: ISZERO
00000445: PUSH2 0x0d7e
00000448: JUMPI
00000449: POP
0000044a: PUSH2 0x2710
0000044d: PUSH2 0x03fc
00000450: JUMP
00000451: JUMPDEST
00000452: PUSH2 0x07fb
00000455: PUSH1 0x04
00000457: CALLDATALOAD
00000458: PUSH1 0x01
0000045a: PUSH1 0xa0
0000045c: PUSH1 0x02
0000045e: EXP
0000045f: SUB
00000460: DUP2
00000461: AND
00000462: PUSH1 0x00
00000464: SWAP1
00000465: DUP2
00000466: MSTORE
00000467: PUSH1 0x07
00000469: PUSH1 0x20
0000046b: MSTORE
0000046c: PUSH1 0x40
0000046e: SWAP1
0000046f: KECCAK256
00000470: SLOAD
00000471: JUMPDEST
00000472: SWAP2
00000473: SWAP1
00000474: POP
00000475: JUMP
00000476: JUMPDEST
00000477: PUSH2 0x07fb
0000047a: PUSH1 0x04
0000047c: CALLDATALOAD
0000047d: PUSH1 0x24
0000047f: CALLDATALOAD
00000480: PUSH1 0x44
00000482: CALLDATALOAD
00000483: PUSH1 0x05
00000485: SLOAD
00000486: PUSH1 0x00
00000488: SWAP1
00000489: PUSH1 0x01
0000048b: PUSH1 0xa0
0000048d: PUSH1 0x02
0000048f: EXP
00000490: SUB
00000491: SWAP1
00000492: DUP2
00000493: AND
00000494: CALLER
00000495: SWAP2
00000496: SWAP1
00000497: SWAP2
00000498: AND
00000499: EQ
0000049a: PUSH2 0x0970
0000049d: JUMPI
0000049e: PUSH2 0x0002
000004a1: JUMP
000004a2: JUMPDEST
000004a3: PUSH2 0x07fb
000004a6: PUSH1 0x04
000004a8: CALLDATALOAD
000004a9: PUSH1 0x0b
000004ab: SLOAD
000004ac: PUSH1 0x00
000004ae: SWAP1
000004af: PUSH1 0x01
000004b1: PUSH1 0xa0
000004b3: PUSH1 0x02
000004b5: EXP
000004b6: SUB
000004b7: SWAP1
000004b8: DUP2
000004b9: AND
000004ba: CALLER
000004bb: SWAP2
000004bc: SWAP1
000004bd: SWAP2
000004be: AND
000004bf: EQ
000004c0: PUSH2 0x09d8
000004c3: JUMPI
000004c4: PUSH2 0x0002
000004c7: JUMP
000004c8: JUMPDEST
000004c9: PUSH2 0x07fb
000004cc: PUSH1 0x04
000004ce: CALLDATALOAD
000004cf: PUSH1 0x0b
000004d1: SLOAD
000004d2: PUSH1 0x00
000004d4: SWAP1
000004d5: DUP2
000004d6: SWAP1
000004d7: ORIGIN
000004d8: PUSH1 0x01
000004da: PUSH1 0xa0
000004dc: PUSH1 0x02
000004de: EXP
000004df: SUB
000004e0: SWAP1
000004e1: DUP2
000004e2: AND
000004e3: SWAP2
000004e4: AND
000004e5: EQ
000004e6: PUSH2 0x0bfe
000004e9: JUMPI
000004ea: PUSH2 0x0002
000004ed: JUMP
000004ee: JUMPDEST
000004ef: PUSH2 0x0899
000004f2: PUSH1 0x0b
000004f4: SLOAD
000004f5: PUSH1 0x01
000004f7: PUSH1 0xa0
000004f9: PUSH1 0x02
000004fb: EXP
000004fc: SUB
000004fd: AND
000004fe: DUP2
000004ff: JUMP
00000500: JUMPDEST
00000501: PUSH1 0x40
00000503: DUP1
00000504: MLOAD
00000505: PUSH1 0x02
00000507: DUP1
00000508: SLOAD
00000509: PUSH1 0x20
0000050b: PUSH1 0x01
0000050d: DUP3
0000050e: AND
0000050f: ISZERO
00000510: PUSH2 0x0100
00000513: MUL
00000514: PUSH1 0x00
00000516: NOT
00000517: ADD
00000518: SWAP1
00000519: SWAP2
0000051a: AND
0000051b: DUP3
0000051c: SWAP1
0000051d: DIV
0000051e: PUSH1 0x1f
00000520: DUP2
00000521: ADD
00000522: DUP3
00000523: SWAP1
00000524: DIV
00000525: DUP3
00000526: MUL
00000527: DUP5
00000528: ADD
00000529: DUP3
0000052a: ADD
0000052b: SWAP1
0000052c: SWAP5
0000052d: MSTORE
0000052e: DUP4
0000052f: DUP4
00000530: MSTORE
00000531: PUSH2 0x0814
00000534: SWAP4
00000535: SWAP1
00000536: DUP4
00000537: ADD
00000538: DUP3
00000539: DUP3
0000053a: DUP1
0000053b: ISZERO
0000053c: PUSH2 0x0912
0000053f: JUMPI
00000540: DUP1
00000541: PUSH1 0x1f
00000543: LT
00000544: PUSH2 0x08e7
00000547: JUMPI
00000548: PUSH2 0x0100
0000054b: DUP1
0000054c: DUP4
0000054d: SLOAD
0000054e: DIV
0000054f: MUL
00000550: DUP4
00000551: MSTORE
00000552: SWAP2
00000553: PUSH1 0x20
00000555: ADD
00000556: SWAP2
00000557: PUSH2 0x0912
0000055a: JUMP
0000055b: JUMPDEST
0000055c: PUSH2 0x08b6
0000055f: PUSH1 0x00
00000561: CALLVALUE
00000562: GT
00000563: ISZERO
00000564: PUSH2 0x0ca9
00000567: JUMPI
00000568: PUSH2 0x0002
0000056b: JUMP
0000056c: JUMPDEST
0000056d: PUSH2 0x07fb
00000570: PUSH1 0x04
00000572: CALLDATALOAD
00000573: PUSH1 0x24
00000575: CALLDATALOAD
00000576: PUSH1 0x06
00000578: SLOAD
00000579: PUSH1 0x00
0000057b: SWAP1
0000057c: PUSH1 0x01
0000057e: PUSH1 0xa0
00000580: PUSH1 0x02
00000582: EXP
00000583: SUB
00000584: SWAP1
00000585: DUP2
00000586: AND
00000587: CALLER
00000588: SWAP2
00000589: SWAP1
0000058a: SWAP2
0000058b: AND
0000058c: EQ
0000058d: PUSH2 0x0943
00000590: JUMPI
00000591: PUSH2 0x0002
00000594: JUMP
00000595: JUMPDEST
00000596: PUSH2 0x08b8
00000599: PUSH1 0x04
0000059b: CALLDATALOAD
0000059c: PUSH1 0x14
0000059e: DUP1
0000059f: SLOAD
000005a0: DUP3
000005a1: SWAP1
000005a2: DUP2
000005a3: LT
000005a4: ISZERO
000005a5: PUSH2 0x0002
000005a8: JUMPI
000005a9: POP
000005aa: PUSH1 0x00
000005ac: MSTORE
000005ad: PUSH1 0x04
000005af: MUL
000005b0: PUSH32 0xce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec
000005d1: DUP2
000005d2: ADD
000005d3: SLOAD
000005d4: PUSH32 0xce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ed
000005f5: DUP3
000005f6: ADD
000005f7: SLOAD
000005f8: PUSH32 0xce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ee
00000619: DUP4
0000061a: ADD
0000061b: SLOAD
0000061c: PUSH32 0xce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ef
0000063d: SWAP4
0000063e: SWAP1
0000063f: SWAP4
00000640: ADD
00000641: SLOAD
00000642: SWAP2
00000643: SWAP3
00000644: PUSH1 0x01
00000646: PUSH1 0xa0
00000648: PUSH1 0x02
0000064a: EXP
0000064b: SUB
0000064c: SWAP2
0000064d: SWAP1
0000064e: SWAP2
0000064f: AND
00000650: SWAP2
00000651: DUP5
00000652: JUMP
00000653: JUMPDEST
00000654: PUSH2 0x07fb
00000657: PUSH1 0x04
00000659: CALLDATALOAD
0000065a: PUSH1 0x24
0000065c: CALLDATALOAD
0000065d: JUMPDEST
0000065e: PUSH1 0x0f
00000660: SLOAD
00000661: PUSH1 0x00
00000663: SWAP1
00000664: PUSH3 0x010000
00000668: SWAP1
00000669: DIV
0000066a: PUSH1 0xff
0000066c: AND
0000066d: DUP1
0000066e: ISZERO
0000066f: PUSH2 0x0679
00000672: JUMPI
00000673: POP
00000674: PUSH1 0x0d
00000676: SLOAD
00000677: TIMESTAMP
00000678: GT
00000679: JUMPDEST
0000067a: DUP1
0000067b: ISZERO
0000067c: PUSH2 0x0dba
0000067f: JUMPI
00000680: POP
00000681: PUSH2 0x0dba
00000684: DUP4
00000685: DUP4
00000686: JUMPDEST
00000687: PUSH1 0x01
00000689: PUSH1 0xa0
0000068b: PUSH1 0x02
0000068d: EXP
0000068e: SUB
0000068f: CALLER
00000690: AND
00000691: PUSH1 0x00
00000693: SWAP1
00000694: DUP2
00000695: MSTORE
00000696: PUSH1 0x07
00000698: PUSH1 0x20
0000069a: MSTORE
0000069b: PUSH1 0x40
0000069d: DUP2
0000069e: KECCAK256
0000069f: SLOAD
000006a0: DUP3
000006a1: SWAP1
000006a2: LT
000006a3: DUP1
000006a4: ISZERO
000006a5: SWAP1
000006a6: PUSH2 0x06af
000006a9: JUMPI
000006aa: POP
000006ab: PUSH1 0x00
000006ad: DUP3
000006ae: GT
000006af: JUMPDEST
000006b0: DUP1
000006b1: ISZERO
000006b2: PUSH2 0x06be
000006b5: JUMPI
000006b6: POP
000006b7: PUSH1 0x04
000006b9: SLOAD
000006ba: PUSH1 0xff
000006bc: AND
000006bd: ISZERO
000006be: JUMPDEST
000006bf: ISZERO
000006c0: PUSH2 0x0e04
000006c3: JUMPI
000006c4: PUSH1 0x01
000006c6: PUSH1 0xa0
000006c8: PUSH1 0x02
000006ca: EXP
000006cb: SUB
000006cc: CALLER
000006cd: DUP2
000006ce: AND
000006cf: PUSH1 0x00
000006d1: DUP2
000006d2: DUP2
000006d3: MSTORE
000006d4: PUSH1 0x07
000006d6: PUSH1 0x20
000006d8: SWAP1
000006d9: DUP2
000006da: MSTORE
000006db: PUSH1 0x40
000006dd: DUP1
000006de: DUP4
000006df: KECCAK256
000006e0: DUP1
000006e1: SLOAD
000006e2: DUP9
000006e3: SWAP1
000006e4: SUB
000006e5: SWAP1
000006e6: SSTORE
000006e7: SWAP4
000006e8: DUP8
000006e9: AND
000006ea: DUP1
000006eb: DUP4
000006ec: MSTORE
000006ed: SWAP2
000006ee: DUP5
000006ef: SWAP1
000006f0: KECCAK256
000006f1: DUP1
000006f2: SLOAD
000006f3: DUP8
000006f4: ADD
000006f5: SWAP1
000006f6: SSTORE
000006f7: DUP4
000006f8: MLOAD
000006f9: DUP7
000006fa: DUP2
000006fb: MSTORE
000006fc: SWAP4
000006fd: MLOAD
000006fe: SWAP2
000006ff: SWAP4
00000700: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00000721: SWAP3
00000722: SWAP1
00000723: DUP2
00000724: SWAP1
00000725: SUB
00000726: SWAP1
00000727: SWAP2
00000728: ADD
00000729: SWAP1
0000072a: LOG3
0000072b: POP
0000072c: PUSH1 0x01
0000072e: PUSH2 0x0285
00000731: JUMP
00000732: JUMPDEST
00000733: PUSH2 0x0899
00000736: PUSH1 0x04
00000738: CALLDATALOAD
00000739: PUSH1 0x01
0000073b: PUSH1 0xa0
0000073d: PUSH1 0x02
0000073f: EXP
00000740: SUB
00000741: DUP2
00000742: DUP2
00000743: AND
00000744: PUSH1 0x00
00000746: SWAP1
00000747: DUP2
00000748: MSTORE
00000749: PUSH1 0x11
0000074b: PUSH1 0x20
0000074d: MSTORE
0000074e: PUSH1 0x40
00000750: SWAP1
00000751: KECCAK256
00000752: SLOAD
00000753: AND
00000754: PUSH2 0x0471
00000757: JUMP
00000758: JUMPDEST
00000759: PUSH2 0x07fb
0000075c: JUMPDEST
0000075d: PUSH1 0x00
0000075f: PUSH1 0x00
00000761: CALLVALUE
00000762: GT
00000763: ISZERO
00000764: PUSH2 0x0df0
00000767: JUMPI
00000768: PUSH2 0x0002
0000076b: JUMP
0000076c: JUMPDEST
0000076d: PUSH2 0x07fb
00000770: PUSH1 0x04
00000772: CALLDATALOAD
00000773: PUSH1 0x0b
00000775: SLOAD
00000776: PUSH1 0x00
00000778: SWAP1
00000779: PUSH1 0x01
0000077b: PUSH1 0xa0
0000077d: PUSH1 0x02
0000077f: EXP
00000780: SUB
00000781: SWAP1
00000782: DUP2
00000783: AND
00000784: CALLER
00000785: SWAP2
00000786: SWAP1
00000787: SWAP2
00000788: AND
00000789: EQ
0000078a: PUSH2 0x0a1e
0000078d: JUMPI
0000078e: PUSH2 0x0002
00000791: JUMP
00000792: JUMPDEST
00000793: PUSH2 0x07fb
00000796: PUSH1 0x04
00000798: CALLDATALOAD
00000799: PUSH1 0x24
0000079b: CALLDATALOAD
0000079c: PUSH1 0x01
0000079e: PUSH1 0xa0
000007a0: PUSH1 0x02
000007a2: EXP
000007a3: SUB
000007a4: DUP3
000007a5: DUP2
000007a6: AND
000007a7: PUSH1 0x00
000007a9: SWAP1
000007aa: DUP2
000007ab: MSTORE
000007ac: PUSH1 0x09
000007ae: PUSH1 0x20
000007b0: SWAP1
000007b1: DUP2
000007b2: MSTORE
000007b3: PUSH1 0x40
000007b5: DUP1
000007b6: DUP4
000007b7: KECCAK256
000007b8: SWAP4
000007b9: DUP6
000007ba: AND
000007bb: DUP4
000007bc: MSTORE
000007bd: SWAP3
000007be: SWAP1
000007bf: MSTORE
000007c0: KECCAK256
000007c1: SLOAD
000007c2: PUSH2 0x0285
000007c5: JUMP
000007c6: JUMPDEST
000007c7: PUSH2 0x08b6
000007ca: PUSH1 0x04
000007cc: CALLDATALOAD
000007cd: PUSH1 0x0b
000007cf: SLOAD
000007d0: PUSH1 0x01
000007d2: PUSH1 0xa0
000007d4: PUSH1 0x02
000007d6: EXP
000007d7: SUB
000007d8: SWAP1
000007d9: DUP2
000007da: AND
000007db: CALLER
000007dc: SWAP2
000007dd: SWAP1
000007de: SWAP2
000007df: AND
000007e0: EQ
000007e1: PUSH2 0x091a
000007e4: JUMPI
000007e5: PUSH2 0x0002
000007e8: JUMP
000007e9: JUMPDEST
000007ea: PUSH2 0x0899
000007ed: PUSH1 0x0c
000007ef: SLOAD
000007f0: PUSH1 0x01
000007f2: PUSH1 0xa0
000007f4: PUSH1 0x02
000007f6: EXP
000007f7: SUB
000007f8: AND
000007f9: DUP2
000007fa: JUMP
000007fb: JUMPDEST
000007fc: PUSH1 0x40
000007fe: DUP1
000007ff: MLOAD
00000800: SWAP2
00000801: DUP3
00000802: MSTORE
00000803: MLOAD
00000804: SWAP1
00000805: DUP2
00000806: SWAP1
00000807: SUB
00000808: PUSH1 0x20
0000080a: ADD
0000080b: SWAP1
0000080c: RETURN
0000080d: JUMPDEST
0000080e: SWAP1
0000080f: POP
00000810: PUSH2 0x03fc
00000813: JUMP
00000814: JUMPDEST
00000815: PUSH1 0x40
00000817: MLOAD
00000818: DUP1
00000819: DUP1
0000081a: PUSH1 0x20
0000081c: ADD
0000081d: DUP3
0000081e: DUP2
0000081f: SUB
00000820: DUP3
00000821: MSTORE
00000822: DUP4
00000823: DUP2
00000824: DUP2
00000825: MLOAD
00000826: DUP2
00000827: MSTORE
00000828: PUSH1 0x20
0000082a: ADD
0000082b: SWAP2
0000082c: POP
0000082d: DUP1
0000082e: MLOAD
0000082f: SWAP1
00000830: PUSH1 0x20
00000832: ADD
00000833: SWAP1
00000834: DUP1
00000835: DUP4
00000836: DUP4
00000837: DUP3
00000838: SWAP1
00000839: PUSH1 0x00
0000083b: PUSH1 0x04
0000083d: PUSH1 0x20
0000083f: DUP5
00000840: PUSH1 0x1f
00000842: ADD
00000843: DIV
00000844: PUSH1 0x0f
00000846: MUL
00000847: PUSH1 0x03
00000849: ADD
0000084a: CALL
0000084b: POP
0000084c: SWAP1
0000084d: POP
0000084e: SWAP1
0000084f: DUP2
00000850: ADD
00000851: SWAP1
00000852: PUSH1 0x1f
00000854: AND
00000855: DUP1
00000856: ISZERO
00000857: PUSH2 0x0874
0000085a: JUMPI
0000085b: DUP1
0000085c: DUP3
0000085d: SUB
0000085e: DUP1
0000085f: MLOAD
00000860: PUSH1 0x01
00000862: DUP4
00000863: PUSH1 0x20
00000865: SUB
00000866: PUSH2 0x0100
00000869: EXP
0000086a: SUB
0000086b: NOT
0000086c: AND
0000086d: DUP2
0000086e: MSTORE
0000086f: PUSH1 0x20
00000871: ADD
00000872: SWAP2
00000873: POP
00000874: JUMPDEST
00000875: POP
00000876: SWAP3
00000877: POP
00000878: POP
00000879: POP
0000087a: PUSH1 0x40
0000087c: MLOAD
0000087d: DUP1
0000087e: SWAP2
0000087f: SUB
00000880: SWAP1
00000881: RETURN
00000882: JUMPDEST
00000883: PUSH1 0x40
00000885: DUP1
00000886: MLOAD
00000887: PUSH1 0xff
00000889: SWAP3
0000088a: SWAP1
0000088b: SWAP3
0000088c: AND
0000088d: DUP3
0000088e: MSTORE
0000088f: MLOAD
00000890: SWAP1
00000891: DUP2
00000892: SWAP1
00000893: SUB
00000894: PUSH1 0x20
00000896: ADD
00000897: SWAP1
00000898: RETURN
00000899: JUMPDEST
0000089a: PUSH1 0x40
0000089c: DUP1
0000089d: MLOAD
0000089e: PUSH1 0x01
000008a0: PUSH1 0xa0
000008a2: PUSH1 0x02
000008a4: EXP
000008a5: SUB
000008a6: SWAP3
000008a7: SWAP1
000008a8: SWAP3
000008a9: AND
000008aa: DUP3
000008ab: MSTORE
000008ac: MLOAD
000008ad: SWAP1
000008ae: DUP2
000008af: SWAP1
000008b0: SUB
000008b1: PUSH1 0x20
000008b3: ADD
000008b4: SWAP1
000008b5: RETURN
000008b6: JUMPDEST
000008b7: STOP
000008b8: JUMPDEST
000008b9: PUSH1 0x40
000008bb: DUP1
000008bc: MLOAD
000008bd: SWAP5
000008be: DUP6
000008bf: MSTORE
000008c0: PUSH1 0x01
000008c2: PUSH1 0xa0
000008c4: PUSH1 0x02
000008c6: EXP
000008c7: SUB
000008c8: SWAP4
000008c9: SWAP1
000008ca: SWAP4
000008cb: AND
000008cc: PUSH1 0x20
000008ce: DUP6
000008cf: ADD
000008d0: MSTORE
000008d1: DUP4
000008d2: DUP4
000008d3: ADD
000008d4: SWAP2
000008d5: SWAP1
000008d6: SWAP2
000008d7: MSTORE
000008d8: PUSH1 0x60
000008da: DUP4
000008db: ADD
000008dc: MSTORE
000008dd: MLOAD
000008de: SWAP1
000008df: DUP2
000008e0: SWAP1
000008e1: SUB
000008e2: PUSH1 0x80
000008e4: ADD
000008e5: SWAP1
000008e6: RETURN
000008e7: JUMPDEST
000008e8: DUP3
000008e9: ADD
000008ea: SWAP2
000008eb: SWAP1
000008ec: PUSH1 0x00
000008ee: MSTORE
000008ef: PUSH1 0x20
000008f1: PUSH1 0x00
000008f3: KECCAK256
000008f4: SWAP1
000008f5: JUMPDEST
000008f6: DUP2
000008f7: SLOAD
000008f8: DUP2
000008f9: MSTORE
000008fa: SWAP1
000008fb: PUSH1 0x01
000008fd: ADD
000008fe: SWAP1
000008ff: PUSH1 0x20
00000901: ADD
00000902: DUP1
00000903: DUP4
00000904: GT
00000905: PUSH2 0x08f5
00000908: JUMPI
00000909: DUP3
0000090a: SWAP1
0000090b: SUB
0000090c: PUSH1 0x1f
0000090e: AND
0000090f: DUP3
00000910: ADD
00000911: SWAP2
00000912: JUMPDEST
00000913: POP
00000914: POP
00000915: POP
00000916: POP
00000917: POP
00000918: DUP2
00000919: JUMP
0000091a: JUMPDEST
0000091b: PUSH1 0x04
0000091d: DUP1
0000091e: SLOAD
0000091f: PUSH2 0x0100
00000922: DUP4
00000923: MUL
00000924: PUSH21 0xffffffffffffffffffffffffffffffffffffffff00
0000093a: NOT
0000093b: SWAP1
0000093c: SWAP2
0000093d: AND
0000093e: OR
0000093f: SWAP1
00000940: SSTORE
00000941: POP
00000942: JUMP
00000943: JUMPDEST
00000944: PUSH1 0x01
00000946: PUSH1 0xa0
00000948: PUSH1 0x02
0000094a: EXP
0000094b: SUB
0000094c: DUP4
0000094d: AND
0000094e: PUSH1 0x00
00000950: SWAP1
00000951: DUP2
00000952: MSTORE
00000953: PUSH1 0x07
00000955: PUSH1 0x20
00000957: MSTORE
00000958: PUSH1 0x40
0000095a: SWAP1
0000095b: KECCAK256
0000095c: DUP1
0000095d: SLOAD
0000095e: DUP4
0000095f: SWAP1
00000960: SUB
00000961: SWAP1
00000962: SSTORE
00000963: PUSH1 0x03
00000965: DUP1
00000966: SLOAD
00000967: DUP4
00000968: SWAP1
00000969: SUB
0000096a: SWAP1
0000096b: SSTORE
0000096c: PUSH2 0x0285
0000096f: JUMP
00000970: JUMPDEST
00000971: PUSH1 0x03
00000973: DUP1
00000974: SLOAD
00000975: DUP4
00000976: ADD
00000977: SWAP1
00000978: SSTORE
00000979: PUSH1 0x01
0000097b: PUSH1 0xa0
0000097d: PUSH1 0x02
0000097f: EXP
00000980: SUB
00000981: DUP5
00000982: AND
00000983: PUSH1 0x00
00000985: DUP2
00000986: DUP2
00000987: MSTORE
00000988: PUSH1 0x07
0000098a: PUSH1 0x20
0000098c: SWAP1
0000098d: DUP2
0000098e: MSTORE
0000098f: PUSH1 0x40
00000991: SWAP2
00000992: DUP3
00000993: SWAP1
00000994: KECCAK256
00000995: DUP1
00000996: SLOAD
00000997: DUP7
00000998: ADD
00000999: SWAP1
0000099a: SSTORE
0000099b: DUP2
0000099c: MLOAD
0000099d: DUP6
0000099e: DUP2
0000099f: MSTORE
000009a0: SWAP2
000009a1: MLOAD
000009a2: DUP7
000009a3: SWAP4
000009a4: SWAP3
000009a5: PUSH32 0xf236398c3a37ae472c5312f84c058f95ae8691309edcfb2d7ed83d8a46aa2f12
000009c6: SWAP3
000009c7: SWAP1
000009c8: DUP3
000009c9: SWAP1
000009ca: SUB
000009cb: ADD
000009cc: SWAP1
000009cd: LOG3
000009ce: POP
000009cf: PUSH1 0x01
000009d1: JUMPDEST
000009d2: SWAP4
000009d3: SWAP3
000009d4: POP
000009d5: POP
000009d6: POP
000009d7: JUMP
000009d8: JUMPDEST
000009d9: POP
000009da: PUSH1 0x01
000009dc: PUSH1 0xa0
000009de: PUSH1 0x02
000009e0: EXP
000009e1: SUB
000009e2: DUP2
000009e3: AND
000009e4: PUSH1 0x00
000009e6: SWAP1
000009e7: DUP2
000009e8: MSTORE
000009e9: PUSH1 0x0a
000009eb: PUSH1 0x20
000009ed: MSTORE
000009ee: PUSH1 0x40
000009f0: SWAP1
000009f1: KECCAK256
000009f2: DUP1
000009f3: SLOAD
000009f4: PUSH1 0xff
000009f6: NOT
000009f7: AND
000009f8: PUSH1 0x01
000009fa: SWAP1
000009fb: DUP2
000009fc: OR
000009fd: SWAP1
000009fe: SWAP2
000009ff: SSTORE
00000a00: PUSH2 0x0471
00000a03: JUMP
00000a04: JUMPDEST
00000a05: POP
00000a06: PUSH1 0x05
00000a08: DUP1
00000a09: SLOAD
00000a0a: PUSH1 0x01
00000a0c: PUSH1 0xa0
00000a0e: PUSH1 0x02
00000a10: EXP
00000a11: SUB
00000a12: NOT
00000a13: AND
00000a14: DUP3
00000a15: OR
00000a16: SWAP1
00000a17: SSTORE
00000a18: PUSH1 0x01
00000a1a: PUSH2 0x0471
00000a1d: JUMP
00000a1e: JUMPDEST
00000a1f: POP
00000a20: PUSH1 0x06
00000a22: DUP1
00000a23: SLOAD
00000a24: PUSH1 0x01
00000a26: PUSH1 0xa0
00000a28: PUSH1 0x02
00000a2a: EXP
00000a2b: SUB
00000a2c: NOT
00000a2d: AND
00000a2e: DUP3
00000a2f: OR
00000a30: SWAP1
00000a31: SSTORE
00000a32: PUSH1 0x01
00000a34: PUSH2 0x0471
00000a37: JUMP
00000a38: JUMPDEST
00000a39: PUSH1 0x04
00000a3b: SLOAD
00000a3c: PUSH1 0x40
00000a3e: MLOAD
00000a3f: PUSH2 0x0100
00000a42: SWAP1
00000a43: SWAP2
00000a44: DIV
00000a45: PUSH1 0x01
00000a47: PUSH1 0xa0
00000a49: PUSH1 0x02
00000a4b: EXP
00000a4c: SUB
00000a4d: AND
00000a4e: SWAP1
00000a4f: PUSH1 0x00
00000a51: SWAP1
00000a52: DUP5
00000a53: SWAP1
00000a54: DUP3
00000a55: DUP2
00000a56: DUP2
00000a57: DUP2
00000a58: DUP6
00000a59: DUP9
00000a5a: DUP4
00000a5b: CALL
00000a5c: SWAP4
00000a5d: POP
00000a5e: POP
00000a5f: POP
00000a60: POP
00000a61: SWAP1
00000a62: POP
00000a63: PUSH2 0x0471
00000a66: JUMP
00000a67: JUMPDEST
00000a68: SWAP2
00000a69: POP
00000a6a: POP
00000a6b: PUSH2 0x03e8
00000a6e: CALLVALUE
00000a6f: DUP3
00000a70: MUL
00000a71: DIV
00000a72: PUSH2 0x0b29
00000a75: DUP5
00000a76: DUP4
00000a77: DUP4
00000a78: PUSH1 0x40
00000a7a: DUP1
00000a7b: MLOAD
00000a7c: PUSH1 0x80
00000a7e: DUP2
00000a7f: ADD
00000a80: DUP3
00000a81: MSTORE
00000a82: NUMBER
00000a83: DUP2
00000a84: MSTORE
00000a85: PUSH1 0x01
00000a87: PUSH1 0xa0
00000a89: PUSH1 0x02
00000a8b: EXP
00000a8c: SUB
00000a8d: CALLER
00000a8e: AND
00000a8f: PUSH1 0x20
00000a91: DUP3
00000a92: ADD
00000a93: MSTORE
00000a94: SWAP1
00000a95: DUP2
00000a96: ADD
00000a97: DUP4
00000a98: SWAP1
00000a99: MSTORE
00000a9a: PUSH1 0x60
00000a9c: DUP2
00000a9d: ADD
00000a9e: DUP3
00000a9f: SWAP1
00000aa0: MSTORE
00000aa1: PUSH1 0x15
00000aa3: SLOAD
00000aa4: PUSH1 0x14
00000aa6: DUP1
00000aa7: SLOAD
00000aa8: PUSH1 0x01
00000aaa: SWAP3
00000aab: SWAP1
00000aac: SWAP3
00000aad: ADD
00000aae: DUP1
00000aaf: DUP3
00000ab0: SSTORE
00000ab1: PUSH1 0x00
00000ab3: SWAP4
00000ab4: SWAP3
00000ab5: SWAP1
00000ab6: SWAP2
00000ab7: SWAP1
00000ab8: DUP3
00000ab9: SWAP1
00000aba: DUP1
00000abb: ISZERO
00000abc: DUP3
00000abd: SWAP1
00000abe: GT
00000abf: PUSH2 0x0e0c
00000ac2: JUMPI
00000ac3: DUP3
00000ac4: DUP7
00000ac5: MSTORE
00000ac6: PUSH2 0x0e0c
00000ac9: SWAP1
00000aca: PUSH1 0x04
00000acc: SWAP1
00000acd: DUP2
00000ace: MUL
00000acf: PUSH32 0xce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec
00000af0: SWAP1
00000af1: DUP2
00000af2: ADD
00000af3: SWAP2
00000af4: DUP5
00000af5: MUL
00000af6: ADD
00000af7: JUMPDEST
00000af8: DUP1
00000af9: DUP3
00000afa: GT
00000afb: ISZERO
00000afc: PUSH2 0x0edd
00000aff: JUMPI
00000b00: PUSH1 0x00
00000b02: DUP1
00000b03: DUP3
00000b04: SSTORE
00000b05: PUSH1 0x01
00000b07: DUP3
00000b08: ADD
00000b09: DUP1
00000b0a: SLOAD
00000b0b: PUSH1 0x01
00000b0d: PUSH1 0xa0
00000b0f: PUSH1 0x02
00000b11: EXP
00000b12: SUB
00000b13: NOT
00000b14: AND
00000b15: DUP2
00000b16: SSTORE
00000b17: PUSH1 0x02
00000b19: DUP4
00000b1a: ADD
00000b1b: DUP3
00000b1c: SWAP1
00000b1d: SSTORE
00000b1e: PUSH1 0x03
00000b20: SWAP3
00000b21: SWAP1
00000b22: SWAP3
00000b23: ADD
00000b24: SSTORE
00000b25: PUSH2 0x0af7
00000b28: JUMP
00000b29: JUMPDEST
00000b2a: POP
00000b2b: PUSH2 0x0bba
00000b2e: DUP5
00000b2f: DUP4
00000b30: DUP4
00000b31: PUSH1 0x13
00000b33: DUP1
00000b34: SLOAD
00000b35: DUP3
00000b36: ADD
00000b37: SWAP1
00000b38: SSTORE
00000b39: PUSH1 0x0c
00000b3b: SLOAD
00000b3c: PUSH1 0x40
00000b3e: DUP1
00000b3f: MLOAD
00000b40: PUSH32 0x7452498400000000000000000000000000000000000000000000000000000000
00000b61: DUP2
00000b62: MSTORE
00000b63: PUSH1 0x01
00000b65: PUSH1 0xa0
00000b67: PUSH1 0x02
00000b69: EXP
00000b6a: SUB
00000b6b: DUP7
00000b6c: DUP2
00000b6d: AND
00000b6e: PUSH1 0x04
00000b70: DUP4
00000b71: ADD
00000b72: MSTORE
00000b73: PUSH1 0x24
00000b75: DUP3
00000b76: ADD
00000b77: DUP7
00000b78: SWAP1
00000b79: MSTORE
00000b7a: PUSH1 0x44
00000b7c: DUP3
00000b7d: ADD
00000b7e: DUP6
00000b7f: SWAP1
00000b80: MSTORE
00000b81: SWAP2
00000b82: MLOAD
00000b83: PUSH1 0x00
00000b85: SWAP4
00000b86: SWAP1
00000b87: SWAP3
00000b88: AND
00000b89: SWAP2
00000b8a: PUSH4 0x74524984
00000b8f: SWAP2
00000b90: PUSH1 0x64
00000b92: DUP2
00000b93: DUP2
00000b94: ADD
00000b95: SWAP3
00000b96: PUSH1 0x20
00000b98: SWAP3
00000b99: SWAP1
00000b9a: SWAP2
00000b9b: SWAP1
00000b9c: DUP3
00000b9d: SWAP1
00000b9e: SUB
00000b9f: ADD
00000ba0: DUP2
00000ba1: DUP8
00000ba2: DUP8
00000ba3: PUSH2 0x61da
00000ba6: GAS
00000ba7: SUB
00000ba8: CALL
00000ba9: ISZERO
00000baa: PUSH2 0x0002
00000bad: JUMPI
00000bae: POP
00000baf: PUSH1 0x01
00000bb1: SWAP3
00000bb2: POP
00000bb3: PUSH2 0x09d1
00000bb6: SWAP2
00000bb7: POP
00000bb8: POP
00000bb9: JUMP
00000bba: JUMPDEST
00000bbb: POP
00000bbc: PUSH1 0x0e
00000bbe: SLOAD
00000bbf: PUSH1 0x13
00000bc1: SLOAD
00000bc2: LT
00000bc3: DUP1
00000bc4: ISZERO
00000bc5: SWAP1
00000bc6: PUSH2 0x0bd2
00000bc9: JUMPI
00000bca: POP
00000bcb: PUSH1 0x0f
00000bcd: SLOAD
00000bce: PUSH1 0xff
00000bd0: AND
00000bd1: ISZERO
00000bd2: JUMPDEST
00000bd3: ISZERO
00000bd4: PUSH2 0x0bf4
00000bd7: JUMPI
00000bd8: PUSH1 0x0f
00000bda: DUP1
00000bdb: SLOAD
00000bdc: PUSH1 0xff
00000bde: NOT
00000bdf: AND
00000be0: PUSH1 0x01
00000be2: OR
00000be3: PUSH2 0xff00
00000be6: NOT
00000be7: AND
00000be8: PUSH2 0x0100
00000beb: OR
00000bec: PUSH3 0xff0000
00000bf0: NOT
00000bf1: AND
00000bf2: SWAP1
00000bf3: SSTORE
00000bf4: JUMPDEST
00000bf5: POP
00000bf6: PUSH1 0x01
00000bf8: SWAP4
00000bf9: SWAP3
00000bfa: POP
00000bfb: POP
00000bfc: POP
00000bfd: JUMP
00000bfe: JUMPDEST
00000bff: DUP3
00000c00: ADDRESS
00000c01: PUSH1 0x40
00000c03: MLOAD
00000c04: PUSH1 0xcd
00000c06: DUP1
00000c07: PUSH2 0x0ee9
00000c0a: DUP4
00000c0b: CODECOPY
00000c0c: ADD
00000c0d: DUP1
00000c0e: DUP4
00000c0f: PUSH1 0x01
00000c11: PUSH1 0xa0
00000c13: PUSH1 0x02
00000c15: EXP
00000c16: SUB
00000c17: AND
00000c18: DUP2
00000c19: MSTORE
00000c1a: PUSH1 0x20
00000c1c: ADD
00000c1d: DUP3
00000c1e: PUSH1 0x01
00000c20: PUSH1 0xa0
00000c22: PUSH1 0x02
00000c24: EXP
00000c25: SUB
00000c26: AND
00000c27: DUP2
00000c28: MSTORE
00000c29: PUSH1 0x20
00000c2b: ADD
00000c2c: SWAP3
00000c2d: POP
00000c2e: POP
00000c2f: POP
00000c30: PUSH1 0x40
00000c32: MLOAD
00000c33: DUP1
00000c34: SWAP2
00000c35: SUB
00000c36: SWAP1
00000c37: PUSH1 0x00
00000c39: CREATE
00000c3a: PUSH1 0x01
00000c3c: PUSH1 0xa0
00000c3e: PUSH1 0x02
00000c40: EXP
00000c41: SUB
00000c42: DUP2
00000c43: DUP2
00000c44: AND
00000c45: PUSH1 0x00
00000c47: SWAP1
00000c48: DUP2
00000c49: MSTORE
00000c4a: PUSH1 0x10
00000c4c: PUSH1 0x20
00000c4e: SWAP1
00000c4f: DUP2
00000c50: MSTORE
00000c51: PUSH1 0x40
00000c53: DUP1
00000c54: DUP4
00000c55: KECCAK256
00000c56: DUP1
00000c57: SLOAD
00000c58: PUSH1 0xa0
00000c5a: PUSH1 0x02
00000c5c: EXP
00000c5d: PUSH1 0x01
00000c5f: PUSH1 0xa0
00000c61: PUSH1 0x02
00000c63: EXP
00000c64: SUB
00000c65: NOT
00000c66: SWAP2
00000c67: DUP3
00000c68: AND
00000c69: DUP12
00000c6a: OR
00000c6b: PUSH21 0xff0000000000000000000000000000000000000000
00000c81: NOT
00000c82: AND
00000c83: OR
00000c84: SWAP1
00000c85: SWAP2
00000c86: SSTORE
00000c87: SWAP8
00000c88: SWAP1
00000c89: SWAP4
00000c8a: AND
00000c8b: DUP3
00000c8c: MSTORE
00000c8d: PUSH1 0x11
00000c8f: SWAP1
00000c90: MSTORE
00000c91: KECCAK256
00000c92: DUP1
00000c93: SLOAD
00000c94: SWAP1
00000c95: SWAP5
00000c96: AND
00000c97: OR
00000c98: SWAP1
00000c99: SWAP3
00000c9a: SSTORE
00000c9b: POP
00000c9c: PUSH1 0x01
00000c9e: SWAP2
00000c9f: SWAP1
00000ca0: POP
00000ca1: JUMP
00000ca2: JUMPDEST
00000ca3: SWAP1
00000ca4: POP
00000ca5: PUSH2 0x0471
00000ca8: JUMP
00000ca9: JUMPDEST
00000caa: PUSH1 0x0d
00000cac: SLOAD
00000cad: TIMESTAMP
00000cae: GT
00000caf: DUP1
00000cb0: ISZERO
00000cb1: PUSH2 0x0cbd
00000cb4: JUMPI
00000cb5: POP
00000cb6: PUSH1 0x0f
00000cb8: SLOAD
00000cb9: PUSH1 0xff
00000cbb: AND
00000cbc: ISZERO
00000cbd: JUMPDEST
00000cbe: ISZERO
00000cbf: PUSH2 0x0d7c
00000cc2: JUMPI
00000cc3: PUSH1 0x01
00000cc5: PUSH1 0xa0
00000cc7: PUSH1 0x02
00000cc9: EXP
00000cca: SUB
00000ccb: CALLER
00000ccc: AND
00000ccd: PUSH1 0x00
00000ccf: DUP2
00000cd0: DUP2
00000cd1: MSTORE
00000cd2: PUSH1 0x12
00000cd4: PUSH1 0x20
00000cd6: MSTORE
00000cd7: PUSH1 0x40
00000cd9: DUP1
00000cda: DUP3
00000cdb: KECCAK256
00000cdc: SLOAD
00000cdd: SWAP1
00000cde: MLOAD
00000cdf: DUP3
00000ce0: DUP2
00000ce1: DUP2
00000ce2: DUP2
00000ce3: DUP6
00000ce4: DUP9
00000ce5: DUP4
00000ce6: CALL
00000ce7: SWAP4
00000ce8: POP
00000ce9: POP
00000cea: POP
00000ceb: POP
00000cec: ISZERO
00000ced: PUSH2 0x0d7c
00000cf0: JUMPI
00000cf1: CALLER
00000cf2: PUSH1 0x01
00000cf4: PUSH1 0xa0
00000cf6: PUSH1 0x02
00000cf8: EXP
00000cf9: SUB
00000cfa: AND
00000cfb: PUSH32 0xbb28353e4598c3b9199101a66e0989549b659a59a54d2c27fbb183f1932c8e6d
00000d1c: PUSH1 0x12
00000d1e: PUSH1 0x00
00000d20: POP
00000d21: PUSH1 0x00
00000d23: CALLER
00000d24: PUSH1 0x01
00000d26: PUSH1 0xa0
00000d28: PUSH1 0x02
00000d2a: EXP
00000d2b: SUB
00000d2c: AND
00000d2d: DUP2
00000d2e: MSTORE
00000d2f: PUSH1 0x20
00000d31: ADD
00000d32: SWAP1
00000d33: DUP2
00000d34: MSTORE
00000d35: PUSH1 0x20
00000d37: ADD
00000d38: PUSH1 0x00
00000d3a: KECCAK256
00000d3b: PUSH1 0x00
00000d3d: POP
00000d3e: SLOAD
00000d3f: PUSH1 0x40
00000d41: MLOAD
00000d42: DUP1
00000d43: DUP3
00000d44: DUP2
00000d45: MSTORE
00000d46: PUSH1 0x20
00000d48: ADD
00000d49: SWAP2
00000d4a: POP
00000d4b: POP
00000d4c: PUSH1 0x40
00000d4e: MLOAD
00000d4f: DUP1
00000d50: SWAP2
00000d51: SUB
00000d52: SWAP1
00000d53: LOG2
00000d54: PUSH1 0x00
00000d56: PUSH1 0x12
00000d58: PUSH1 0x00
00000d5a: POP
00000d5b: PUSH1 0x00
00000d5d: CALLER
00000d5e: PUSH1 0x01
00000d60: PUSH1 0xa0
00000d62: PUSH1 0x02
00000d64: EXP
00000d65: SUB
00000d66: AND
00000d67: DUP2
00000d68: MSTORE
00000d69: PUSH1 0x20
00000d6b: ADD
00000d6c: SWAP1
00000d6d: DUP2
00000d6e: MSTORE
00000d6f: PUSH1 0x20
00000d71: ADD
00000d72: PUSH1 0x00
00000d74: KECCAK256
00000d75: PUSH1 0x00
00000d77: POP
00000d78: DUP2
00000d79: SWAP1
00000d7a: SSTORE
00000d7b: POP
00000d7c: JUMPDEST
00000d7d: JUMP
00000d7e: JUMPDEST
00000d7f: TIMESTAMP
00000d80: PUSH3 0x054600
00000d84: PUSH1 0x0d
00000d86: PUSH1 0x00
00000d88: POP
00000d89: SLOAD
00000d8a: SUB
00000d8b: GT
00000d8c: ISZERO
00000d8d: PUSH2 0x0db1
00000d90: JUMPI
00000d91: PUSH3 0x015180
00000d95: PUSH3 0x127500
00000d99: PUSH1 0x0d
00000d9b: PUSH1 0x00
00000d9d: POP
00000d9e: SLOAD
00000d9f: SUB
00000da0: TIMESTAMP
00000da1: SUB
00000da2: DIV
00000da3: PUSH2 0x01f4
00000da6: MUL
00000da7: PUSH2 0x2710
00000daa: SUB
00000dab: SWAP1
00000dac: POP
00000dad: PUSH2 0x03fc
00000db0: JUMP
00000db1: JUMPDEST
00000db2: POP
00000db3: PUSH2 0x1388
00000db6: PUSH2 0x03fc
00000db9: JUMP
00000dba: JUMPDEST
00000dbb: ISZERO
00000dbc: PUSH2 0x042b
00000dbf: JUMPI
00000dc0: POP
00000dc1: PUSH1 0x01
00000dc3: PUSH2 0x0285
00000dc6: JUMP
00000dc7: JUMPDEST
00000dc8: ISZERO
00000dc9: ISZERO
00000dca: PUSH2 0x0dd2
00000dcd: JUMPI
00000dce: PUSH2 0x0002
00000dd1: JUMP
00000dd2: JUMPDEST
00000dd3: PUSH2 0x0ddc
00000dd6: DUP4
00000dd7: DUP4
00000dd8: PUSH2 0x065d
00000ddb: JUMP
00000ddc: JUMPDEST
00000ddd: SWAP1
00000dde: POP
00000ddf: PUSH2 0x0285
00000de2: JUMP
00000de3: JUMPDEST
00000de4: ISZERO
00000de5: PUSH2 0x042b
00000de8: JUMPI
00000de9: POP
00000dea: PUSH1 0x01
00000dec: PUSH2 0x09d1
00000def: JUMP
00000df0: JUMPDEST
00000df1: PUSH2 0x080d
00000df4: CALLER
00000df5: PUSH1 0x00
00000df7: PUSH1 0x00
00000df9: CALLVALUE
00000dfa: GT
00000dfb: ISZERO
00000dfc: PUSH2 0x0ee1
00000dff: JUMPI
00000e00: PUSH2 0x0002
00000e03: JUMP
00000e04: JUMPDEST
00000e05: POP
00000e06: PUSH1 0x00
00000e08: PUSH2 0x0285
00000e0b: JUMP
00000e0c: JUMPDEST
00000e0d: POP
00000e0e: POP
00000e0f: PUSH1 0x15
00000e11: SLOAD
00000e12: PUSH1 0x14
00000e14: DUP1
00000e15: SLOAD
00000e16: DUP6
00000e17: SWAP5
00000e18: POP
00000e19: SWAP1
00000e1a: SWAP3
00000e1b: POP
00000e1c: DUP2
00000e1d: LT
00000e1e: ISZERO
00000e1f: PUSH2 0x0002
00000e22: JUMPI
00000e23: PUSH1 0x00
00000e25: SWAP2
00000e26: DUP3
00000e27: MSTORE
00000e28: PUSH1 0x04
00000e2a: MUL
00000e2b: PUSH32 0xce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec
00000e4c: ADD
00000e4d: SWAP1
00000e4e: POP
00000e4f: DUP2
00000e50: MLOAD
00000e51: DUP2
00000e52: SSTORE
00000e53: PUSH1 0x20
00000e55: DUP3
00000e56: DUP2
00000e57: ADD
00000e58: MLOAD
00000e59: PUSH1 0x01
00000e5b: DUP4
00000e5c: DUP2
00000e5d: ADD
00000e5e: DUP1
00000e5f: SLOAD
00000e60: PUSH1 0x01
00000e62: PUSH1 0xa0
00000e64: PUSH1 0x02
00000e66: EXP
00000e67: SUB
00000e68: NOT
00000e69: AND
00000e6a: SWAP1
00000e6b: SWAP3
00000e6c: OR
00000e6d: SWAP1
00000e6e: SWAP2
00000e6f: SSTORE
00000e70: PUSH1 0x40
00000e72: DUP5
00000e73: DUP2
00000e74: ADD
00000e75: MLOAD
00000e76: PUSH1 0x02
00000e78: DUP6
00000e79: ADD
00000e7a: SSTORE
00000e7b: PUSH1 0x60
00000e7d: SWAP5
00000e7e: SWAP1
00000e7f: SWAP5
00000e80: ADD
00000e81: MLOAD
00000e82: PUSH1 0x03
00000e84: SWAP4
00000e85: SWAP1
00000e86: SWAP4
00000e87: ADD
00000e88: SWAP3
00000e89: SWAP1
00000e8a: SWAP3
00000e8b: SSTORE
00000e8c: PUSH1 0x15
00000e8e: DUP1
00000e8f: SLOAD
00000e90: SWAP1
00000e91: SWAP3
00000e92: ADD
00000e93: SWAP1
00000e94: SWAP2
00000e95: SSTORE
00000e96: DUP2
00000e97: MLOAD
00000e98: DUP6
00000e99: DUP2
00000e9a: MSTORE
00000e9b: SWAP2
00000e9c: MLOAD
00000e9d: DUP7
00000e9e: SWAP3
00000e9f: PUSH1 0x01
00000ea1: PUSH1 0xa0
00000ea3: PUSH1 0x02
00000ea5: EXP
00000ea6: SUB
00000ea7: CALLER
00000ea8: AND
00000ea9: SWAP3
00000eaa: PUSH32 0xfa0d085b32a14af5dffb1790969aa5cdba8a1ccc683e058bfe5ad7aba65f1aaa
00000ecb: SWAP3
00000ecc: SWAP2
00000ecd: DUP3
00000ece: SWAP1
00000ecf: SUB
00000ed0: ADD
00000ed1: SWAP1
00000ed2: LOG3
00000ed3: POP
00000ed4: PUSH1 0x01
00000ed6: SWAP5
00000ed7: SWAP4
00000ed8: POP
00000ed9: POP
00000eda: POP
00000edb: POP
00000edc: JUMP
00000edd: JUMPDEST
00000ede: POP
00000edf: SWAP1
00000ee0: JUMP
00000ee1: JUMPDEST
00000ee2: POP
00000ee3: PUSH1 0x01
00000ee5: PUSH2 0x0471
00000ee8: JUMP
00000ee9: PUSH1 0x60
00000eeb: PUSH1 0x40
00000eed: DUP2
00000eee: DUP2
00000eef: MSTORE
00000ef0: DUP1
00000ef1: PUSH1 0xcd
00000ef3: DUP4
00000ef4: CODECOPY
00000ef5: PUSH1 0xa0
00000ef7: SWAP1
00000ef8: MSTORE
00000ef9: MLOAD
00000efa: PUSH1 0x80
00000efc: MLOAD
00000efd: PUSH1 0x00
00000eff: DUP1
00000f00: SLOAD
00000f01: PUSH1 0x01
00000f03: PUSH1 0xa0
00000f05: PUSH1 0x02
00000f07: EXP
00000f08: SUB
00000f09: NOT
00000f0a: SWAP1
00000f0b: DUP2
00000f0c: AND
00000f0d: DUP5
00000f0e: OR
00000f0f: SWAP1
00000f10: SWAP2
00000f11: SSTORE
00000f12: PUSH1 0x01
00000f14: DUP1
00000f15: SLOAD
00000f16: SWAP1
00000f17: SWAP2
00000f18: AND
00000f19: DUP3
00000f1a: OR
00000f1b: SWAP1
00000f1c: SSTORE
00000f1d: POP
00000f1e: POP
00000f1f: PUSH1 0x8c
00000f21: DUP1
00000f22: PUSH1 0x41
00000f24: PUSH1 0x00
00000f26: CODECOPY
00000f27: PUSH1 0x00
00000f29: RETURN
00000f2a: PUSH1 0x60
00000f2c: PUSH1 0x40
00000f2e: MSTORE
00000f2f: CALLDATASIZE
00000f30: ISZERO
00000f31: PUSH1 0x0a
00000f33: JUMPI
00000f34: JUMPDEST
00000f35: PUSH1 0x88
00000f37: PUSH1 0x01
00000f39: SLOAD
00000f3a: PUSH1 0x00
00000f3c: SLOAD
00000f3d: PUSH32 0x3eda58f800000000000000000000000000000000000000000000000000000000
00000f5e: PUSH1 0x60
00000f60: SWAP1
00000f61: DUP2
00000f62: MSTORE
00000f63: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f78: SWAP2
00000f79: DUP3
00000f7a: AND
00000f7b: PUSH1 0x64
00000f7d: MSTORE
00000f7e: SWAP2
00000f7f: AND
00000f80: SWAP1
00000f81: PUSH4 0x3eda58f8
00000f86: SWAP1
00000f87: PUSH3 0x019e10
00000f8b: SWAP1
00000f8c: CALLVALUE
00000f8d: SWAP1
00000f8e: PUSH1 0x84
00000f90: SWAP1
00000f91: PUSH1 0x20
00000f93: SWAP1
00000f94: PUSH1 0x24
00000f96: DUP2
00000f97: DUP6
00000f98: DUP10
00000f99: DUP9
00000f9a: CALL
00000f9b: ISZERO
00000f9c: PUSH1 0x02
00000f9e: JUMPI
00000f9f: POP
00000fa0: POP
00000fa1: PUSH1 0x40
00000fa3: MLOAD
00000fa4: MLOAD
00000fa5: ISZERO
00000fa6: ISZERO
00000fa7: SWAP3
00000fa8: POP
00000fa9: PUSH1 0x8a
00000fab: SWAP2
00000fac: POP
00000fad: POP
00000fae: JUMPI
00000faf: PUSH1 0x02
00000fb1: JUMP
00000fb2: JUMPDEST
00000fb3: STOP
00000fb4: JUMPDEST
00000fb5: 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 auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "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": "0x0c90ccea",
            "selector": "0x0c90ccea",
            "calldata_variants": [
                "0x0c90ccea",
                "0x0c90ccea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x10b5e050",
            "selector": "0x10b5e050",
            "calldata_variants": [
                "0x10b5e050",
                "0x10b5e0500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1cc7ef20",
            "selector": "0x1cc7ef20",
            "calldata_variants": [
                "0x1cc7ef20",
                "0x1cc7ef200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x25b31a97",
            "selector": "0x25b31a97",
            "calldata_variants": [
                "0x25b31a97",
                "0x25b31a970000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 1239,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 yes yes
view
trace_id: 0xc226c1b2f7178e869ff78779cdcfc8a1b5e09e7607846b9322e6bae86eb3a128
call_targets: 0x0000000000000000000000000000000000000004, 0x53c9fbbf2006167f4c273a45d83d3f9d37eaf1c9
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0xc226c1b2f7178e869ff78779cdcfc8a1b5e09e7607846b9322e6bae86eb3a128",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0x53c9fbbf2006167f4c273a45d83d3f9d37eaf1c9"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c90ccea",
            "selector": "0x0c90ccea",
            "calldata_variants": [
                "0x0c90ccea",
                "0x0c90ccea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x10b5e050",
            "selector": "0x10b5e050",
            "calldata_variants": [
                "0x10b5e050",
                "0x10b5e0500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1cc7ef20",
            "selector": "0x1cc7ef20",
            "calldata_variants": [
                "0x1cc7ef20",
                "0x1cc7ef200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x25b31a97",
            "selector": "0x25b31a97",
            "calldata_variants": [
                "0x25b31a97",
                "0x25b31a970000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2122,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2651,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2984,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 5,
    "guards_detected": [
        {
            "pc": 1239,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 4
}
medium other detector ETH value transfer possible 40 yes yes
view
trace_id: 0xc226c1b2f7178e869ff78779cdcfc8a1b5e09e7607846b9322e6bae86eb3a128
call_targets: 0x0000000000000000000000000000000000000004, 0x53c9fbbf2006167f4c273a45d83d3f9d37eaf1c9
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0xc226c1b2f7178e869ff78779cdcfc8a1b5e09e7607846b9322e6bae86eb3a128",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0x53c9fbbf2006167f4c273a45d83d3f9d37eaf1c9"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c90ccea",
            "selector": "0x0c90ccea",
            "calldata_variants": [
                "0x0c90ccea",
                "0x0c90ccea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x10b5e050",
            "selector": "0x10b5e050",
            "calldata_variants": [
                "0x10b5e050",
                "0x10b5e0500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1cc7ef20",
            "selector": "0x1cc7ef20",
            "calldata_variants": [
                "0x1cc7ef20",
                "0x1cc7ef200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x25b31a97",
            "selector": "0x25b31a97",
            "calldata_variants": [
                "0x25b31a97",
                "0x25b31a970000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2122,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2651,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2984,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 5,
    "guards_detected": [
        {
            "pc": 1239,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xef1c38bc3176bf67d8b5f0363110fe1e36c089633013674b87fc97550daefff4
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xef1c38bc3176bf67d8b5f0363110fe1e36c089633013674b87fc97550daefff4",
    "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": "0x0c90ccea",
            "selector": "0x0c90ccea",
            "calldata_variants": [
                "0x0c90ccea",
                "0x0c90ccea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x10b5e050",
            "selector": "0x10b5e050",
            "calldata_variants": [
                "0x10b5e050",
                "0x10b5e0500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1cc7ef20",
            "selector": "0x1cc7ef20",
            "calldata_variants": [
                "0x1cc7ef20",
                "0x1cc7ef200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x25b31a97",
            "selector": "0x25b31a97",
            "calldata_variants": [
                "0x25b31a97",
                "0x25b31a970000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 0
}