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