438bc7e1-aa81-4613-928b-887b29687f2c
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 |
|---|---|---|---|---|
| 30776 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 75652 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 75653 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 75654 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 75655 | capability.graph | complete | 1 / 3 | 1 week ago |
| 75656 | detector.run | complete | 1 / 3 | 1 week ago |
| 75657 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:431063] OpenAI Codex v0.77.0 (research preview)
[codex:431063] --------
[codex:431063] workdir: /tmp/codex-multi-5sg0jsq1
[codex:431063] model: gpt-5.2-codex
[codex:431063] provider: openai
[codex:431063] approval: never
[codex:431063] sandbox: read-only
[codex:431063] reasoning effort: xhigh
[codex:431063] reasoning summaries: auto
[codex:431063] session id: 019b7122-3a48-7333-bf14-31e89f653e18
[codex:431063] --------
[codex:431063] user
[codex:431063] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:431063] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:431063] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:431063]
[codex:431063] Scope rules:
[codex:431063] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:431063] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:431063]
[codex:431063] Output MUST be valid JSON matching the provided schema.
[codex:431063] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:431063] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:431063]
[codex:431063] Output constraints (IMPORTANT):
[codex:431063] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:431063] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:431063] mcp startup: no servers
[codex:431063]
[codex:431063] thinking
[codex:431063] **Preparing to review AGENTS instructions**
[codex:431063] exec
[codex:431063] /bin/bash -lc ls in /tmp/codex-multi-5sg0jsq1 succeeded in 5ms:
[codex:431063] AUDIT_BUNDLE.txt
[codex:431063] codex-output-schema.json
[codex:431063] contracts
[codex:431063] exec
[codex:431063] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-5sg0jsq1 succeeded in 6ms:
[codex:431063] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:431063]
[codex:431063] ================================================================================
[codex:431063] FILE: contracts/Contract.sol
[codex:431063] ================================================================================
[codex:431063] /**
[codex:431063] * Copyright 2017-2019, bZeroX, LLC. All Rights Reserved.
[codex:431063] * Licensed under the Apache License, Version 2.0.
[codex:431063] */
[codex:431063]
[codex:431063] pragma solidity 0.5.8;
[codex:431063]
[codex:431063]
[codex:431063] /**
[codex:431063] * @title ERC20Basic
[codex:431063] * @dev Simpler version of ERC20 interface
[codex:431063] * See https://github.com/ethereum/EIPs/issues/179
[codex:431063] */
[codex:431063] contract ERC20Basic {
[codex:431063] function totalSupply() public view returns (uint256);
[codex:431063]
[codex:431063] thinking
[codex:431063] **Evaluating proxy contract vulnerabilities**
[codex:431063]
[codex:431063] I'm reviewing the proxy contract's upgradeability and delegatecall usage to identify potential security risks. So far, it looks like a minimal proxy pattern with owner-controlled upgrade, typical delegatecall fallback, and access controls ensuring only the owner can set the target. I'm noting the absence of initialization issues or reentrancy risks and confirming the contract's safety measures like requiring the new target to be a deployed contract. Overall, it seems secure with no exploitable vulnerabilities found.
[codex:431063] codex
[codex:431063] {"no_findings":true,"summary":"No exploitable vulnerabilities identified in the provided first-party contracts; code is primarily storage definitions and a standard owner-upgradeable delegatecall proxy.","findings":[]}
[codex:431063] tokens used
[codex:431063] 6,218
[codex:431063] {"no_findings":true,"summary":"No exploitable vulnerabilities identified in the provided first-party contracts; code is primarily storage definitions and a standard owner-upgradeable delegatecall proxy.","findings":[]}
{
"codex": {
"ran_at": "2025-12-30T21:20:54.924580+00:00",
"returncode": 0
},
"summary": "No exploitable vulnerabilities identified in the provided first-party contracts; code is primarily storage definitions and a standard owner-upgradeable delegatecall proxy.",
"raw_final": {
"summary": "No exploitable vulnerabilities identified in the provided first-party contracts; code is primarily storage definitions and a standard owner-upgradeable delegatecall proxy.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x01ee 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x8eb955e2 00000019: GT 0000001a: PUSH2 0x010d 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xbc29af14 00000024: GT 00000025: PUSH2 0x00a0 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xdd62ed3e 0000002f: GT 00000030: PUSH2 0x006f 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xdd62ed3e 0000003a: EQ 0000003b: PUSH2 0x061b 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xe1a283d6 00000045: EQ 00000046: PUSH2 0x0656 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xeaa05002 00000050: EQ 00000051: PUSH2 0x066b 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf2fde38b 0000005b: EQ 0000005c: PUSH2 0x0680 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf41e4e6a 00000066: EQ 00000067: PUSH2 0x06b3 0000006a: JUMPI 0000006b: PUSH2 0x01ee 0000006e: JUMP 0000006f: JUMPDEST 00000070: DUP1 00000071: PUSH4 0xbc29af14 00000076: EQ 00000077: PUSH2 0x058b 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xc20c49ec 00000081: EQ 00000082: PUSH2 0x05a0 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0xd05daa04 0000008c: EQ 0000008d: PUSH2 0x05b5 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0xdb72da2c 00000097: EQ 00000098: PUSH2 0x05e8 0000009b: JUMPI 0000009c: PUSH2 0x01ee 0000009f: JUMP 000000a0: JUMPDEST 000000a1: DUP1 000000a2: PUSH4 0x995363d3 000000a7: GT 000000a8: PUSH2 0x00dc 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0x995363d3 000000b2: EQ 000000b3: PUSH2 0x0537 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0xa5507b35 000000bd: EQ 000000be: PUSH2 0x054c 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0xab47c2b3 000000c8: EQ 000000c9: PUSH2 0x0561 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0xb2aff0fe 000000d3: EQ 000000d4: PUSH2 0x0576 000000d7: JUMPI 000000d8: PUSH2 0x01ee 000000db: JUMP 000000dc: JUMPDEST 000000dd: DUP1 000000de: PUSH4 0x8eb955e2 000000e3: EQ 000000e4: PUSH2 0x04e3 000000e7: JUMPI 000000e8: DUP1 000000e9: PUSH4 0x95d89b41 000000ee: EQ 000000ef: PUSH2 0x04f8 000000f2: JUMPI 000000f3: DUP1 000000f4: PUSH4 0x96c7871b 000000f9: EQ 000000fa: PUSH2 0x050d 000000fd: JUMPI 000000fe: DUP1 000000ff: PUSH4 0x9788b5bb 00000104: EQ 00000105: PUSH2 0x0522 00000108: JUMPI 00000109: PUSH2 0x01ee 0000010c: JUMP 0000010d: JUMPDEST 0000010e: DUP1 0000010f: PUSH4 0x4780eac1 00000114: GT 00000115: PUSH2 0x0185 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0x797bf385 0000011f: GT 00000120: PUSH2 0x0154 00000123: JUMPI 00000124: DUP1 00000125: PUSH4 0x797bf385 0000012a: EQ 0000012b: PUSH2 0x047b 0000012e: JUMPI 0000012f: DUP1 00000130: PUSH4 0x833c1d95 00000135: EQ 00000136: PUSH2 0x0490 00000139: JUMPI 0000013a: DUP1 0000013b: PUSH4 0x894ca308 00000140: EQ 00000141: PUSH2 0x04b9 00000144: JUMPI 00000145: DUP1 00000146: PUSH4 0x8da5cb5b 0000014b: EQ 0000014c: PUSH2 0x04ce 0000014f: JUMPI 00000150: PUSH2 0x01ee 00000153: JUMP 00000154: JUMPDEST 00000155: DUP1 00000156: PUSH4 0x4780eac1 0000015b: EQ 0000015c: PUSH2 0x03cf 0000015f: JUMPI 00000160: DUP1 00000161: PUSH4 0x4858064c 00000166: EQ 00000167: PUSH2 0x0400 0000016a: JUMPI 0000016b: DUP1 0000016c: PUSH4 0x70a08231 00000171: EQ 00000172: PUSH2 0x0415 00000175: JUMPI 00000176: DUP1 00000177: PUSH4 0x776d1a01 0000017c: EQ 0000017d: PUSH2 0x0448 00000180: JUMPI 00000181: PUSH2 0x01ee 00000184: JUMP 00000185: JUMPDEST 00000186: DUP1 00000187: PUSH4 0x1d0806ae 0000018c: GT 0000018d: PUSH2 0x01c1 00000190: JUMPI 00000191: DUP1 00000192: PUSH4 0x1d0806ae 00000197: EQ 00000198: PUSH2 0x0335 0000019b: JUMPI 0000019c: DUP1 0000019d: PUSH4 0x304c28ee 000001a2: EQ 000001a3: PUSH2 0x034a 000001a6: JUMPI 000001a7: DUP1 000001a8: PUSH4 0x313ce567 000001ad: EQ 000001ae: PUSH2 0x0378 000001b1: JUMPI 000001b2: DUP1 000001b3: PUSH4 0x359803cd 000001b8: EQ 000001b9: PUSH2 0x03a3 000001bc: JUMPI 000001bd: PUSH2 0x01ee 000001c0: JUMP 000001c1: JUMPDEST 000001c2: DUP1 000001c3: PUSH4 0x06b1884d 000001c8: EQ 000001c9: PUSH2 0x025a 000001cc: JUMPI 000001cd: DUP1 000001ce: PUSH4 0x06fdde03 000001d3: EQ 000001d4: PUSH2 0x0281 000001d7: JUMPI 000001d8: DUP1 000001d9: PUSH4 0x150d97ff 000001de: EQ 000001df: PUSH2 0x030b 000001e2: JUMPI 000001e3: DUP1 000001e4: PUSH4 0x18160ddd 000001e9: EQ 000001ea: PUSH2 0x0320 000001ed: JUMPI 000001ee: JUMPDEST 000001ef: PUSH1 0x1c 000001f1: SLOAD 000001f2: PUSH1 0x40 000001f4: DUP1 000001f5: MLOAD 000001f6: PUSH1 0x20 000001f8: CALLDATASIZE 000001f9: PUSH1 0x1f 000001fb: DUP2 000001fc: ADD 000001fd: DUP3 000001fe: SWAP1 000001ff: DIV 00000200: DUP3 00000201: MUL 00000202: DUP4 00000203: ADD 00000204: DUP3 00000205: ADD 00000206: SWAP1 00000207: SWAP4 00000208: MSTORE 00000209: DUP3 0000020a: DUP3 0000020b: MSTORE 0000020c: PUSH1 0x01 0000020e: PUSH1 0x01 00000210: PUSH1 0xa0 00000212: SHL 00000213: SUB 00000214: SWAP1 00000215: SWAP4 00000216: AND 00000217: SWAP3 00000218: PUSH1 0x60 0000021a: SWAP3 0000021b: PUSH1 0x00 0000021d: SWAP2 0000021e: DUP2 0000021f: SWAP1 00000220: DUP5 00000221: ADD 00000222: DUP4 00000223: DUP3 00000224: DUP1 00000225: DUP3 00000226: DUP5 00000227: CALLDATACOPY 00000228: PUSH1 0x00 0000022a: SWAP3 0000022b: ADD 0000022c: DUP3 0000022d: SWAP1 0000022e: MSTORE 0000022f: POP 00000230: DUP5 00000231: MLOAD 00000232: SWAP5 00000233: SWAP6 00000234: POP 00000235: SWAP4 00000236: DUP5 00000237: SWAP4 00000238: POP 00000239: SWAP2 0000023a: POP 0000023b: POP 0000023c: PUSH1 0x20 0000023e: DUP5 0000023f: ADD 00000240: DUP6 00000241: GAS 00000242: DELEGATECALL 00000243: RETURNDATASIZE 00000244: PUSH1 0x40 00000246: MLOAD 00000247: DUP2 00000248: PUSH1 0x00 0000024a: DUP3 0000024b: RETURNDATACOPY 0000024c: DUP3 0000024d: DUP1 0000024e: ISZERO 0000024f: PUSH2 0x0256 00000252: JUMPI 00000253: DUP3 00000254: DUP3 00000255: RETURN 00000256: JUMPDEST 00000257: DUP3 00000258: DUP3 00000259: REVERT 0000025a: JUMPDEST 0000025b: CALLVALUE 0000025c: DUP1 0000025d: ISZERO 0000025e: PUSH2 0x0266 00000261: JUMPI 00000262: PUSH1 0x00 00000264: DUP1 00000265: REVERT 00000266: JUMPDEST 00000267: POP 00000268: PUSH2 0x026f 0000026b: PUSH2 0x06c8 0000026e: JUMP 0000026f: JUMPDEST 00000270: PUSH1 0x40 00000272: DUP1 00000273: MLOAD 00000274: SWAP2 00000275: DUP3 00000276: MSTORE 00000277: MLOAD 00000278: SWAP1 00000279: DUP2 0000027a: SWAP1 0000027b: SUB 0000027c: PUSH1 0x20 0000027e: ADD 0000027f: SWAP1 00000280: RETURN 00000281: JUMPDEST 00000282: CALLVALUE 00000283: DUP1 00000284: ISZERO 00000285: PUSH2 0x028d 00000288: JUMPI 00000289: PUSH1 0x00 0000028b: DUP1 0000028c: REVERT 0000028d: JUMPDEST 0000028e: POP 0000028f: PUSH2 0x0296 00000292: PUSH2 0x06ce 00000295: JUMP 00000296: JUMPDEST 00000297: PUSH1 0x40 00000299: DUP1 0000029a: MLOAD 0000029b: PUSH1 0x20 0000029d: DUP1 0000029e: DUP3 0000029f: MSTORE 000002a0: DUP4 000002a1: MLOAD 000002a2: DUP2 000002a3: DUP4 000002a4: ADD 000002a5: MSTORE 000002a6: DUP4 000002a7: MLOAD 000002a8: SWAP2 000002a9: SWAP3 000002aa: DUP4 000002ab: SWAP3 000002ac: SWAP1 000002ad: DUP4 000002ae: ADD 000002af: SWAP2 000002b0: DUP6 000002b1: ADD 000002b2: SWAP1 000002b3: DUP1 000002b4: DUP4 000002b5: DUP4 000002b6: PUSH1 0x00 000002b8: JUMPDEST 000002b9: DUP4 000002ba: DUP2 000002bb: LT 000002bc: ISZERO 000002bd: PUSH2 0x02d0 000002c0: JUMPI 000002c1: DUP2 000002c2: DUP2 000002c3: ADD 000002c4: MLOAD 000002c5: DUP4 000002c6: DUP3 000002c7: ADD 000002c8: MSTORE 000002c9: PUSH1 0x20 000002cb: ADD 000002cc: PUSH2 0x02b8 000002cf: JUMP 000002d0: JUMPDEST 000002d1: POP 000002d2: POP 000002d3: POP 000002d4: POP 000002d5: SWAP1 000002d6: POP 000002d7: SWAP1 000002d8: DUP2 000002d9: ADD 000002da: SWAP1 000002db: PUSH1 0x1f 000002dd: AND 000002de: DUP1 000002df: ISZERO 000002e0: PUSH2 0x02fd 000002e3: JUMPI 000002e4: DUP1 000002e5: DUP3 000002e6: SUB 000002e7: DUP1 000002e8: MLOAD 000002e9: PUSH1 0x01 000002eb: DUP4 000002ec: PUSH1 0x20 000002ee: SUB 000002ef: PUSH2 0x0100 000002f2: EXP 000002f3: SUB 000002f4: NOT 000002f5: AND 000002f6: DUP2 000002f7: MSTORE 000002f8: PUSH1 0x20 000002fa: ADD 000002fb: SWAP2 000002fc: POP 000002fd: JUMPDEST 000002fe: POP 000002ff: SWAP3 00000300: POP 00000301: POP 00000302: POP 00000303: PUSH1 0x40 00000305: MLOAD 00000306: DUP1 00000307: SWAP2 00000308: SUB 00000309: SWAP1 0000030a: RETURN 0000030b: JUMPDEST 0000030c: CALLVALUE 0000030d: DUP1 0000030e: ISZERO 0000030f: PUSH2 0x0317 00000312: JUMPI 00000313: PUSH1 0x00 00000315: DUP1 00000316: REVERT 00000317: JUMPDEST 00000318: POP 00000319: PUSH2 0x026f 0000031c: PUSH2 0x0759 0000031f: JUMP 00000320: JUMPDEST 00000321: CALLVALUE 00000322: DUP1 00000323: ISZERO 00000324: PUSH2 0x032c 00000327: JUMPI 00000328: PUSH1 0x00 0000032a: DUP1 0000032b: REVERT 0000032c: JUMPDEST 0000032d: POP 0000032e: PUSH2 0x026f 00000331: PUSH2 0x075f 00000334: JUMP 00000335: JUMPDEST 00000336: CALLVALUE 00000337: DUP1 00000338: ISZERO 00000339: PUSH2 0x0341 0000033c: JUMPI 0000033d: PUSH1 0x00 0000033f: DUP1 00000340: REVERT 00000341: JUMPDEST 00000342: POP 00000343: PUSH2 0x026f 00000346: PUSH2 0x0771 00000349: JUMP 0000034a: JUMPDEST 0000034b: CALLVALUE 0000034c: DUP1 0000034d: ISZERO 0000034e: PUSH2 0x0356 00000351: JUMPI 00000352: PUSH1 0x00 00000354: DUP1 00000355: REVERT 00000356: JUMPDEST 00000357: POP 00000358: PUSH2 0x0376 0000035b: PUSH1 0x04 0000035d: DUP1 0000035e: CALLDATASIZE 0000035f: SUB 00000360: PUSH1 0x20 00000362: DUP2 00000363: LT 00000364: ISZERO 00000365: PUSH2 0x036d 00000368: JUMPI 00000369: PUSH1 0x00 0000036b: DUP1 0000036c: REVERT 0000036d: JUMPDEST 0000036e: POP 0000036f: CALLDATALOAD 00000370: ISZERO 00000371: ISZERO 00000372: PUSH2 0x0777 00000375: JUMP 00000376: JUMPDEST 00000377: STOP 00000378: JUMPDEST 00000379: CALLVALUE 0000037a: DUP1 0000037b: ISZERO 0000037c: PUSH2 0x0384 0000037f: JUMPI 00000380: PUSH1 0x00 00000382: DUP1 00000383: REVERT 00000384: JUMPDEST 00000385: POP 00000386: PUSH2 0x038d 00000389: PUSH2 0x07af 0000038c: JUMP 0000038d: JUMPDEST 0000038e: PUSH1 0x40 00000390: DUP1 00000391: MLOAD 00000392: PUSH1 0xff 00000394: SWAP1 00000395: SWAP3 00000396: AND 00000397: DUP3 00000398: MSTORE 00000399: MLOAD 0000039a: SWAP1 0000039b: DUP2 0000039c: SWAP1 0000039d: SUB 0000039e: PUSH1 0x20 000003a0: ADD 000003a1: SWAP1 000003a2: RETURN 000003a3: JUMPDEST 000003a4: CALLVALUE 000003a5: DUP1 000003a6: ISZERO 000003a7: PUSH2 0x03af 000003aa: JUMPI 000003ab: PUSH1 0x00 000003ad: DUP1 000003ae: REVERT 000003af: JUMPDEST 000003b0: POP 000003b1: PUSH2 0x0376 000003b4: PUSH1 0x04 000003b6: DUP1 000003b7: CALLDATASIZE 000003b8: SUB 000003b9: PUSH1 0x20 000003bb: DUP2 000003bc: LT 000003bd: ISZERO 000003be: PUSH2 0x03c6 000003c1: JUMPI 000003c2: PUSH1 0x00 000003c4: DUP1 000003c5: REVERT 000003c6: JUMPDEST 000003c7: POP 000003c8: CALLDATALOAD 000003c9: ISZERO 000003ca: ISZERO 000003cb: PUSH2 0x07b8 000003ce: JUMP 000003cf: JUMPDEST 000003d0: CALLVALUE 000003d1: DUP1 000003d2: ISZERO 000003d3: PUSH2 0x03db 000003d6: JUMPI 000003d7: PUSH1 0x00 000003d9: DUP1 000003da: REVERT 000003db: JUMPDEST 000003dc: POP 000003dd: PUSH2 0x03e4 000003e0: PUSH2 0x07fe 000003e3: JUMP 000003e4: JUMPDEST 000003e5: PUSH1 0x40 000003e7: DUP1 000003e8: MLOAD 000003e9: PUSH1 0x01 000003eb: PUSH1 0x01 000003ed: PUSH1 0xa0 000003ef: SHL 000003f0: SUB 000003f1: SWAP1 000003f2: SWAP3 000003f3: AND 000003f4: DUP3 000003f5: MSTORE 000003f6: MLOAD 000003f7: SWAP1 000003f8: DUP2 000003f9: SWAP1 000003fa: SUB 000003fb: PUSH1 0x20 000003fd: ADD 000003fe: SWAP1 000003ff: RETURN 00000400: JUMPDEST 00000401: CALLVALUE 00000402: DUP1 00000403: ISZERO 00000404: PUSH2 0x040c 00000407: JUMPI 00000408: PUSH1 0x00 0000040a: DUP1 0000040b: REVERT 0000040c: JUMPDEST 0000040d: POP 0000040e: PUSH2 0x03e4 00000411: PUSH2 0x080d 00000414: JUMP 00000415: JUMPDEST 00000416: CALLVALUE 00000417: DUP1 00000418: ISZERO 00000419: PUSH2 0x0421 0000041c: JUMPI 0000041d: PUSH1 0x00 0000041f: DUP1 00000420: REVERT 00000421: JUMPDEST 00000422: POP 00000423: PUSH2 0x026f 00000426: PUSH1 0x04 00000428: DUP1 00000429: CALLDATASIZE 0000042a: SUB 0000042b: PUSH1 0x20 0000042d: DUP2 0000042e: LT 0000042f: ISZERO 00000430: PUSH2 0x0438 00000433: JUMPI 00000434: PUSH1 0x00 00000436: DUP1 00000437: REVERT 00000438: JUMPDEST 00000439: POP 0000043a: CALLDATALOAD 0000043b: PUSH1 0x01 0000043d: PUSH1 0x01 0000043f: PUSH1 0xa0 00000441: SHL 00000442: SUB 00000443: AND 00000444: PUSH2 0x0821 00000447: JUMP 00000448: JUMPDEST 00000449: CALLVALUE 0000044a: DUP1 0000044b: ISZERO 0000044c: PUSH2 0x0454 0000044f: JUMPI 00000450: PUSH1 0x00 00000452: DUP1 00000453: REVERT 00000454: JUMPDEST 00000455: POP 00000456: PUSH2 0x0376 00000459: PUSH1 0x04 0000045b: DUP1 0000045c: CALLDATASIZE 0000045d: SUB 0000045e: PUSH1 0x20 00000460: DUP2 00000461: LT 00000462: ISZERO 00000463: PUSH2 0x046b 00000466: JUMPI 00000467: PUSH1 0x00 00000469: DUP1 0000046a: REVERT 0000046b: JUMPDEST 0000046c: POP 0000046d: CALLDATALOAD 0000046e: PUSH1 0x01 00000470: PUSH1 0x01 00000472: PUSH1 0xa0 00000474: SHL 00000475: SUB 00000476: AND 00000477: PUSH2 0x0849 0000047a: JUMP 0000047b: JUMPDEST 0000047c: CALLVALUE 0000047d: DUP1 0000047e: ISZERO 0000047f: PUSH2 0x0487 00000482: JUMPI 00000483: PUSH1 0x00 00000485: DUP1 00000486: REVERT 00000487: JUMPDEST 00000488: POP 00000489: PUSH2 0x03e4 0000048c: PUSH2 0x086c 0000048f: JUMP 00000490: JUMPDEST 00000491: CALLVALUE 00000492: DUP1 00000493: ISZERO 00000494: PUSH2 0x049c 00000497: JUMPI 00000498: PUSH1 0x00 0000049a: DUP1 0000049b: REVERT 0000049c: JUMPDEST 0000049d: POP 0000049e: PUSH2 0x04a5 000004a1: PUSH2 0x087b 000004a4: JUMP 000004a5: JUMPDEST 000004a6: PUSH1 0x40 000004a8: DUP1 000004a9: MLOAD 000004aa: SWAP2 000004ab: ISZERO 000004ac: ISZERO 000004ad: DUP3 000004ae: MSTORE 000004af: MLOAD 000004b0: SWAP1 000004b1: DUP2 000004b2: SWAP1 000004b3: SUB 000004b4: PUSH1 0x20 000004b6: ADD 000004b7: SWAP1 000004b8: RETURN 000004b9: JUMPDEST 000004ba: CALLVALUE 000004bb: DUP1 000004bc: ISZERO 000004bd: PUSH2 0x04c5 000004c0: JUMPI 000004c1: PUSH1 0x00 000004c3: DUP1 000004c4: REVERT 000004c5: JUMPDEST 000004c6: POP 000004c7: PUSH2 0x03e4 000004ca: PUSH2 0x088b 000004cd: JUMP 000004ce: JUMPDEST 000004cf: CALLVALUE 000004d0: DUP1 000004d1: ISZERO 000004d2: PUSH2 0x04da 000004d5: JUMPI 000004d6: PUSH1 0x00 000004d8: DUP1 000004d9: REVERT 000004da: JUMPDEST 000004db: POP 000004dc: PUSH2 0x03e4 000004df: PUSH2 0x089a 000004e2: JUMP 000004e3: JUMPDEST 000004e4: CALLVALUE 000004e5: DUP1 000004e6: ISZERO 000004e7: PUSH2 0x04ef 000004ea: JUMPI 000004eb: PUSH1 0x00 000004ed: DUP1 000004ee: REVERT 000004ef: JUMPDEST 000004f0: POP 000004f1: PUSH2 0x026f 000004f4: PUSH2 0x08a9 000004f7: JUMP 000004f8: JUMPDEST 000004f9: CALLVALUE 000004fa: DUP1 000004fb: ISZERO 000004fc: PUSH2 0x0504 000004ff: JUMPI 00000500: PUSH1 0x00 00000502: DUP1 00000503: REVERT 00000504: JUMPDEST 00000505: POP 00000506: PUSH2 0x0296 00000509: PUSH2 0x08af 0000050c: JUMP 0000050d: JUMPDEST 0000050e: CALLVALUE 0000050f: DUP1 00000510: ISZERO 00000511: PUSH2 0x0519 00000514: JUMPI 00000515: PUSH1 0x00 00000517: DUP1 00000518: REVERT 00000519: JUMPDEST 0000051a: POP 0000051b: PUSH2 0x03e4 0000051e: PUSH2 0x090a 00000521: JUMP 00000522: JUMPDEST 00000523: CALLVALUE 00000524: DUP1 00000525: ISZERO 00000526: PUSH2 0x052e 00000529: JUMPI 0000052a: PUSH1 0x00 0000052c: DUP1 0000052d: REVERT 0000052e: JUMPDEST 0000052f: POP 00000530: PUSH2 0x026f 00000533: PUSH2 0x0919 00000536: JUMP 00000537: JUMPDEST 00000538: CALLVALUE 00000539: DUP1 0000053a: ISZERO 0000053b: PUSH2 0x0543 0000053e: JUMPI 0000053f: PUSH1 0x00 00000541: DUP1 00000542: REVERT 00000543: JUMPDEST 00000544: POP 00000545: PUSH2 0x03e4 00000548: PUSH2 0x091f 0000054b: JUMP 0000054c: JUMPDEST 0000054d: CALLVALUE 0000054e: DUP1 0000054f: ISZERO 00000550: PUSH2 0x0558 00000553: JUMPI 00000554: PUSH1 0x00 00000556: DUP1 00000557: REVERT 00000558: JUMPDEST 00000559: POP 0000055a: PUSH2 0x026f 0000055d: PUSH2 0x0933 00000560: JUMP 00000561: JUMPDEST 00000562: CALLVALUE 00000563: DUP1 00000564: ISZERO 00000565: PUSH2 0x056d 00000568: JUMPI 00000569: PUSH1 0x00 0000056b: DUP1 0000056c: REVERT 0000056d: JUMPDEST 0000056e: POP 0000056f: PUSH2 0x026f 00000572: PUSH2 0x0939 00000575: JUMP 00000576: JUMPDEST 00000577: CALLVALUE 00000578: DUP1 00000579: ISZERO 0000057a: PUSH2 0x0582 0000057d: JUMPI 0000057e: PUSH1 0x00 00000580: DUP1 00000581: REVERT 00000582: JUMPDEST 00000583: POP 00000584: PUSH2 0x03e4 00000587: PUSH2 0x093f 0000058a: JUMP 0000058b: JUMPDEST 0000058c: CALLVALUE 0000058d: DUP1 0000058e: ISZERO 0000058f: PUSH2 0x0597 00000592: JUMPI 00000593: PUSH1 0x00 00000595: DUP1 00000596: REVERT 00000597: JUMPDEST 00000598: POP 00000599: PUSH2 0x026f 0000059c: PUSH2 0x094e 0000059f: JUMP 000005a0: JUMPDEST 000005a1: CALLVALUE 000005a2: DUP1 000005a3: ISZERO 000005a4: PUSH2 0x05ac 000005a7: JUMPI 000005a8: PUSH1 0x00 000005aa: DUP1 000005ab: REVERT 000005ac: JUMPDEST 000005ad: POP 000005ae: PUSH2 0x04a5 000005b1: PUSH2 0x0954 000005b4: JUMP 000005b5: JUMPDEST 000005b6: CALLVALUE 000005b7: DUP1 000005b8: ISZERO 000005b9: PUSH2 0x05c1 000005bc: JUMPI 000005bd: PUSH1 0x00 000005bf: DUP1 000005c0: REVERT 000005c1: JUMPDEST 000005c2: POP 000005c3: PUSH2 0x026f 000005c6: PUSH1 0x04 000005c8: DUP1 000005c9: CALLDATASIZE 000005ca: SUB 000005cb: PUSH1 0x20 000005cd: DUP2 000005ce: LT 000005cf: ISZERO 000005d0: PUSH2 0x05d8 000005d3: JUMPI 000005d4: PUSH1 0x00 000005d6: DUP1 000005d7: REVERT 000005d8: JUMPDEST 000005d9: POP 000005da: CALLDATALOAD 000005db: PUSH1 0x01 000005dd: PUSH1 0x01 000005df: PUSH1 0xa0 000005e1: SHL 000005e2: SUB 000005e3: AND 000005e4: PUSH2 0x095d 000005e7: JUMP 000005e8: JUMPDEST 000005e9: CALLVALUE 000005ea: DUP1 000005eb: ISZERO 000005ec: PUSH2 0x05f4 000005ef: JUMPI 000005f0: PUSH1 0x00 000005f2: DUP1 000005f3: REVERT 000005f4: JUMPDEST 000005f5: POP 000005f6: PUSH2 0x026f 000005f9: PUSH1 0x04 000005fb: DUP1 000005fc: CALLDATASIZE 000005fd: SUB 000005fe: PUSH1 0x20 00000600: DUP2 00000601: LT 00000602: ISZERO 00000603: PUSH2 0x060b 00000606: JUMPI 00000607: PUSH1 0x00 00000609: DUP1 0000060a: REVERT 0000060b: JUMPDEST 0000060c: POP 0000060d: CALLDATALOAD 0000060e: PUSH1 0x01 00000610: PUSH1 0x01 00000612: PUSH1 0xa0 00000614: SHL 00000615: SUB 00000616: AND 00000617: PUSH2 0x096f 0000061a: JUMP 0000061b: JUMPDEST 0000061c: CALLVALUE 0000061d: DUP1 0000061e: ISZERO 0000061f: PUSH2 0x0627 00000622: JUMPI 00000623: PUSH1 0x00 00000625: DUP1 00000626: REVERT 00000627: JUMPDEST 00000628: POP 00000629: PUSH2 0x026f 0000062c: PUSH1 0x04 0000062e: DUP1 0000062f: CALLDATASIZE 00000630: SUB 00000631: PUSH1 0x40 00000633: DUP2 00000634: LT 00000635: ISZERO 00000636: PUSH2 0x063e 00000639: JUMPI 0000063a: PUSH1 0x00 0000063c: DUP1 0000063d: REVERT 0000063e: JUMPDEST 0000063f: POP 00000640: PUSH1 0x01 00000642: PUSH1 0x01 00000644: PUSH1 0xa0 00000646: SHL 00000647: SUB 00000648: DUP2 00000649: CALLDATALOAD 0000064a: DUP2 0000064b: AND 0000064c: SWAP2 0000064d: PUSH1 0x20 0000064f: ADD 00000650: CALLDATALOAD 00000651: AND 00000652: PUSH2 0x0981 00000655: JUMP 00000656: JUMPDEST 00000657: CALLVALUE 00000658: DUP1 00000659: ISZERO 0000065a: PUSH2 0x0662 0000065d: JUMPI 0000065e: PUSH1 0x00 00000660: DUP1 00000661: REVERT 00000662: JUMPDEST 00000663: POP 00000664: PUSH2 0x04a5 00000667: PUSH2 0x09b9 0000066a: JUMP 0000066b: JUMPDEST 0000066c: CALLVALUE 0000066d: DUP1 0000066e: ISZERO 0000066f: PUSH2 0x0677 00000672: JUMPI 00000673: PUSH1 0x00 00000675: DUP1 00000676: REVERT 00000677: JUMPDEST 00000678: POP 00000679: PUSH2 0x026f 0000067c: PUSH2 0x09c9 0000067f: JUMP 00000680: JUMPDEST 00000681: CALLVALUE 00000682: DUP1 00000683: ISZERO 00000684: PUSH2 0x068c 00000687: JUMPI 00000688: PUSH1 0x00 0000068a: DUP1 0000068b: REVERT 0000068c: JUMPDEST 0000068d: POP 0000068e: PUSH2 0x0376 00000691: PUSH1 0x04 00000693: DUP1 00000694: CALLDATASIZE 00000695: SUB 00000696: PUSH1 0x20 00000698: DUP2 00000699: LT 0000069a: ISZERO 0000069b: PUSH2 0x06a3 0000069e: JUMPI 0000069f: PUSH1 0x00 000006a1: DUP1 000006a2: REVERT 000006a3: JUMPDEST 000006a4: POP 000006a5: CALLDATALOAD 000006a6: PUSH1 0x01 000006a8: PUSH1 0x01 000006aa: PUSH1 0xa0 000006ac: SHL 000006ad: SUB 000006ae: AND 000006af: PUSH2 0x09cf 000006b2: JUMP 000006b3: JUMPDEST 000006b4: CALLVALUE 000006b5: DUP1 000006b6: ISZERO 000006b7: PUSH2 0x06bf 000006ba: JUMPI 000006bb: PUSH1 0x00 000006bd: DUP1 000006be: REVERT 000006bf: JUMPDEST 000006c0: POP 000006c1: PUSH2 0x026f 000006c4: PUSH2 0x09ef 000006c7: JUMP 000006c8: JUMPDEST 000006c9: PUSH1 0x10 000006cb: SLOAD 000006cc: DUP2 000006cd: JUMP 000006ce: JUMPDEST 000006cf: PUSH1 0x02 000006d1: DUP1 000006d2: SLOAD 000006d3: PUSH1 0x40 000006d5: DUP1 000006d6: MLOAD 000006d7: PUSH1 0x20 000006d9: PUSH1 0x01 000006db: DUP5 000006dc: AND 000006dd: ISZERO 000006de: PUSH2 0x0100 000006e1: MUL 000006e2: PUSH1 0x00 000006e4: NOT 000006e5: ADD 000006e6: SWAP1 000006e7: SWAP4 000006e8: AND 000006e9: DUP5 000006ea: SWAP1 000006eb: DIV 000006ec: PUSH1 0x1f 000006ee: DUP2 000006ef: ADD 000006f0: DUP5 000006f1: SWAP1 000006f2: DIV 000006f3: DUP5 000006f4: MUL 000006f5: DUP3 000006f6: ADD 000006f7: DUP5 000006f8: ADD 000006f9: SWAP1 000006fa: SWAP3 000006fb: MSTORE 000006fc: DUP2 000006fd: DUP2 000006fe: MSTORE 000006ff: SWAP3 00000700: SWAP2 00000701: DUP4 00000702: ADD 00000703: DUP3 00000704: DUP3 00000705: DUP1 00000706: ISZERO 00000707: PUSH2 0x0751 0000070a: JUMPI 0000070b: DUP1 0000070c: PUSH1 0x1f 0000070e: LT 0000070f: PUSH2 0x0726 00000712: JUMPI 00000713: PUSH2 0x0100 00000716: DUP1 00000717: DUP4 00000718: SLOAD 00000719: DIV 0000071a: MUL 0000071b: DUP4 0000071c: MSTORE 0000071d: SWAP2 0000071e: PUSH1 0x20 00000720: ADD 00000721: SWAP2 00000722: PUSH2 0x0751 00000725: JUMP 00000726: JUMPDEST 00000727: DUP3 00000728: ADD 00000729: SWAP2 0000072a: SWAP1 0000072b: PUSH1 0x00 0000072d: MSTORE 0000072e: PUSH1 0x20 00000730: PUSH1 0x00 00000732: KECCAK256 00000733: SWAP1 00000734: JUMPDEST 00000735: DUP2 00000736: SLOAD 00000737: DUP2 00000738: MSTORE 00000739: SWAP1 0000073a: PUSH1 0x01 0000073c: ADD 0000073d: SWAP1 0000073e: PUSH1 0x20 00000740: ADD 00000741: DUP1 00000742: DUP4 00000743: GT 00000744: PUSH2 0x0734 00000747: JUMPI 00000748: DUP3 00000749: SWAP1 0000074a: SUB 0000074b: PUSH1 0x1f 0000074d: AND 0000074e: DUP3 0000074f: ADD 00000750: SWAP2 00000751: JUMPDEST 00000752: POP 00000753: POP 00000754: POP 00000755: POP 00000756: POP 00000757: DUP2 00000758: JUMP 00000759: JUMPDEST 0000075a: PUSH1 0x11 0000075c: SLOAD 0000075d: DUP2 0000075e: JUMP 0000075f: JUMPDEST 00000760: PUSH1 0x00 00000762: PUSH2 0x076c 00000765: PUSH1 0x1a 00000767: SLOAD 00000768: PUSH2 0x09f5 0000076b: JUMP 0000076c: JUMPDEST 0000076d: SWAP1 0000076e: POP 0000076f: SWAP1 00000770: JUMP 00000771: JUMPDEST 00000772: PUSH1 0x12 00000774: SLOAD 00000775: DUP2 00000776: JUMP 00000777: JUMPDEST 00000778: PUSH1 0x01 0000077a: SLOAD 0000077b: PUSH1 0x01 0000077d: PUSH1 0x01 0000077f: PUSH1 0xa0 00000781: SHL 00000782: SUB 00000783: AND 00000784: CALLER 00000785: EQ 00000786: PUSH2 0x078e 00000789: JUMPI 0000078a: PUSH1 0x00 0000078c: DUP1 0000078d: REVERT 0000078e: JUMPDEST 0000078f: PUSH1 0x08 00000791: DUP1 00000792: SLOAD 00000793: SWAP2 00000794: ISZERO 00000795: ISZERO 00000796: PUSH1 0x01 00000798: PUSH1 0xa8 0000079a: SHL 0000079b: MUL 0000079c: PUSH1 0x01 0000079e: PUSH1 0xa8 000007a0: SHL 000007a1: PUSH1 0xff 000007a3: MUL 000007a4: NOT 000007a5: SWAP1 000007a6: SWAP3 000007a7: AND 000007a8: SWAP2 000007a9: SWAP1 000007aa: SWAP2 000007ab: OR 000007ac: SWAP1 000007ad: SSTORE 000007ae: JUMP 000007af: JUMPDEST 000007b0: PUSH1 0x04 000007b2: SLOAD 000007b3: PUSH1 0xff 000007b5: AND 000007b6: DUP2 000007b7: JUMP 000007b8: JUMPDEST 000007b9: PUSH1 0x01 000007bb: SLOAD 000007bc: PUSH1 0x01 000007be: PUSH1 0x01 000007c0: PUSH1 0xa0 000007c2: SHL 000007c3: SUB 000007c4: AND 000007c5: CALLER 000007c6: EQ 000007c7: PUSH2 0x07cf 000007ca: JUMPI 000007cb: PUSH1 0x00 000007cd: DUP1 000007ce: REVERT 000007cf: JUMPDEST 000007d0: PUSH1 0x08 000007d2: DUP1 000007d3: SLOAD 000007d4: SWAP2 000007d5: ISZERO 000007d6: ISZERO 000007d7: PUSH1 0x01 000007d9: PUSH1 0xa0 000007db: SHL 000007dc: MUL 000007dd: PUSH21 0xff0000000000000000000000000000000000000000 000007f3: NOT 000007f4: SWAP1 000007f5: SWAP3 000007f6: AND 000007f7: SWAP2 000007f8: SWAP1 000007f9: SWAP2 000007fa: OR 000007fb: SWAP1 000007fc: SSTORE 000007fd: JUMP 000007fe: JUMPDEST 000007ff: PUSH1 0x07 00000801: SLOAD 00000802: PUSH1 0x01 00000804: PUSH1 0x01 00000806: PUSH1 0xa0 00000808: SHL 00000809: SUB 0000080a: AND 0000080b: DUP2 0000080c: JUMP 0000080d: JUMPDEST 0000080e: PUSH1 0x0a 00000810: SLOAD 00000811: PUSH2 0x0100 00000814: SWAP1 00000815: DIV 00000816: PUSH1 0x01 00000818: PUSH1 0x01 0000081a: PUSH1 0xa0 0000081c: SHL 0000081d: SUB 0000081e: AND 0000081f: DUP2 00000820: JUMP 00000821: JUMPDEST 00000822: PUSH1 0x01 00000824: PUSH1 0x01 00000826: PUSH1 0xa0 00000828: SHL 00000829: SUB 0000082a: DUP2 0000082b: AND 0000082c: PUSH1 0x00 0000082e: SWAP1 0000082f: DUP2 00000830: MSTORE 00000831: PUSH1 0x18 00000833: PUSH1 0x20 00000835: MSTORE 00000836: PUSH1 0x40 00000838: DUP2 00000839: KECCAK256 0000083a: SLOAD 0000083b: PUSH2 0x0843 0000083e: SWAP1 0000083f: PUSH2 0x09f5 00000842: JUMP 00000843: JUMPDEST 00000844: SWAP3 00000845: SWAP2 00000846: POP 00000847: POP 00000848: JUMP 00000849: JUMPDEST 0000084a: PUSH1 0x01 0000084c: SLOAD 0000084d: PUSH1 0x01 0000084f: PUSH1 0x01 00000851: PUSH1 0xa0 00000853: SHL 00000854: SUB 00000855: AND 00000856: CALLER 00000857: EQ 00000858: PUSH2 0x0860 0000085b: JUMPI 0000085c: PUSH1 0x00 0000085e: DUP1 0000085f: REVERT 00000860: JUMPDEST 00000861: PUSH2 0x0869 00000864: DUP2 00000865: PUSH2 0x0a23 00000868: JUMP 00000869: JUMPDEST 0000086a: POP 0000086b: JUMP 0000086c: JUMPDEST 0000086d: PUSH1 0x08 0000086f: SLOAD 00000870: PUSH1 0x01 00000872: PUSH1 0x01 00000874: PUSH1 0xa0 00000876: SHL 00000877: SUB 00000878: AND 00000879: DUP2 0000087a: JUMP 0000087b: JUMPDEST 0000087c: PUSH1 0x08 0000087e: SLOAD 0000087f: PUSH1 0x01 00000881: PUSH1 0xa8 00000883: SHL 00000884: SWAP1 00000885: DIV 00000886: PUSH1 0xff 00000888: AND 00000889: DUP2 0000088a: JUMP 0000088b: JUMPDEST 0000088c: PUSH1 0x05 0000088e: SLOAD 0000088f: PUSH1 0x01 00000891: PUSH1 0x01 00000893: PUSH1 0xa0 00000895: SHL 00000896: SUB 00000897: AND 00000898: DUP2 00000899: JUMP 0000089a: JUMPDEST 0000089b: PUSH1 0x01 0000089d: SLOAD 0000089e: PUSH1 0x01 000008a0: PUSH1 0x01 000008a2: PUSH1 0xa0 000008a4: SHL 000008a5: SUB 000008a6: AND 000008a7: DUP2 000008a8: JUMP 000008a9: JUMPDEST 000008aa: PUSH1 0x16 000008ac: SLOAD 000008ad: DUP2 000008ae: JUMP 000008af: JUMPDEST 000008b0: PUSH1 0x03 000008b2: DUP1 000008b3: SLOAD 000008b4: PUSH1 0x40 000008b6: DUP1 000008b7: MLOAD 000008b8: PUSH1 0x20 000008ba: PUSH1 0x02 000008bc: PUSH1 0x01 000008be: DUP6 000008bf: AND 000008c0: ISZERO 000008c1: PUSH2 0x0100 000008c4: MUL 000008c5: PUSH1 0x00 000008c7: NOT 000008c8: ADD 000008c9: SWAP1 000008ca: SWAP5 000008cb: AND 000008cc: SWAP4 000008cd: SWAP1 000008ce: SWAP4 000008cf: DIV 000008d0: PUSH1 0x1f 000008d2: DUP2 000008d3: ADD 000008d4: DUP5 000008d5: SWAP1 000008d6: DIV 000008d7: DUP5 000008d8: MUL 000008d9: DUP3 000008da: ADD 000008db: DUP5 000008dc: ADD 000008dd: SWAP1 000008de: SWAP3 000008df: MSTORE 000008e0: DUP2 000008e1: DUP2 000008e2: MSTORE 000008e3: SWAP3 000008e4: SWAP2 000008e5: DUP4 000008e6: ADD 000008e7: DUP3 000008e8: DUP3 000008e9: DUP1 000008ea: ISZERO 000008eb: PUSH2 0x0751 000008ee: JUMPI 000008ef: DUP1 000008f0: PUSH1 0x1f 000008f2: LT 000008f3: PUSH2 0x0726 000008f6: JUMPI 000008f7: PUSH2 0x0100 000008fa: DUP1 000008fb: DUP4 000008fc: SLOAD 000008fd: DIV 000008fe: MUL 000008ff: DUP4 00000900: MSTORE 00000901: SWAP2 00000902: PUSH1 0x20 00000904: ADD 00000905: SWAP2 00000906: PUSH2 0x0751 00000909: JUMP 0000090a: JUMPDEST 0000090b: PUSH1 0x06 0000090d: SLOAD 0000090e: PUSH1 0x01 00000910: PUSH1 0x01 00000912: PUSH1 0xa0 00000914: SHL 00000915: SUB 00000916: AND 00000917: DUP2 00000918: JUMP 00000919: JUMPDEST 0000091a: PUSH1 0x17 0000091c: SLOAD 0000091d: DUP2 0000091e: JUMP 0000091f: JUMPDEST 00000920: PUSH1 0x04 00000922: SLOAD 00000923: PUSH2 0x0100 00000926: SWAP1 00000927: DIV 00000928: PUSH1 0x01 0000092a: PUSH1 0x01 0000092c: PUSH1 0xa0 0000092e: SHL 0000092f: SUB 00000930: AND 00000931: DUP2 00000932: JUMP 00000933: JUMPDEST 00000934: PUSH1 0x1b 00000936: SLOAD 00000937: DUP2 00000938: JUMP 00000939: JUMPDEST 0000093a: PUSH1 0x0c 0000093c: SLOAD 0000093d: DUP2 0000093e: JUMP 0000093f: JUMPDEST 00000940: PUSH1 0x0b 00000942: SLOAD 00000943: PUSH1 0x01 00000945: PUSH1 0x01 00000947: PUSH1 0xa0 00000949: SHL 0000094a: SUB 0000094b: AND 0000094c: DUP2 0000094d: JUMP 0000094e: JUMPDEST 0000094f: PUSH1 0x0f 00000951: SLOAD 00000952: DUP2 00000953: JUMP 00000954: JUMPDEST 00000955: PUSH1 0x13 00000957: SLOAD 00000958: PUSH1 0xff 0000095a: AND 0000095b: DUP2 0000095c: JUMP 0000095d: JUMPDEST 0000095e: PUSH1 0x14 00000960: PUSH1 0x20 00000962: MSTORE 00000963: PUSH1 0x00 00000965: SWAP1 00000966: DUP2 00000967: MSTORE 00000968: PUSH1 0x40 0000096a: SWAP1 0000096b: KECCAK256 0000096c: SLOAD 0000096d: DUP2 0000096e: JUMP 0000096f: JUMPDEST 00000970: PUSH1 0x15 00000972: PUSH1 0x20 00000974: MSTORE 00000975: PUSH1 0x00 00000977: SWAP1 00000978: DUP2 00000979: MSTORE 0000097a: PUSH1 0x40 0000097c: SWAP1 0000097d: KECCAK256 0000097e: SLOAD 0000097f: DUP2 00000980: JUMP 00000981: JUMPDEST 00000982: PUSH1 0x01 00000984: PUSH1 0x01 00000986: PUSH1 0xa0 00000988: SHL 00000989: SUB 0000098a: DUP1 0000098b: DUP4 0000098c: AND 0000098d: PUSH1 0x00 0000098f: SWAP1 00000990: DUP2 00000991: MSTORE 00000992: PUSH1 0x19 00000994: PUSH1 0x20 00000996: SWAP1 00000997: DUP2 00000998: MSTORE 00000999: PUSH1 0x40 0000099b: DUP1 0000099c: DUP4 0000099d: KECCAK256 0000099e: SWAP4 0000099f: DUP6 000009a0: AND 000009a1: DUP4 000009a2: MSTORE 000009a3: SWAP3 000009a4: SWAP1 000009a5: MSTORE 000009a6: SWAP1 000009a7: DUP2 000009a8: KECCAK256 000009a9: SLOAD 000009aa: PUSH2 0x09b2 000009ad: SWAP1 000009ae: PUSH2 0x09f5 000009b1: JUMP 000009b2: JUMPDEST 000009b3: SWAP4 000009b4: SWAP3 000009b5: POP 000009b6: POP 000009b7: POP 000009b8: JUMP 000009b9: JUMPDEST 000009ba: PUSH1 0x08 000009bc: SLOAD 000009bd: PUSH1 0x01 000009bf: PUSH1 0xa0 000009c1: SHL 000009c2: SWAP1 000009c3: DIV 000009c4: PUSH1 0xff 000009c6: AND 000009c7: DUP2 000009c8: JUMP 000009c9: JUMPDEST 000009ca: PUSH1 0x0e 000009cc: SLOAD 000009cd: DUP2 000009ce: JUMP 000009cf: JUMPDEST 000009d0: PUSH1 0x01 000009d2: SLOAD 000009d3: PUSH1 0x01 000009d5: PUSH1 0x01 000009d7: PUSH1 0xa0 000009d9: SHL 000009da: SUB 000009db: AND 000009dc: CALLER 000009dd: EQ 000009de: PUSH2 0x09e6 000009e1: JUMPI 000009e2: PUSH1 0x00 000009e4: DUP1 000009e5: REVERT 000009e6: JUMPDEST 000009e7: PUSH2 0x0869 000009ea: DUP2 000009eb: PUSH2 0x0aa2 000009ee: JUMP 000009ef: JUMPDEST 000009f0: PUSH1 0x0d 000009f2: SLOAD 000009f3: DUP2 000009f4: JUMP 000009f5: JUMPDEST 000009f6: PUSH1 0x1b 000009f8: SLOAD 000009f9: PUSH1 0x00 000009fb: SWAP1 000009fc: PUSH2 0x0843 000009ff: SWAP1 00000a00: PUSH2 0x0a17 00000a03: DUP5 00000a04: PUSH8 0x0de0b6b3a7640000 00000a0d: PUSH4 0xffffffff 00000a12: PUSH2 0x0b11 00000a15: AND 00000a16: JUMP 00000a17: JUMPDEST 00000a18: SWAP1 00000a19: PUSH4 0xffffffff 00000a1e: PUSH2 0x0b36 00000a21: AND 00000a22: JUMP 00000a23: JUMPDEST 00000a24: PUSH2 0x0a2c 00000a27: DUP2 00000a28: PUSH2 0x0b49 00000a2b: JUMP 00000a2c: JUMPDEST 00000a2d: PUSH2 0x0a80 00000a30: JUMPI 00000a31: PUSH1 0x40 00000a33: DUP1 00000a34: MLOAD 00000a35: PUSH1 0x01 00000a37: PUSH1 0xe5 00000a39: SHL 00000a3a: PUSH3 0x461bcd 00000a3e: MUL 00000a3f: DUP2 00000a40: MSTORE 00000a41: PUSH1 0x20 00000a43: PUSH1 0x04 00000a45: DUP3 00000a46: ADD 00000a47: MSTORE 00000a48: PUSH1 0x15 00000a4a: PUSH1 0x24 00000a4c: DUP3 00000a4d: ADD 00000a4e: MSTORE 00000a4f: PUSH32 0x746172676574206e6f74206120636f6e74726163740000000000000000000000 00000a70: PUSH1 0x44 00000a72: DUP3 00000a73: ADD 00000a74: MSTORE 00000a75: SWAP1 00000a76: MLOAD 00000a77: SWAP1 00000a78: DUP2 00000a79: SWAP1 00000a7a: SUB 00000a7b: PUSH1 0x64 00000a7d: ADD 00000a7e: SWAP1 00000a7f: REVERT 00000a80: JUMPDEST 00000a81: PUSH1 0x1c 00000a83: DUP1 00000a84: SLOAD 00000a85: PUSH1 0x01 00000a87: PUSH1 0x01 00000a89: PUSH1 0xa0 00000a8b: SHL 00000a8c: SUB 00000a8d: NOT 00000a8e: AND 00000a8f: PUSH1 0x01 00000a91: PUSH1 0x01 00000a93: PUSH1 0xa0 00000a95: SHL 00000a96: SUB 00000a97: SWAP3 00000a98: SWAP1 00000a99: SWAP3 00000a9a: AND 00000a9b: SWAP2 00000a9c: SWAP1 00000a9d: SWAP2 00000a9e: OR 00000a9f: SWAP1 00000aa0: SSTORE 00000aa1: JUMP 00000aa2: JUMPDEST 00000aa3: PUSH1 0x01 00000aa5: PUSH1 0x01 00000aa7: PUSH1 0xa0 00000aa9: SHL 00000aaa: SUB 00000aab: DUP2 00000aac: AND 00000aad: PUSH2 0x0ab5 00000ab0: JUMPI 00000ab1: PUSH1 0x00 00000ab3: DUP1 00000ab4: REVERT 00000ab5: JUMPDEST 00000ab6: PUSH1 0x01 00000ab8: SLOAD 00000ab9: PUSH1 0x40 00000abb: MLOAD 00000abc: PUSH1 0x01 00000abe: PUSH1 0x01 00000ac0: PUSH1 0xa0 00000ac2: SHL 00000ac3: SUB 00000ac4: DUP1 00000ac5: DUP5 00000ac6: AND 00000ac7: SWAP3 00000ac8: AND 00000ac9: SWAP1 00000aca: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000aeb: SWAP1 00000aec: PUSH1 0x00 00000aee: SWAP1 00000aef: LOG3 00000af0: PUSH1 0x01 00000af2: DUP1 00000af3: SLOAD 00000af4: PUSH1 0x01 00000af6: PUSH1 0x01 00000af8: PUSH1 0xa0 00000afa: SHL 00000afb: SUB 00000afc: NOT 00000afd: AND 00000afe: PUSH1 0x01 00000b00: PUSH1 0x01 00000b02: PUSH1 0xa0 00000b04: SHL 00000b05: SUB 00000b06: SWAP3 00000b07: SWAP1 00000b08: SWAP3 00000b09: AND 00000b0a: SWAP2 00000b0b: SWAP1 00000b0c: SWAP2 00000b0d: OR 00000b0e: SWAP1 00000b0f: SSTORE 00000b10: JUMP 00000b11: JUMPDEST 00000b12: PUSH1 0x00 00000b14: DUP3 00000b15: PUSH2 0x0b20 00000b18: JUMPI 00000b19: POP 00000b1a: PUSH1 0x00 00000b1c: PUSH2 0x0843 00000b1f: JUMP 00000b20: JUMPDEST 00000b21: POP 00000b22: DUP2 00000b23: DUP2 00000b24: MUL 00000b25: DUP2 00000b26: DUP4 00000b27: DUP3 00000b28: DUP2 00000b29: PUSH2 0x0b2e 00000b2c: JUMPI 00000b2d: INVALID 00000b2e: JUMPDEST 00000b2f: DIV 00000b30: EQ 00000b31: PUSH2 0x0843 00000b34: JUMPI 00000b35: INVALID 00000b36: JUMPDEST 00000b37: PUSH1 0x00 00000b39: DUP2 00000b3a: DUP4 00000b3b: DUP2 00000b3c: PUSH2 0x0b41 00000b3f: JUMPI 00000b40: INVALID 00000b41: JUMPDEST 00000b42: DIV 00000b43: SWAP4 00000b44: SWAP3 00000b45: POP 00000b46: POP 00000b47: POP 00000b48: JUMP 00000b49: JUMPDEST 00000b4a: EXTCODESIZE 00000b4b: ISZERO 00000b4c: ISZERO 00000b4d: SWAP1 00000b4e: JUMP 00000b4f: INVALID 00000b50: LOG1 00000b51: PUSH6 0x627a7a723058 00000b58: KECCAK256 00000b59: UNKNOWN(0x28) 00000b5a: MSIZE 00000b5b: UNKNOWN(0x2C) 00000b5c: PUSH21 0x169f48aa40fc2c3ff6dfc6c9219ca84537cc7fd1c6 00000b72: BLOBBASEFEE 00000b73: UNKNOWN(0xE2) 00000b74: MCOPY 00000b75: AND 00000b76: SELFBALANCE 00000b77: UNKNOWN(0xD1) 00000b78: UNKNOWN(0xD9) 00000b79: STOP 00000b7a: UNKNOWN(0x29)
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x5299624fb97484e1cd4b47fcebde01134c1deef3749fe519a3994fb6e07d0f3e
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x5299624fb97484e1cd4b47fcebde01134c1deef3749fe519a3994fb6e07d0f3e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe1a283d6",
"selector": "0xe1a283d6",
"calldata_variants": [
"0xe1a283d6",
"0xe1a283d60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeaa05002",
"selector": "0xeaa05002",
"calldata_variants": [
"0xeaa05002",
"0xeaa050020000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf41e4e6a",
"selector": "0xf41e4e6a",
"calldata_variants": [
"0xf41e4e6a",
"0xf41e4e6a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbc29af14",
"selector": "0xbc29af14",
"calldata_variants": [
"0xbc29af14",
"0xbc29af140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc20c49ec",
"selector": "0xc20c49ec",
"calldata_variants": [
"0xc20c49ec",
"0xc20c49ec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd05daa04",
"selector": "0xd05daa04",
"calldata_variants": [
"0xd05daa04",
"0xd05daa040000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 578,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|