019b3836-2ede-725c-b04e-659c73fa3550
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 2345 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 2346 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 97122 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 97123 | capability.graph | complete | 1 / 3 | 1 week ago |
| 97124 | detector.run | complete | 1 / 3 | 1 week ago |
| 97125 | validation.fork | complete | 1 / 3 | 1 week ago |
| 113822 | report.consolidate | complete | 1 / 6 | 1 week ago |
No slither job recorded yet.
OpenAI Codex v0.118.0 (research preview) -------- workdir: /tmp/codex-96l_7k7a model: gpt-5.4 provider: openai approval: never sandbox: read-only reasoning effort: high reasoning summaries: none session id: 019d5c9f-b807-7f22-a37a-7360b45bff8c -------- 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.
{
"codex": {
"ran_at": "2026-04-05T07:51:06.004139+00:00",
"returncode": 1
},
"project": {
"mode": "bytecode",
"bytecode_length": 6026,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": null,
"no_findings": null,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: ISZERO 00000007: PUSH2 0x00d7 0000000a: JUMPI 0000000b: PUSH1 0x00 0000000d: CALLDATALOAD 0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002c: SWAP1 0000002d: DIV 0000002e: DUP1 0000002f: PUSH4 0x12065fe0 00000034: EQ 00000035: PUSH2 0x013e 00000038: JUMPI 00000039: DUP1 0000003a: PUSH4 0x35f46994 0000003f: EQ 00000040: PUSH2 0x0161 00000043: JUMPI 00000044: DUP1 00000045: PUSH4 0x5dea5e47 0000004a: EQ 0000004b: PUSH2 0x0170 0000004e: JUMPI 0000004f: DUP1 00000050: PUSH4 0x690b90a9 00000055: EQ 00000056: PUSH2 0x0188 00000059: JUMPI 0000005a: DUP1 0000005b: PUSH4 0x6adcef6b 00000060: EQ 00000061: PUSH2 0x01ab 00000064: JUMPI 00000065: DUP1 00000066: PUSH4 0x6ccb5d02 0000006b: EQ 0000006c: PUSH2 0x01c3 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0x75724990 00000076: EQ 00000077: PUSH2 0x0205 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0x7f616488 00000081: EQ 00000082: PUSH2 0x0226 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0x9e1a00aa 0000008c: EQ 0000008d: PUSH2 0x0249 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0xa3934658 00000097: EQ 00000098: PUSH2 0x026a 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0xb27920bc 000000a2: EQ 000000a3: PUSH2 0x0279 000000a6: JUMPI 000000a7: DUP1 000000a8: PUSH4 0xbd0e8b2d 000000ad: EQ 000000ae: PUSH2 0x02cc 000000b1: JUMPI 000000b2: DUP1 000000b3: PUSH4 0xbf76c0ef 000000b8: EQ 000000b9: PUSH2 0x02ef 000000bc: JUMPI 000000bd: DUP1 000000be: PUSH4 0xc8224bc2 000000c3: EQ 000000c4: PUSH2 0x0307 000000c7: JUMPI 000000c8: DUP1 000000c9: PUSH4 0xdda1a1e6 000000ce: EQ 000000cf: PUSH2 0x0328 000000d2: JUMPI 000000d3: PUSH2 0x00d7 000000d6: JUMP 000000d7: JUMPDEST 000000d8: PUSH2 0x013c 000000db: JUMPDEST 000000dc: NUMBER 000000dd: PUSH32 0x5d6ac9b7defd8fbb29ef2ab0f08c3744192b3777466dd98d1fd7daed5064b6db 000000fe: CALLER 000000ff: CALLVALUE 00000100: TIMESTAMP 00000101: PUSH1 0x40 00000103: MLOAD 00000104: DUP1 00000105: DUP5 00000106: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000011b: AND 0000011c: DUP2 0000011d: MSTORE 0000011e: PUSH1 0x20 00000120: ADD 00000121: DUP4 00000122: DUP2 00000123: MSTORE 00000124: PUSH1 0x20 00000126: ADD 00000127: DUP3 00000128: DUP2 00000129: MSTORE 0000012a: PUSH1 0x20 0000012c: ADD 0000012d: SWAP4 0000012e: POP 0000012f: POP 00000130: POP 00000131: POP 00000132: PUSH1 0x40 00000134: MLOAD 00000135: DUP1 00000136: SWAP2 00000137: SUB 00000138: SWAP1 00000139: LOG2 0000013a: JUMPDEST 0000013b: JUMP 0000013c: JUMPDEST 0000013d: STOP 0000013e: JUMPDEST 0000013f: PUSH2 0x014b 00000142: PUSH1 0x04 00000144: DUP1 00000145: POP 00000146: POP 00000147: PUSH2 0x079b 0000014a: JUMP 0000014b: JUMPDEST 0000014c: PUSH1 0x40 0000014e: MLOAD 0000014f: DUP1 00000150: DUP3 00000151: DUP2 00000152: MSTORE 00000153: PUSH1 0x20 00000155: ADD 00000156: SWAP2 00000157: POP 00000158: POP 00000159: PUSH1 0x40 0000015b: MLOAD 0000015c: DUP1 0000015d: SWAP2 0000015e: SUB 0000015f: SWAP1 00000160: RETURN 00000161: JUMPDEST 00000162: PUSH2 0x016e 00000165: PUSH1 0x04 00000167: DUP1 00000168: POP 00000169: POP 0000016a: PUSH2 0x0b66 0000016d: JUMP 0000016e: JUMPDEST 0000016f: STOP 00000170: JUMPDEST 00000171: PUSH2 0x0186 00000174: PUSH1 0x04 00000176: DUP1 00000177: DUP1 00000178: CALLDATALOAD 00000179: SWAP1 0000017a: PUSH1 0x20 0000017c: ADD 0000017d: SWAP1 0000017e: SWAP2 0000017f: SWAP1 00000180: POP 00000181: POP 00000182: PUSH2 0x0633 00000185: JUMP 00000186: JUMPDEST 00000187: STOP 00000188: JUMPDEST 00000189: PUSH2 0x0195 0000018c: PUSH1 0x04 0000018e: DUP1 0000018f: POP 00000190: POP 00000191: PUSH2 0x07f2 00000194: JUMP 00000195: JUMPDEST 00000196: PUSH1 0x40 00000198: MLOAD 00000199: DUP1 0000019a: DUP3 0000019b: DUP2 0000019c: MSTORE 0000019d: PUSH1 0x20 0000019f: ADD 000001a0: SWAP2 000001a1: POP 000001a2: POP 000001a3: PUSH1 0x40 000001a5: MLOAD 000001a6: DUP1 000001a7: SWAP2 000001a8: SUB 000001a9: SWAP1 000001aa: RETURN 000001ab: JUMPDEST 000001ac: PUSH2 0x01c1 000001af: PUSH1 0x04 000001b1: DUP1 000001b2: DUP1 000001b3: CALLDATALOAD 000001b4: SWAP1 000001b5: PUSH1 0x20 000001b7: ADD 000001b8: SWAP1 000001b9: SWAP2 000001ba: SWAP1 000001bb: POP 000001bc: POP 000001bd: PUSH2 0x08ca 000001c0: JUMP 000001c1: JUMPDEST 000001c2: STOP 000001c3: JUMPDEST 000001c4: PUSH2 0x01d9 000001c7: PUSH1 0x04 000001c9: DUP1 000001ca: DUP1 000001cb: CALLDATALOAD 000001cc: SWAP1 000001cd: PUSH1 0x20 000001cf: ADD 000001d0: SWAP1 000001d1: SWAP2 000001d2: SWAP1 000001d3: POP 000001d4: POP 000001d5: PUSH2 0x0858 000001d8: JUMP 000001d9: JUMPDEST 000001da: PUSH1 0x40 000001dc: MLOAD 000001dd: DUP1 000001de: DUP3 000001df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001f4: AND 000001f5: DUP2 000001f6: MSTORE 000001f7: PUSH1 0x20 000001f9: ADD 000001fa: SWAP2 000001fb: POP 000001fc: POP 000001fd: PUSH1 0x40 000001ff: MLOAD 00000200: DUP1 00000201: SWAP2 00000202: SUB 00000203: SWAP1 00000204: RETURN 00000205: JUMPDEST 00000206: PUSH2 0x0224 00000209: PUSH1 0x04 0000020b: DUP1 0000020c: DUP1 0000020d: CALLDATALOAD 0000020e: SWAP1 0000020f: PUSH1 0x20 00000211: ADD 00000212: SWAP1 00000213: SWAP2 00000214: SWAP1 00000215: DUP1 00000216: CALLDATALOAD 00000217: SWAP1 00000218: PUSH1 0x20 0000021a: ADD 0000021b: SWAP1 0000021c: SWAP2 0000021d: SWAP1 0000021e: POP 0000021f: POP 00000220: PUSH2 0x03f5 00000223: JUMP 00000224: JUMPDEST 00000225: STOP 00000226: JUMPDEST 00000227: PUSH2 0x0233 0000022a: PUSH1 0x04 0000022c: DUP1 0000022d: POP 0000022e: POP 0000022f: PUSH2 0x0825 00000232: JUMP 00000233: JUMPDEST 00000234: PUSH1 0x40 00000236: MLOAD 00000237: DUP1 00000238: DUP3 00000239: DUP2 0000023a: MSTORE 0000023b: PUSH1 0x20 0000023d: ADD 0000023e: SWAP2 0000023f: POP 00000240: POP 00000241: PUSH1 0x40 00000243: MLOAD 00000244: DUP1 00000245: SWAP2 00000246: SUB 00000247: SWAP1 00000248: RETURN 00000249: JUMPDEST 0000024a: PUSH2 0x0268 0000024d: PUSH1 0x04 0000024f: DUP1 00000250: DUP1 00000251: CALLDATALOAD 00000252: SWAP1 00000253: PUSH1 0x20 00000255: ADD 00000256: SWAP1 00000257: SWAP2 00000258: SWAP1 00000259: DUP1 0000025a: CALLDATALOAD 0000025b: SWAP1 0000025c: PUSH1 0x20 0000025e: ADD 0000025f: SWAP1 00000260: SWAP2 00000261: SWAP1 00000262: POP 00000263: POP 00000264: PUSH2 0x0340 00000267: JUMP 00000268: JUMPDEST 00000269: STOP 0000026a: JUMPDEST 0000026b: PUSH2 0x0277 0000026e: PUSH1 0x04 00000270: DUP1 00000271: POP 00000272: POP 00000273: PUSH2 0x0a16 00000276: JUMP 00000277: JUMPDEST 00000278: STOP 00000279: JUMPDEST 0000027a: PUSH2 0x02ca 0000027d: PUSH1 0x04 0000027f: DUP1 00000280: DUP1 00000281: CALLDATALOAD 00000282: SWAP1 00000283: PUSH1 0x20 00000285: ADD 00000286: SWAP1 00000287: DUP3 00000288: ADD 00000289: DUP1 0000028a: CALLDATALOAD 0000028b: SWAP1 0000028c: PUSH1 0x20 0000028e: ADD 0000028f: SWAP2 00000290: SWAP2 00000291: SWAP1 00000292: DUP1 00000293: DUP1 00000294: PUSH1 0x20 00000296: MUL 00000297: PUSH1 0x20 00000299: ADD 0000029a: PUSH1 0x40 0000029c: MLOAD 0000029d: SWAP1 0000029e: DUP2 0000029f: ADD 000002a0: PUSH1 0x40 000002a2: MSTORE 000002a3: DUP1 000002a4: SWAP4 000002a5: SWAP3 000002a6: SWAP2 000002a7: SWAP1 000002a8: DUP2 000002a9: DUP2 000002aa: MSTORE 000002ab: PUSH1 0x20 000002ad: ADD 000002ae: DUP4 000002af: DUP4 000002b0: PUSH1 0x20 000002b2: MUL 000002b3: DUP1 000002b4: DUP3 000002b5: DUP5 000002b6: CALLDATACOPY 000002b7: DUP3 000002b8: ADD 000002b9: SWAP2 000002ba: POP 000002bb: POP 000002bc: POP 000002bd: POP 000002be: POP 000002bf: POP 000002c0: SWAP1 000002c1: SWAP1 000002c2: SWAP2 000002c3: SWAP1 000002c4: POP 000002c5: POP 000002c6: PUSH2 0x073b 000002c9: JUMP 000002ca: JUMPDEST 000002cb: STOP 000002cc: JUMPDEST 000002cd: PUSH2 0x02d9 000002d0: PUSH1 0x04 000002d2: DUP1 000002d3: POP 000002d4: POP 000002d5: PUSH2 0x07bf 000002d8: JUMP 000002d9: JUMPDEST 000002da: PUSH1 0x40 000002dc: MLOAD 000002dd: DUP1 000002de: DUP3 000002df: DUP2 000002e0: MSTORE 000002e1: PUSH1 0x20 000002e3: ADD 000002e4: SWAP2 000002e5: POP 000002e6: POP 000002e7: PUSH1 0x40 000002e9: MLOAD 000002ea: DUP1 000002eb: SWAP2 000002ec: SUB 000002ed: SWAP1 000002ee: RETURN 000002ef: JUMPDEST 000002f0: PUSH2 0x0305 000002f3: PUSH1 0x04 000002f5: DUP1 000002f6: DUP1 000002f7: CALLDATALOAD 000002f8: SWAP1 000002f9: PUSH1 0x20 000002fb: ADD 000002fc: SWAP1 000002fd: SWAP2 000002fe: SWAP1 000002ff: POP 00000300: POP 00000301: PUSH2 0x055a 00000304: JUMP 00000305: JUMPDEST 00000306: STOP 00000307: JUMPDEST 00000308: PUSH2 0x0326 0000030b: PUSH1 0x04 0000030d: DUP1 0000030e: DUP1 0000030f: CALLDATALOAD 00000310: SWAP1 00000311: PUSH1 0x20 00000313: ADD 00000314: SWAP1 00000315: SWAP2 00000316: SWAP1 00000317: DUP1 00000318: CALLDATALOAD 00000319: SWAP1 0000031a: PUSH1 0x20 0000031c: ADD 0000031d: SWAP1 0000031e: SWAP2 0000031f: SWAP1 00000320: POP 00000321: POP 00000322: PUSH2 0x0691 00000325: JUMP 00000326: JUMPDEST 00000327: STOP 00000328: JUMPDEST 00000329: PUSH2 0x033e 0000032c: PUSH1 0x04 0000032e: DUP1 0000032f: DUP1 00000330: CALLDATALOAD 00000331: SWAP1 00000332: PUSH1 0x20 00000334: ADD 00000335: SWAP1 00000336: SWAP2 00000337: SWAP1 00000338: POP 00000339: POP 0000033a: PUSH2 0x04fc 0000033d: JUMP 0000033e: JUMPDEST 0000033f: STOP 00000340: JUMPDEST 00000341: PUSH1 0x00 00000343: NUMBER 00000344: PUSH32 0x5ab8dc610f1c5d672561a1c397fb11717ad7b220565f7916904984963a1f43ef 00000365: DUP5 00000366: DUP5 00000367: TIMESTAMP 00000368: PUSH1 0x40 0000036a: MLOAD 0000036b: DUP1 0000036c: DUP5 0000036d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000382: AND 00000383: DUP2 00000384: MSTORE 00000385: PUSH1 0x20 00000387: ADD 00000388: DUP4 00000389: DUP2 0000038a: MSTORE 0000038b: PUSH1 0x20 0000038d: ADD 0000038e: DUP3 0000038f: DUP2 00000390: MSTORE 00000391: PUSH1 0x20 00000393: ADD 00000394: SWAP4 00000395: POP 00000396: POP 00000397: POP 00000398: POP 00000399: PUSH1 0x40 0000039b: MLOAD 0000039c: DUP1 0000039d: SWAP2 0000039e: SUB 0000039f: SWAP1 000003a0: LOG2 000003a1: PUSH1 0x00 000003a3: PUSH1 0x00 000003a5: POP 000003a6: PUSH1 0x00 000003a8: PUSH1 0x00 000003aa: DUP2 000003ab: MSTORE 000003ac: PUSH1 0x20 000003ae: ADD 000003af: SWAP1 000003b0: DUP2 000003b1: MSTORE 000003b2: PUSH1 0x20 000003b4: ADD 000003b5: PUSH1 0x00 000003b7: KECCAK256 000003b8: PUSH1 0x00 000003ba: POP 000003bb: SWAP1 000003bc: POP 000003bd: DUP3 000003be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003d3: AND 000003d4: PUSH1 0x00 000003d6: DUP4 000003d7: PUSH1 0x40 000003d9: MLOAD 000003da: DUP1 000003db: SWAP1 000003dc: POP 000003dd: PUSH1 0x00 000003df: PUSH1 0x40 000003e1: MLOAD 000003e2: DUP1 000003e3: DUP4 000003e4: SUB 000003e5: DUP2 000003e6: DUP6 000003e7: DUP9 000003e8: DUP9 000003e9: CALL 000003ea: SWAP4 000003eb: POP 000003ec: POP 000003ed: POP 000003ee: POP 000003ef: POP 000003f0: JUMPDEST 000003f1: POP 000003f2: POP 000003f3: POP 000003f4: JUMP 000003f5: JUMPDEST 000003f6: PUSH1 0x00 000003f8: PUSH1 0x00 000003fa: PUSH1 0x00 000003fc: POP 000003fd: PUSH1 0x00 000003ff: PUSH1 0x00 00000401: DUP2 00000402: MSTORE 00000403: PUSH1 0x20 00000405: ADD 00000406: SWAP1 00000407: DUP2 00000408: MSTORE 00000409: PUSH1 0x20 0000040b: ADD 0000040c: PUSH1 0x00 0000040e: KECCAK256 0000040f: PUSH1 0x00 00000411: POP 00000412: SWAP1 00000413: POP 00000414: DUP1 00000415: PUSH1 0x06 00000417: ADD 00000418: PUSH1 0x00 0000041a: POP 0000041b: SLOAD 0000041c: DUP3 0000041d: GT 0000041e: ISZERO 0000041f: ISZERO 00000420: PUSH2 0x04f1 00000423: JUMPI 00000424: PUSH1 0x60 00000426: PUSH1 0x40 00000428: MLOAD 00000429: SWAP1 0000042a: DUP2 0000042b: ADD 0000042c: PUSH1 0x40 0000042e: MSTORE 0000042f: DUP1 00000430: DUP5 00000431: DUP2 00000432: MSTORE 00000433: PUSH1 0x20 00000435: ADD 00000436: DUP4 00000437: DUP2 00000438: MSTORE 00000439: PUSH1 0x20 0000043b: ADD 0000043c: PUSH1 0x01 0000043e: DUP2 0000043f: MSTORE 00000440: PUSH1 0x20 00000442: ADD 00000443: POP 00000444: DUP2 00000445: PUSH1 0x00 00000447: ADD 00000448: PUSH1 0x00 0000044a: POP 0000044b: PUSH1 0x00 0000044d: DUP4 0000044e: PUSH1 0x05 00000450: ADD 00000451: PUSH1 0x00 00000453: POP 00000454: SLOAD 00000455: DUP2 00000456: MSTORE 00000457: PUSH1 0x20 00000459: ADD 0000045a: SWAP1 0000045b: DUP2 0000045c: MSTORE 0000045d: PUSH1 0x20 0000045f: ADD 00000460: PUSH1 0x00 00000462: KECCAK256 00000463: PUSH1 0x00 00000465: POP 00000466: PUSH1 0x00 00000468: DUP3 00000469: ADD 0000046a: MLOAD 0000046b: DUP2 0000046c: PUSH1 0x00 0000046e: ADD 0000046f: PUSH1 0x00 00000471: PUSH2 0x0100 00000474: EXP 00000475: DUP2 00000476: SLOAD 00000477: DUP2 00000478: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000048d: MUL 0000048e: NOT 0000048f: AND 00000490: SWAP1 00000491: DUP4 00000492: MUL 00000493: OR 00000494: SWAP1 00000495: SSTORE 00000496: POP 00000497: PUSH1 0x20 00000499: DUP3 0000049a: ADD 0000049b: MLOAD 0000049c: DUP2 0000049d: PUSH1 0x01 0000049f: ADD 000004a0: PUSH1 0x00 000004a2: POP 000004a3: SSTORE 000004a4: PUSH1 0x40 000004a6: DUP3 000004a7: ADD 000004a8: MLOAD 000004a9: DUP2 000004aa: PUSH1 0x02 000004ac: ADD 000004ad: PUSH1 0x00 000004af: PUSH2 0x0100 000004b2: EXP 000004b3: DUP2 000004b4: SLOAD 000004b5: DUP2 000004b6: PUSH1 0xff 000004b8: MUL 000004b9: NOT 000004ba: AND 000004bb: SWAP1 000004bc: DUP4 000004bd: MUL 000004be: OR 000004bf: SWAP1 000004c0: SSTORE 000004c1: POP 000004c2: SWAP1 000004c3: POP 000004c4: POP 000004c5: DUP2 000004c6: DUP2 000004c7: PUSH1 0x06 000004c9: ADD 000004ca: PUSH1 0x00 000004cc: DUP3 000004cd: DUP3 000004ce: DUP3 000004cf: POP 000004d0: SLOAD 000004d1: SUB 000004d2: SWAP3 000004d3: POP 000004d4: POP 000004d5: DUP2 000004d6: SWAP1 000004d7: SSTORE 000004d8: POP 000004d9: DUP1 000004da: PUSH1 0x05 000004dc: ADD 000004dd: PUSH1 0x00 000004df: DUP2 000004e0: DUP2 000004e1: POP 000004e2: SLOAD 000004e3: PUSH1 0x01 000004e5: ADD 000004e6: SWAP2 000004e7: SWAP1 000004e8: POP 000004e9: DUP2 000004ea: SWAP1 000004eb: SSTORE 000004ec: POP 000004ed: PUSH2 0x04f6 000004f0: JUMP 000004f1: JUMPDEST 000004f2: PUSH2 0x0002 000004f5: JUMP 000004f6: JUMPDEST 000004f7: JUMPDEST 000004f8: POP 000004f9: POP 000004fa: POP 000004fb: JUMP 000004fc: JUMPDEST 000004fd: PUSH1 0x00 000004ff: PUSH1 0x00 00000501: PUSH1 0x00 00000503: PUSH1 0x00 00000505: POP 00000506: PUSH1 0x00 00000508: PUSH1 0x00 0000050a: DUP2 0000050b: MSTORE 0000050c: PUSH1 0x20 0000050e: ADD 0000050f: SWAP1 00000510: DUP2 00000511: MSTORE 00000512: PUSH1 0x20 00000514: ADD 00000515: PUSH1 0x00 00000517: KECCAK256 00000518: PUSH1 0x00 0000051a: POP 0000051b: SWAP2 0000051c: POP 0000051d: DUP2 0000051e: PUSH1 0x00 00000520: ADD 00000521: PUSH1 0x00 00000523: POP 00000524: PUSH1 0x00 00000526: DUP5 00000527: DUP2 00000528: MSTORE 00000529: PUSH1 0x20 0000052b: ADD 0000052c: SWAP1 0000052d: DUP2 0000052e: MSTORE 0000052f: PUSH1 0x20 00000531: ADD 00000532: PUSH1 0x00 00000534: KECCAK256 00000535: PUSH1 0x00 00000537: POP 00000538: SWAP1 00000539: POP 0000053a: PUSH1 0x00 0000053c: DUP2 0000053d: PUSH1 0x02 0000053f: ADD 00000540: PUSH1 0x00 00000542: PUSH2 0x0100 00000545: EXP 00000546: DUP2 00000547: SLOAD 00000548: DUP2 00000549: PUSH1 0xff 0000054b: MUL 0000054c: NOT 0000054d: AND 0000054e: SWAP1 0000054f: DUP4 00000550: MUL 00000551: OR 00000552: SWAP1 00000553: SSTORE 00000554: POP 00000555: JUMPDEST 00000556: POP 00000557: POP 00000558: POP 00000559: JUMP 0000055a: JUMPDEST 0000055b: PUSH1 0x00 0000055d: PUSH1 0x00 0000055f: PUSH1 0x00 00000561: POP 00000562: PUSH1 0x00 00000564: PUSH1 0x00 00000566: DUP2 00000567: MSTORE 00000568: PUSH1 0x20 0000056a: ADD 0000056b: SWAP1 0000056c: DUP2 0000056d: MSTORE 0000056e: PUSH1 0x20 00000570: ADD 00000571: PUSH1 0x00 00000573: KECCAK256 00000574: PUSH1 0x00 00000576: POP 00000577: SWAP1 00000578: POP 00000579: PUSH1 0x60 0000057b: PUSH1 0x40 0000057d: MLOAD 0000057e: SWAP1 0000057f: DUP2 00000580: ADD 00000581: PUSH1 0x40 00000583: MSTORE 00000584: DUP1 00000585: DUP4 00000586: DUP2 00000587: MSTORE 00000588: PUSH1 0x20 0000058a: ADD 0000058b: PUSH1 0x00 0000058d: DUP2 0000058e: MSTORE 0000058f: PUSH1 0x20 00000591: ADD 00000592: PUSH1 0x01 00000594: DUP2 00000595: MSTORE 00000596: PUSH1 0x20 00000598: ADD 00000599: POP 0000059a: DUP2 0000059b: PUSH1 0x01 0000059d: ADD 0000059e: PUSH1 0x00 000005a0: POP 000005a1: PUSH1 0x00 000005a3: DUP4 000005a4: PUSH1 0x07 000005a6: ADD 000005a7: PUSH1 0x00 000005a9: POP 000005aa: SLOAD 000005ab: DUP2 000005ac: MSTORE 000005ad: PUSH1 0x20 000005af: ADD 000005b0: SWAP1 000005b1: DUP2 000005b2: MSTORE 000005b3: PUSH1 0x20 000005b5: ADD 000005b6: PUSH1 0x00 000005b8: KECCAK256 000005b9: PUSH1 0x00 000005bb: POP 000005bc: PUSH1 0x00 000005be: DUP3 000005bf: ADD 000005c0: MLOAD 000005c1: DUP2 000005c2: PUSH1 0x01 000005c4: ADD 000005c5: PUSH1 0x00 000005c7: PUSH2 0x0100 000005ca: EXP 000005cb: DUP2 000005cc: SLOAD 000005cd: DUP2 000005ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005e3: MUL 000005e4: NOT 000005e5: AND 000005e6: SWAP1 000005e7: DUP4 000005e8: MUL 000005e9: OR 000005ea: SWAP1 000005eb: SSTORE 000005ec: POP 000005ed: PUSH1 0x20 000005ef: DUP3 000005f0: ADD 000005f1: MLOAD 000005f2: DUP2 000005f3: PUSH1 0x02 000005f5: ADD 000005f6: PUSH1 0x00 000005f8: POP 000005f9: SSTORE 000005fa: PUSH1 0x40 000005fc: DUP3 000005fd: ADD 000005fe: MLOAD 000005ff: DUP2 00000600: PUSH1 0x03 00000602: ADD 00000603: PUSH1 0x00 00000605: PUSH2 0x0100 00000608: EXP 00000609: DUP2 0000060a: SLOAD 0000060b: DUP2 0000060c: PUSH1 0xff 0000060e: MUL 0000060f: NOT 00000610: AND 00000611: SWAP1 00000612: DUP4 00000613: MUL 00000614: OR 00000615: SWAP1 00000616: SSTORE 00000617: POP 00000618: SWAP1 00000619: POP 0000061a: POP 0000061b: DUP1 0000061c: PUSH1 0x07 0000061e: ADD 0000061f: PUSH1 0x00 00000621: DUP2 00000622: DUP2 00000623: POP 00000624: SLOAD 00000625: PUSH1 0x01 00000627: ADD 00000628: SWAP2 00000629: SWAP1 0000062a: POP 0000062b: DUP2 0000062c: SWAP1 0000062d: SSTORE 0000062e: POP 0000062f: JUMPDEST 00000630: POP 00000631: POP 00000632: JUMP 00000633: JUMPDEST 00000634: PUSH1 0x00 00000636: PUSH1 0x00 00000638: PUSH1 0x00 0000063a: PUSH1 0x00 0000063c: POP 0000063d: PUSH1 0x00 0000063f: PUSH1 0x00 00000641: DUP2 00000642: MSTORE 00000643: PUSH1 0x20 00000645: ADD 00000646: SWAP1 00000647: DUP2 00000648: MSTORE 00000649: PUSH1 0x20 0000064b: ADD 0000064c: PUSH1 0x00 0000064e: KECCAK256 0000064f: PUSH1 0x00 00000651: POP 00000652: SWAP2 00000653: POP 00000654: DUP2 00000655: PUSH1 0x01 00000657: ADD 00000658: PUSH1 0x00 0000065a: POP 0000065b: PUSH1 0x00 0000065d: DUP5 0000065e: DUP2 0000065f: MSTORE 00000660: PUSH1 0x20 00000662: ADD 00000663: SWAP1 00000664: DUP2 00000665: MSTORE 00000666: PUSH1 0x20 00000668: ADD 00000669: PUSH1 0x00 0000066b: KECCAK256 0000066c: PUSH1 0x00 0000066e: POP 0000066f: SWAP1 00000670: POP 00000671: PUSH1 0x00 00000673: DUP2 00000674: PUSH1 0x03 00000676: ADD 00000677: PUSH1 0x00 00000679: PUSH2 0x0100 0000067c: EXP 0000067d: DUP2 0000067e: SLOAD 0000067f: DUP2 00000680: PUSH1 0xff 00000682: MUL 00000683: NOT 00000684: AND 00000685: SWAP1 00000686: DUP4 00000687: MUL 00000688: OR 00000689: SWAP1 0000068a: SSTORE 0000068b: POP 0000068c: JUMPDEST 0000068d: POP 0000068e: POP 0000068f: POP 00000690: JUMP 00000691: JUMPDEST 00000692: PUSH1 0x00 00000694: PUSH1 0x00 00000696: PUSH1 0x00 00000698: PUSH1 0x00 0000069a: POP 0000069b: PUSH1 0x00 0000069d: PUSH1 0x00 0000069f: DUP2 000006a0: MSTORE 000006a1: PUSH1 0x20 000006a3: ADD 000006a4: SWAP1 000006a5: DUP2 000006a6: MSTORE 000006a7: PUSH1 0x20 000006a9: ADD 000006aa: PUSH1 0x00 000006ac: KECCAK256 000006ad: PUSH1 0x00 000006af: POP 000006b0: SWAP2 000006b1: POP 000006b2: DUP2 000006b3: PUSH1 0x01 000006b5: ADD 000006b6: PUSH1 0x00 000006b8: POP 000006b9: PUSH1 0x00 000006bb: DUP6 000006bc: DUP2 000006bd: MSTORE 000006be: PUSH1 0x20 000006c0: ADD 000006c1: SWAP1 000006c2: DUP2 000006c3: MSTORE 000006c4: PUSH1 0x20 000006c6: ADD 000006c7: PUSH1 0x00 000006c9: KECCAK256 000006ca: PUSH1 0x00 000006cc: POP 000006cd: SWAP1 000006ce: POP 000006cf: PUSH1 0x40 000006d1: PUSH1 0x40 000006d3: MLOAD 000006d4: SWAP1 000006d5: DUP2 000006d6: ADD 000006d7: PUSH1 0x40 000006d9: MSTORE 000006da: DUP1 000006db: DUP5 000006dc: DUP2 000006dd: MSTORE 000006de: PUSH1 0x20 000006e0: ADD 000006e1: TIMESTAMP 000006e2: DUP2 000006e3: MSTORE 000006e4: PUSH1 0x20 000006e6: ADD 000006e7: POP 000006e8: DUP2 000006e9: PUSH1 0x00 000006eb: ADD 000006ec: PUSH1 0x00 000006ee: POP 000006ef: PUSH1 0x00 000006f1: PUSH1 0x00 000006f3: DUP2 000006f4: MSTORE 000006f5: PUSH1 0x20 000006f7: ADD 000006f8: SWAP1 000006f9: DUP2 000006fa: MSTORE 000006fb: PUSH1 0x20 000006fd: ADD 000006fe: PUSH1 0x00 00000700: KECCAK256 00000701: PUSH1 0x00 00000703: POP 00000704: PUSH1 0x00 00000706: DUP3 00000707: ADD 00000708: MLOAD 00000709: DUP2 0000070a: PUSH1 0x00 0000070c: ADD 0000070d: PUSH1 0x00 0000070f: POP 00000710: SSTORE 00000711: PUSH1 0x20 00000713: DUP3 00000714: ADD 00000715: MLOAD 00000716: DUP2 00000717: PUSH1 0x01 00000719: ADD 0000071a: PUSH1 0x00 0000071c: POP 0000071d: SSTORE 0000071e: SWAP1 0000071f: POP 00000720: POP 00000721: DUP1 00000722: PUSH1 0x02 00000724: ADD 00000725: PUSH1 0x00 00000727: DUP2 00000728: DUP2 00000729: POP 0000072a: SLOAD 0000072b: PUSH1 0x01 0000072d: ADD 0000072e: SWAP2 0000072f: SWAP1 00000730: POP 00000731: DUP2 00000732: SWAP1 00000733: SSTORE 00000734: POP 00000735: JUMPDEST 00000736: POP 00000737: POP 00000738: POP 00000739: POP 0000073a: JUMP 0000073b: JUMPDEST 0000073c: PUSH1 0x00 0000073e: PUSH1 0x00 00000740: PUSH1 0x00 00000742: PUSH1 0x00 00000744: POP 00000745: PUSH1 0x00 00000747: PUSH1 0x00 00000749: DUP2 0000074a: MSTORE 0000074b: PUSH1 0x20 0000074d: ADD 0000074e: SWAP1 0000074f: DUP2 00000750: MSTORE 00000751: PUSH1 0x20 00000753: ADD 00000754: PUSH1 0x00 00000756: KECCAK256 00000757: PUSH1 0x00 00000759: POP 0000075a: SWAP2 0000075b: POP 0000075c: PUSH1 0x00 0000075e: SWAP1 0000075f: POP 00000760: JUMPDEST 00000761: DUP3 00000762: MLOAD 00000763: DUP2 00000764: LT 00000765: ISZERO 00000766: PUSH2 0x0795 00000769: JUMPI 0000076a: PUSH2 0x0787 0000076d: DUP2 0000076e: DUP5 0000076f: DUP4 00000770: DUP2 00000771: MLOAD 00000772: DUP2 00000773: LT 00000774: ISZERO 00000775: PUSH2 0x0002 00000778: JUMPI 00000779: SWAP1 0000077a: PUSH1 0x20 0000077c: ADD 0000077d: SWAP1 0000077e: PUSH1 0x20 00000780: MUL 00000781: ADD 00000782: MLOAD 00000783: PUSH2 0x0691 00000786: JUMP 00000787: JUMPDEST 00000788: JUMPDEST 00000789: DUP1 0000078a: DUP1 0000078b: PUSH1 0x01 0000078d: ADD 0000078e: SWAP2 0000078f: POP 00000790: POP 00000791: PUSH2 0x0760 00000794: JUMP 00000795: JUMPDEST 00000796: JUMPDEST 00000797: POP 00000798: POP 00000799: POP 0000079a: JUMP 0000079b: JUMPDEST 0000079c: PUSH1 0x00 0000079e: ADDRESS 0000079f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007b4: AND 000007b5: BALANCE 000007b6: SWAP1 000007b7: POP 000007b8: PUSH2 0x07bc 000007bb: JUMP 000007bc: JUMPDEST 000007bd: SWAP1 000007be: JUMP 000007bf: JUMPDEST 000007c0: PUSH1 0x00 000007c2: PUSH1 0x00 000007c4: PUSH1 0x00 000007c6: PUSH1 0x00 000007c8: POP 000007c9: PUSH1 0x00 000007cb: PUSH1 0x00 000007cd: DUP2 000007ce: MSTORE 000007cf: PUSH1 0x20 000007d1: ADD 000007d2: SWAP1 000007d3: DUP2 000007d4: MSTORE 000007d5: PUSH1 0x20 000007d7: ADD 000007d8: PUSH1 0x00 000007da: KECCAK256 000007db: PUSH1 0x00 000007dd: POP 000007de: SWAP1 000007df: POP 000007e0: DUP1 000007e1: PUSH1 0x06 000007e3: ADD 000007e4: PUSH1 0x00 000007e6: POP 000007e7: SLOAD 000007e8: SWAP2 000007e9: POP 000007ea: PUSH2 0x07ee 000007ed: JUMP 000007ee: JUMPDEST 000007ef: POP 000007f0: SWAP1 000007f1: JUMP 000007f2: JUMPDEST 000007f3: PUSH1 0x00 000007f5: PUSH1 0x00 000007f7: PUSH1 0x00 000007f9: PUSH1 0x00 000007fb: POP 000007fc: PUSH1 0x00 000007fe: PUSH1 0x00 00000800: DUP2 00000801: MSTORE 00000802: PUSH1 0x20 00000804: ADD 00000805: SWAP1 00000806: DUP2 00000807: MSTORE 00000808: PUSH1 0x20 0000080a: ADD 0000080b: PUSH1 0x00 0000080d: KECCAK256 0000080e: PUSH1 0x00 00000810: POP 00000811: SWAP1 00000812: POP 00000813: DUP1 00000814: PUSH1 0x05 00000816: ADD 00000817: PUSH1 0x00 00000819: POP 0000081a: SLOAD 0000081b: SWAP2 0000081c: POP 0000081d: PUSH2 0x0821 00000820: JUMP 00000821: JUMPDEST 00000822: POP 00000823: SWAP1 00000824: JUMP 00000825: JUMPDEST 00000826: PUSH1 0x00 00000828: PUSH1 0x00 0000082a: PUSH1 0x00 0000082c: PUSH1 0x00 0000082e: POP 0000082f: PUSH1 0x00 00000831: PUSH1 0x00 00000833: DUP2 00000834: MSTORE 00000835: PUSH1 0x20 00000837: ADD 00000838: SWAP1 00000839: DUP2 0000083a: MSTORE 0000083b: PUSH1 0x20 0000083d: ADD 0000083e: PUSH1 0x00 00000840: KECCAK256 00000841: PUSH1 0x00 00000843: POP 00000844: SWAP1 00000845: POP 00000846: DUP1 00000847: PUSH1 0x07 00000849: ADD 0000084a: PUSH1 0x00 0000084c: POP 0000084d: SLOAD 0000084e: SWAP2 0000084f: POP 00000850: PUSH2 0x0854 00000853: JUMP 00000854: JUMPDEST 00000855: POP 00000856: SWAP1 00000857: JUMP 00000858: JUMPDEST 00000859: PUSH1 0x00 0000085b: PUSH1 0x00 0000085d: PUSH1 0x00 0000085f: PUSH1 0x00 00000861: PUSH1 0x00 00000863: POP 00000864: PUSH1 0x00 00000866: PUSH1 0x00 00000868: DUP2 00000869: MSTORE 0000086a: PUSH1 0x20 0000086c: ADD 0000086d: SWAP1 0000086e: DUP2 0000086f: MSTORE 00000870: PUSH1 0x20 00000872: ADD 00000873: PUSH1 0x00 00000875: KECCAK256 00000876: PUSH1 0x00 00000878: POP 00000879: SWAP2 0000087a: POP 0000087b: DUP2 0000087c: PUSH1 0x00 0000087e: ADD 0000087f: PUSH1 0x00 00000881: POP 00000882: PUSH1 0x00 00000884: DUP6 00000885: DUP2 00000886: MSTORE 00000887: PUSH1 0x20 00000889: ADD 0000088a: SWAP1 0000088b: DUP2 0000088c: MSTORE 0000088d: PUSH1 0x20 0000088f: ADD 00000890: PUSH1 0x00 00000892: KECCAK256 00000893: PUSH1 0x00 00000895: POP 00000896: SWAP1 00000897: POP 00000898: DUP1 00000899: PUSH1 0x00 0000089b: ADD 0000089c: PUSH1 0x00 0000089e: SWAP1 0000089f: SLOAD 000008a0: SWAP1 000008a1: PUSH2 0x0100 000008a4: EXP 000008a5: SWAP1 000008a6: DIV 000008a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008bc: AND 000008bd: SWAP3 000008be: POP 000008bf: PUSH2 0x08c3 000008c2: JUMP 000008c3: JUMPDEST 000008c4: POP 000008c5: POP 000008c6: SWAP2 000008c7: SWAP1 000008c8: POP 000008c9: JUMP 000008ca: JUMPDEST 000008cb: PUSH1 0x00 000008cd: PUSH1 0x00 000008cf: PUSH1 0x00 000008d1: PUSH1 0x00 000008d3: PUSH1 0x00 000008d5: PUSH1 0x00 000008d7: POP 000008d8: PUSH1 0x00 000008da: PUSH1 0x00 000008dc: DUP2 000008dd: MSTORE 000008de: PUSH1 0x20 000008e0: ADD 000008e1: SWAP1 000008e2: DUP2 000008e3: MSTORE 000008e4: PUSH1 0x20 000008e6: ADD 000008e7: PUSH1 0x00 000008e9: KECCAK256 000008ea: PUSH1 0x00 000008ec: POP 000008ed: SWAP4 000008ee: POP 000008ef: DUP4 000008f0: PUSH1 0x02 000008f2: ADD 000008f3: PUSH1 0x00 000008f5: SWAP1 000008f6: SLOAD 000008f7: SWAP1 000008f8: PUSH2 0x0100 000008fb: EXP 000008fc: SWAP1 000008fd: DIV 000008fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000913: AND 00000914: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000929: AND 0000092a: CALLER 0000092b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000940: AND 00000941: EQ 00000942: ISZERO 00000943: PUSH2 0x0a09 00000946: JUMPI 00000947: PUSH1 0x00 00000949: SWAP3 0000094a: POP 0000094b: JUMPDEST 0000094c: DUP4 0000094d: PUSH1 0x05 0000094f: ADD 00000950: PUSH1 0x00 00000952: POP 00000953: SLOAD 00000954: DUP4 00000955: LT 00000956: ISZERO 00000957: PUSH2 0x0a04 0000095a: JUMPI 0000095b: DUP4 0000095c: PUSH1 0x00 0000095e: ADD 0000095f: PUSH1 0x00 00000961: POP 00000962: PUSH1 0x00 00000964: DUP5 00000965: DUP2 00000966: MSTORE 00000967: PUSH1 0x20 00000969: ADD 0000096a: SWAP1 0000096b: DUP2 0000096c: MSTORE 0000096d: PUSH1 0x20 0000096f: ADD 00000970: PUSH1 0x00 00000972: KECCAK256 00000973: PUSH1 0x00 00000975: POP 00000976: SWAP2 00000977: POP 00000978: DUP2 00000979: PUSH1 0x01 0000097b: ADD 0000097c: PUSH1 0x00 0000097e: POP 0000097f: SLOAD 00000980: DUP6 00000981: MUL 00000982: SWAP1 00000983: POP 00000984: DUP1 00000985: ADDRESS 00000986: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000099b: AND 0000099c: BALANCE 0000099d: LT 0000099e: ISZERO 0000099f: ISZERO 000009a0: PUSH2 0x09f1 000009a3: JUMPI 000009a4: PUSH1 0x01 000009a6: DUP3 000009a7: PUSH1 0x02 000009a9: ADD 000009aa: PUSH1 0x00 000009ac: SWAP1 000009ad: SLOAD 000009ae: SWAP1 000009af: PUSH2 0x0100 000009b2: EXP 000009b3: SWAP1 000009b4: DIV 000009b5: PUSH1 0xff 000009b7: AND 000009b8: EQ 000009b9: ISZERO 000009ba: PUSH2 0x09ec 000009bd: JUMPI 000009be: PUSH2 0x09eb 000009c1: DUP3 000009c2: PUSH1 0x00 000009c4: ADD 000009c5: PUSH1 0x00 000009c7: SWAP1 000009c8: SLOAD 000009c9: SWAP1 000009ca: PUSH2 0x0100 000009cd: EXP 000009ce: SWAP1 000009cf: DIV 000009d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009e5: AND 000009e6: DUP3 000009e7: PUSH2 0x0340 000009ea: JUMP 000009eb: JUMPDEST 000009ec: JUMPDEST 000009ed: PUSH2 0x09f6 000009f0: JUMP 000009f1: JUMPDEST 000009f2: PUSH2 0x0002 000009f5: JUMP 000009f6: JUMPDEST 000009f7: JUMPDEST 000009f8: DUP3 000009f9: DUP1 000009fa: PUSH1 0x01 000009fc: ADD 000009fd: SWAP4 000009fe: POP 000009ff: POP 00000a00: PUSH2 0x094b 00000a03: JUMP 00000a04: JUMPDEST 00000a05: PUSH2 0x0a0e 00000a08: JUMP 00000a09: JUMPDEST 00000a0a: PUSH2 0x0002 00000a0d: JUMP 00000a0e: JUMPDEST 00000a0f: JUMPDEST 00000a10: POP 00000a11: POP 00000a12: POP 00000a13: POP 00000a14: POP 00000a15: JUMP 00000a16: JUMPDEST 00000a17: PUSH1 0x00 00000a19: PUSH1 0x00 00000a1b: PUSH1 0x00 00000a1d: PUSH1 0x00 00000a1f: PUSH1 0x00 00000a21: PUSH1 0x00 00000a23: POP 00000a24: PUSH1 0x00 00000a26: PUSH1 0x00 00000a28: DUP2 00000a29: MSTORE 00000a2a: PUSH1 0x20 00000a2c: ADD 00000a2d: SWAP1 00000a2e: DUP2 00000a2f: MSTORE 00000a30: PUSH1 0x20 00000a32: ADD 00000a33: PUSH1 0x00 00000a35: KECCAK256 00000a36: PUSH1 0x00 00000a38: POP 00000a39: SWAP4 00000a3a: POP 00000a3b: DUP4 00000a3c: PUSH1 0x02 00000a3e: ADD 00000a3f: PUSH1 0x00 00000a41: SWAP1 00000a42: SLOAD 00000a43: SWAP1 00000a44: PUSH2 0x0100 00000a47: EXP 00000a48: SWAP1 00000a49: DIV 00000a4a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a5f: AND 00000a60: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a75: AND 00000a76: CALLER 00000a77: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a8c: AND 00000a8d: EQ 00000a8e: ISZERO 00000a8f: PUSH2 0x0b5a 00000a92: JUMPI 00000a93: PUSH1 0x00 00000a95: SWAP3 00000a96: POP 00000a97: JUMPDEST 00000a98: DUP4 00000a99: PUSH1 0x07 00000a9b: ADD 00000a9c: PUSH1 0x00 00000a9e: POP 00000a9f: SLOAD 00000aa0: DUP4 00000aa1: LT 00000aa2: ISZERO 00000aa3: PUSH2 0x0b55 00000aa6: JUMPI 00000aa7: DUP4 00000aa8: PUSH1 0x01 00000aaa: ADD 00000aab: PUSH1 0x00 00000aad: POP 00000aae: PUSH1 0x00 00000ab0: DUP5 00000ab1: DUP2 00000ab2: MSTORE 00000ab3: PUSH1 0x20 00000ab5: ADD 00000ab6: SWAP1 00000ab7: DUP2 00000ab8: MSTORE 00000ab9: PUSH1 0x20 00000abb: ADD 00000abc: PUSH1 0x00 00000abe: KECCAK256 00000abf: PUSH1 0x00 00000ac1: POP 00000ac2: SWAP2 00000ac3: POP 00000ac4: DUP2 00000ac5: PUSH1 0x00 00000ac7: ADD 00000ac8: PUSH1 0x00 00000aca: POP 00000acb: PUSH1 0x00 00000acd: PUSH1 0x00 00000acf: DUP2 00000ad0: MSTORE 00000ad1: PUSH1 0x20 00000ad3: ADD 00000ad4: SWAP1 00000ad5: DUP2 00000ad6: MSTORE 00000ad7: PUSH1 0x20 00000ad9: ADD 00000ada: PUSH1 0x00 00000adc: KECCAK256 00000add: PUSH1 0x00 00000adf: POP 00000ae0: SWAP1 00000ae1: POP 00000ae2: DUP1 00000ae3: PUSH1 0x00 00000ae5: ADD 00000ae6: PUSH1 0x00 00000ae8: POP 00000ae9: SLOAD 00000aea: ADDRESS 00000aeb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b00: AND 00000b01: BALANCE 00000b02: LT 00000b03: ISZERO 00000b04: ISZERO 00000b05: PUSH2 0x0b42 00000b08: JUMPI 00000b09: PUSH2 0x0b3d 00000b0c: DUP3 00000b0d: PUSH1 0x01 00000b0f: ADD 00000b10: PUSH1 0x00 00000b12: SWAP1 00000b13: SLOAD 00000b14: SWAP1 00000b15: PUSH2 0x0100 00000b18: EXP 00000b19: SWAP1 00000b1a: DIV 00000b1b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b30: AND 00000b31: DUP3 00000b32: PUSH1 0x00 00000b34: ADD 00000b35: PUSH1 0x00 00000b37: POP 00000b38: SLOAD 00000b39: PUSH2 0x0340 00000b3c: JUMP 00000b3d: JUMPDEST 00000b3e: PUSH2 0x0b47 00000b41: JUMP 00000b42: JUMPDEST 00000b43: PUSH2 0x0002 00000b46: JUMP 00000b47: JUMPDEST 00000b48: JUMPDEST 00000b49: DUP3 00000b4a: DUP1 00000b4b: PUSH1 0x01 00000b4d: ADD 00000b4e: SWAP4 00000b4f: POP 00000b50: POP 00000b51: PUSH2 0x0a97 00000b54: JUMP 00000b55: JUMPDEST 00000b56: PUSH2 0x0b5f 00000b59: JUMP 00000b5a: JUMPDEST 00000b5b: PUSH2 0x0002 00000b5e: JUMP 00000b5f: JUMPDEST 00000b60: JUMPDEST 00000b61: POP 00000b62: POP 00000b63: POP 00000b64: POP 00000b65: JUMP 00000b66: JUMPDEST 00000b67: PUSH1 0x00 00000b69: PUSH1 0x00 00000b6b: PUSH1 0x00 00000b6d: POP 00000b6e: PUSH1 0x00 00000b70: PUSH1 0x00 00000b72: DUP2 00000b73: MSTORE 00000b74: PUSH1 0x20 00000b76: ADD 00000b77: SWAP1 00000b78: DUP2 00000b79: MSTORE 00000b7a: PUSH1 0x20 00000b7c: ADD 00000b7d: PUSH1 0x00 00000b7f: KECCAK256 00000b80: PUSH1 0x00 00000b82: POP 00000b83: SWAP1 00000b84: POP 00000b85: DUP1 00000b86: PUSH1 0x02 00000b88: ADD 00000b89: PUSH1 0x00 00000b8b: SWAP1 00000b8c: SLOAD 00000b8d: SWAP1 00000b8e: PUSH2 0x0100 00000b91: EXP 00000b92: SWAP1 00000b93: DIV 00000b94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ba9: AND 00000baa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bbf: AND 00000bc0: SELFDESTRUCT 00000bc1: JUMPDEST 00000bc2: POP 00000bc3: JUMP
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.
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0xf98ea12e3039d652abd9f889e7d14bcff2597b6567e38b051cb573dd80108ea3
call_targets:
0x909aa7010f67a1b2522daffb2a9b30519c4f6aa1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xf98ea12e3039d652abd9f889e7d14bcff2597b6567e38b051cb573dd80108ea3",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x909aa7010f67a1b2522daffb2a9b30519c4f6aa1"
],
"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": "0x12065fe0",
"selector": "0x12065fe0",
"calldata_variants": [
"0x12065fe0",
"0x12065fe00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x35f46994",
"selector": "0x35f46994",
"calldata_variants": [
"0x35f46994",
"0x35f469940000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5dea5e47",
"selector": "0x5dea5e47",
"calldata_variants": [
"0x5dea5e47",
"0x5dea5e470000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x690b90a9",
"selector": "0x690b90a9",
"calldata_variants": [
"0x690b90a9",
"0x690b90a90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6adcef6b",
"selector": "0x6adcef6b",
"calldata_variants": [
"0x6adcef6b",
"0x6adcef6b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6ccb5d02",
"selector": "0x6ccb5d02",
"calldata_variants": [
"0x6ccb5d02",
"0x6ccb5d020000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x75724990",
"selector": "0x75724990",
"calldata_variants": [
"0x75724990",
"0x757249900000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7f616488",
"selector": "0x7f616488",
"calldata_variants": [
"0x7f616488",
"0x7f6164880000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1001,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 2346,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2678,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0xf98ea12e3039d652abd9f889e7d14bcff2597b6567e38b051cb573dd80108ea3
call_targets:
0x909aa7010f67a1b2522daffb2a9b30519c4f6aa1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xf98ea12e3039d652abd9f889e7d14bcff2597b6567e38b051cb573dd80108ea3",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x909aa7010f67a1b2522daffb2a9b30519c4f6aa1"
],
"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": "0x12065fe0",
"selector": "0x12065fe0",
"calldata_variants": [
"0x12065fe0",
"0x12065fe00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x35f46994",
"selector": "0x35f46994",
"calldata_variants": [
"0x35f46994",
"0x35f469940000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5dea5e47",
"selector": "0x5dea5e47",
"calldata_variants": [
"0x5dea5e47",
"0x5dea5e470000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x690b90a9",
"selector": "0x690b90a9",
"calldata_variants": [
"0x690b90a9",
"0x690b90a90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6adcef6b",
"selector": "0x6adcef6b",
"calldata_variants": [
"0x6adcef6b",
"0x6adcef6b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6ccb5d02",
"selector": "0x6ccb5d02",
"calldata_variants": [
"0x6ccb5d02",
"0x6ccb5d020000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x75724990",
"selector": "0x75724990",
"calldata_variants": [
"0x75724990",
"0x757249900000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7f616488",
"selector": "0x7f616488",
"calldata_variants": [
"0x7f616488",
"0x7f6164880000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1001,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 2346,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2678,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | SELFDESTRUCT reachable | 45 | yes | yes |
viewtrace_id: 0xbbc67d89904b911d7ef14d43769451addb617596eb766b9ddd346e13728a769d
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "confirmed",
"attempts": 3,
"trace_id": "0xbbc67d89904b911d7ef14d43769451addb617596eb766b9ddd346e13728a769d",
"confirmed": true,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "sink_reached"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x12065fe0",
"selector": "0x12065fe0",
"calldata_variants": [
"0x12065fe0",
"0x12065fe00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x35f46994",
"selector": "0x35f46994",
"calldata_variants": [
"0x35f46994",
"0x35f469940000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5dea5e47",
"selector": "0x5dea5e47",
"calldata_variants": [
"0x5dea5e47",
"0x5dea5e470000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x690b90a9",
"selector": "0x690b90a9",
"calldata_variants": [
"0x690b90a9",
"0x690b90a90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6adcef6b",
"selector": "0x6adcef6b",
"calldata_variants": [
"0x6adcef6b",
"0x6adcef6b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6ccb5d02",
"selector": "0x6ccb5d02",
"calldata_variants": [
"0x6ccb5d02",
"0x6ccb5d020000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x75724990",
"selector": "0x75724990",
"calldata_variants": [
"0x75724990",
"0x757249900000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7f616488",
"selector": "0x7f616488",
"calldata_variants": [
"0x7f616488",
"0x7f6164880000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 2346,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2678,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"selfdestruct_count": 1
}
|