1e79ea57-b68d-4b31-b9b7-c90a256e7226
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 |
|---|---|---|---|---|
| 31025 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 75964 | artifact.fetch | complete | 1 / 3 | 2 weeks ago |
| 75965 | tool.cast_disasm | complete | 1 / 3 | 2 weeks ago |
| 75966 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 75967 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 75968 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 75969 | validation.fork | complete | 1 / 3 | 2 weeks ago |
No slither job recorded yet.
[codex:491615] OpenAI Codex v0.77.0 (research preview)
[codex:491615] --------
[codex:491615] workdir: /tmp/codex-multi-xqea5rr_
[codex:491615] model: gpt-5.2-codex
[codex:491615] provider: openai
[codex:491615] approval: never
[codex:491615] sandbox: read-only
[codex:491615] reasoning effort: xhigh
[codex:491615] reasoning summaries: auto
[codex:491615] session id: 019b79df-3459-7113-b35c-31b36686375f
[codex:491615] --------
[codex:491615] user
[codex:491615] You are a profit-focused exploit hunter analyzing EVM bytecode. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:491615]
[codex:491615] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:491615]
[codex:491615] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:491615] - Gas inefficiency, code quality, or best practices
[codex:491615] - Theoretical vulnerabilities without a clear extraction path
[codex:491615] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:491615] - Issues requiring social engineering or off-chain coordination
[codex:491615]
[codex:491615] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:491615] - CALL/DELEGATECALL with controllable destination or calldata
[codex:491615] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:491615] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:491615] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:491615] - External calls before state updates (reentrancy)
[codex:491615] - SELFDESTRUCT with controllable beneficiary
[codex:491615] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:491615]
[codex:491615] For each finding, you MUST explain:
[codex:491615] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:491615] 2. The concrete sequence of transactions to extract value
[codex:491615] 3. Why you believe this is exploitable (not just suspicious)
[codex:491615]
[codex:491615] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:491615] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:491615]
[codex:491615] Output MUST be valid JSON matching the provided schema.
[codex:491615] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:491615] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:491615] mcp startup: no servers
[codex:491615]
[codex:491615] thinking
[codex:491615] **Reading BYTECODE_BUNDLE.txt file**
[codex:491615] exec
[codex:491615] /bin/bash -lc ls in /tmp/codex-multi-xqea5rr_ succeeded in 6ms:
[codex:491615] BYTECODE_BUNDLE.txt
[codex:491615] codex-output-schema.json
[codex:491615] exec
[codex:491615] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-xqea5rr_ succeeded in 5ms:
[codex:491615] Runtime bytecode bundle for best-effort auditing.
[codex:491615] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:491615]
[codex:491615] FILE: runtime_bytecode.hex
[codex:491615] 0x60003560001a600a811461002f57600b81146103c057600c81146103f9576001811461042a5760006000f36105c4565b5a605c36101561003f5760006000fd5b336110000154151561005b576001600052606f60205360216000fd5b600160601b6000806003823560011a10156100d5578260343504823560011a151561008857836020350490505b630902f1ac83526060836004601c845afa15156100a7573d83843e3d83fd5b5060405163ffffffff833560d01c161415156100cb57600182526074602052602182fd5b8151915060205190505b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600160003560171a1615156100fe57600090505b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600160003560191a16151561012757600090505b6101548385601a67ffffffffffffffff60003560901c168960483504878b6020350460003560161a610870565b6101728486601a84868b604835048c6034350460003560181a610870565b945067ffffffffffffffff60003560501c16851115610290576101af67ffffffffffffffff60003560901c1684886020350460003560171a61071f565b6101d98167ffffffffffffffff60003560901c1688604835048660003560161a8b602035046105ca565b6101f2818760483504886034350460003560191a61071f565b61020d858284896048350460003560181a8b603435046105ca565b600160003560191a1615156102565763d0e30db0600052600060006004601c8873c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af11515610255573d600060003e3d6000fd5b5b606f36111561028f57606f193601607060003760006000606f193601601c60008a605c35045af1151561028e573d600060003e3d6000fd5b5b5b50505050605e3614156103af576d4946c0e9f43f4dee607b0ef1fa1c9150600160e01b605c350463ff000000811615156102d7576eb3f879cb30fe243b4dfee438691c0492505b60006201000062ff00008316046002811461030e576003811461031a576001811461032657600081146103325760006000fd61033a565b63d8ccd0f3915061033a565b636366b936915061033a565b635f2e2b45915061033a565b63079d229f91505b5061a3db618f425a87030104801515156103ab578160005280602052602460026201000062ff0000861604101561038c5773a3c09e9715e5604f8151300cc95048452224435f60205281604052604490505b6000600082601c60008a5af115156103a9573d600060003e3d6000fd5b505b5050505b8060005250505060206000f36105c4565b3360005414156103ef5760163614156103ee5760003560151a6001600160a01b0360003560501c1661100001555b5b60006000f36105c4565b33600054141561042057601536141561041f576001600160a01b0360003560581c166000555b5b60006000f36105c4565b3360005414151561043b5760006000fd5b601460ff60003560f01c16026002013610156104575760006000fd5b600119600081601460ff833560f01c1602360301601460ff833560f01c1602600201823780815b60ff60003560f01c168110156105ad5781516000600481828460011a600081146104c1576001600160e01b038660101c1694506020935061ffff861692506104cc565b61ffff8660e01c1692505b5060028284018801601460ff60003560f01c160201013610156104f9576001600052606e60205360216000fd5b8460001a6000811461052c576001811461054c576000600084868b01600160601b60148c0260020135045afa9150610567565b6000600084868b0188600160601b60148d0260020135045af19150610567565b6000600084868b01600160601b60148c0260020135045af491505b5080151561057a573d600060003e3d6000fd5b503d60008989601460ff60003560f01c1602360301013e3d8701965080820186019550505050505b60018101905061047e565b50508082601460ff60003560f01c1602360301f350505b50610a12565b60008315156105d7578590505b8260008114610640576001811461069557600281146106d85760015480151561060a576001600052606460205360216000fd5b84610e0001600052856020528660405287606052600060006062601e845af4151561063a573d600060003e3d6000fd5b50610714565b6000888787111561065357899150600090505b63022c0d9f60005281602052806040525050306060526080608052600060a0526000600060a4601c85875af11515610690573d600060003e3d6000fd5b610714565b638201aa3f600052846020528660405285606052600060805260ff60f01b60a0526000600060a4601c85875af115156106d3573d600060003e3d6000fd5b610714565b63d5bcb9b56000528460205285604052866060526000608052600060a0526000600060a4601c85875af11515610713573d600060003e3d6000fd5b5b50505b505050505050565b8215801561078d57341580151561074a578534141515610749576001600052606d60205260216000fd5b5b801561078b576000632e1a7d4d81528660205280816024601c8473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af11515610789573d81823e3d81fd5b505b505b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2808514156107ef57341515156107ee5785341415156107cb576001600052606d60205260216000fd5b600063d0e30db0815280816004601c8a865af115156107ec573d81823e3d81fd5b505b5b50801515610868576002821615151561083157600063095ea7b3815283602052600160ff1b60405280816044601c84895af1151561082f573d81823e3d81fd5b505b6004821615151561086757600063a9059cbb8152836020528560405280816044601c84895af11515610865573d81823e3d81fd5b505b5b505b50505050565b600081600081146108de576001811461093b57600281146109d1576001548015156108a5576001600052606460205360216000fd5b600084610f000181528660205287604052886060526020816062601e84865af115156108d3573d81823e3d81fd5b805193505050610a04565b888a8a151561091057630902f1ac84526040846004601c895afa1515610906573d84853e3d84fd5b8351915060205190505b8787111561091f578091508a90505b6103e5808a026103e884020181838c0202049450505050610a04565b873561ffff600063f8b2cb4f815260208881528060406024601c8b5afa1515610966573d82833e3d82fd5b8981528060806024601c8b5afa1515610981573d82833e3d82fd5b63ba9530a681528360f01c606052828460e01c1660a0528a60b052655af3107a4000838560d01c160260c052808160c4603c8b5afa15156109c4573d82833e3d82fd5b8051955050505050610a04565b6000631e1401f881528560205286604052876060526020816064601c885afa15156109fe573d81823e3d81fd5b80519250505b505b98975050505050505050565b
[codex:491615]
[codex:491615] thinking
[codex:491615] **Preparing JSON report with no findings**
[codex:491615] codex
[codex:491615] {"no_findings":true,"summary":"No concrete, exploitable value extraction path could be determined from the provided bytecode bundle alone.","findings":[]}
[codex:491615] tokens used
[codex:491615] 7,603
[codex:491615] {"no_findings":true,"summary":"No concrete, exploitable value extraction path could be determined from the provided bytecode bundle alone.","findings":[]}
{
"codex": {
"ran_at": "2026-01-01T14:04:00.020072+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable value extraction path could be determined from the provided bytecode bundle alone.",
"raw_final": {
"summary": "No concrete, exploitable value extraction path could be determined from the provided bytecode bundle alone.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x00 00000002: CALLDATALOAD 00000003: PUSH1 0x00 00000005: BYTE 00000006: PUSH1 0x0a 00000008: DUP2 00000009: EQ 0000000a: PUSH2 0x002f 0000000d: JUMPI 0000000e: PUSH1 0x0b 00000010: DUP2 00000011: EQ 00000012: PUSH2 0x03c0 00000015: JUMPI 00000016: PUSH1 0x0c 00000018: DUP2 00000019: EQ 0000001a: PUSH2 0x03f9 0000001d: JUMPI 0000001e: PUSH1 0x01 00000020: DUP2 00000021: EQ 00000022: PUSH2 0x042a 00000025: JUMPI 00000026: PUSH1 0x00 00000028: PUSH1 0x00 0000002a: RETURN 0000002b: PUSH2 0x05c4 0000002e: JUMP 0000002f: JUMPDEST 00000030: GAS 00000031: PUSH1 0x5c 00000033: CALLDATASIZE 00000034: LT 00000035: ISZERO 00000036: PUSH2 0x003f 00000039: JUMPI 0000003a: PUSH1 0x00 0000003c: PUSH1 0x00 0000003e: REVERT 0000003f: JUMPDEST 00000040: CALLER 00000041: PUSH2 0x1000 00000044: ADD 00000045: SLOAD 00000046: ISZERO 00000047: ISZERO 00000048: PUSH2 0x005b 0000004b: JUMPI 0000004c: PUSH1 0x01 0000004e: PUSH1 0x00 00000050: MSTORE 00000051: PUSH1 0x6f 00000053: PUSH1 0x20 00000055: MSTORE8 00000056: PUSH1 0x21 00000058: PUSH1 0x00 0000005a: REVERT 0000005b: JUMPDEST 0000005c: PUSH1 0x01 0000005e: PUSH1 0x60 00000060: SHL 00000061: PUSH1 0x00 00000063: DUP1 00000064: PUSH1 0x03 00000066: DUP3 00000067: CALLDATALOAD 00000068: PUSH1 0x01 0000006a: BYTE 0000006b: LT 0000006c: ISZERO 0000006d: PUSH2 0x00d5 00000070: JUMPI 00000071: DUP3 00000072: PUSH1 0x34 00000074: CALLDATALOAD 00000075: DIV 00000076: DUP3 00000077: CALLDATALOAD 00000078: PUSH1 0x01 0000007a: BYTE 0000007b: ISZERO 0000007c: ISZERO 0000007d: PUSH2 0x0088 00000080: JUMPI 00000081: DUP4 00000082: PUSH1 0x20 00000084: CALLDATALOAD 00000085: DIV 00000086: SWAP1 00000087: POP 00000088: JUMPDEST 00000089: PUSH4 0x0902f1ac 0000008e: DUP4 0000008f: MSTORE 00000090: PUSH1 0x60 00000092: DUP4 00000093: PUSH1 0x04 00000095: PUSH1 0x1c 00000097: DUP5 00000098: GAS 00000099: STATICCALL 0000009a: ISZERO 0000009b: ISZERO 0000009c: PUSH2 0x00a7 0000009f: JUMPI 000000a0: RETURNDATASIZE 000000a1: DUP4 000000a2: DUP5 000000a3: RETURNDATACOPY 000000a4: RETURNDATASIZE 000000a5: DUP4 000000a6: REVERT 000000a7: JUMPDEST 000000a8: POP 000000a9: PUSH1 0x40 000000ab: MLOAD 000000ac: PUSH4 0xffffffff 000000b1: DUP4 000000b2: CALLDATALOAD 000000b3: PUSH1 0xd0 000000b5: SHR 000000b6: AND 000000b7: EQ 000000b8: ISZERO 000000b9: ISZERO 000000ba: PUSH2 0x00cb 000000bd: JUMPI 000000be: PUSH1 0x01 000000c0: DUP3 000000c1: MSTORE 000000c2: PUSH1 0x74 000000c4: PUSH1 0x20 000000c6: MSTORE 000000c7: PUSH1 0x21 000000c9: DUP3 000000ca: REVERT 000000cb: JUMPDEST 000000cc: DUP2 000000cd: MLOAD 000000ce: SWAP2 000000cf: POP 000000d0: PUSH1 0x20 000000d2: MLOAD 000000d3: SWAP1 000000d4: POP 000000d5: JUMPDEST 000000d6: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000000eb: PUSH1 0x01 000000ed: PUSH1 0x00 000000ef: CALLDATALOAD 000000f0: PUSH1 0x17 000000f2: BYTE 000000f3: AND 000000f4: ISZERO 000000f5: ISZERO 000000f6: PUSH2 0x00fe 000000f9: JUMPI 000000fa: PUSH1 0x00 000000fc: SWAP1 000000fd: POP 000000fe: JUMPDEST 000000ff: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000114: PUSH1 0x01 00000116: PUSH1 0x00 00000118: CALLDATALOAD 00000119: PUSH1 0x19 0000011b: BYTE 0000011c: AND 0000011d: ISZERO 0000011e: ISZERO 0000011f: PUSH2 0x0127 00000122: JUMPI 00000123: PUSH1 0x00 00000125: SWAP1 00000126: POP 00000127: JUMPDEST 00000128: PUSH2 0x0154 0000012b: DUP4 0000012c: DUP6 0000012d: PUSH1 0x1a 0000012f: PUSH8 0xffffffffffffffff 00000138: PUSH1 0x00 0000013a: CALLDATALOAD 0000013b: PUSH1 0x90 0000013d: SHR 0000013e: AND 0000013f: DUP10 00000140: PUSH1 0x48 00000142: CALLDATALOAD 00000143: DIV 00000144: DUP8 00000145: DUP12 00000146: PUSH1 0x20 00000148: CALLDATALOAD 00000149: DIV 0000014a: PUSH1 0x00 0000014c: CALLDATALOAD 0000014d: PUSH1 0x16 0000014f: BYTE 00000150: PUSH2 0x0870 00000153: JUMP 00000154: JUMPDEST 00000155: PUSH2 0x0172 00000158: DUP5 00000159: DUP7 0000015a: PUSH1 0x1a 0000015c: DUP5 0000015d: DUP7 0000015e: DUP12 0000015f: PUSH1 0x48 00000161: CALLDATALOAD 00000162: DIV 00000163: DUP13 00000164: PUSH1 0x34 00000166: CALLDATALOAD 00000167: DIV 00000168: PUSH1 0x00 0000016a: CALLDATALOAD 0000016b: PUSH1 0x18 0000016d: BYTE 0000016e: PUSH2 0x0870 00000171: JUMP 00000172: JUMPDEST 00000173: SWAP5 00000174: POP 00000175: PUSH8 0xffffffffffffffff 0000017e: PUSH1 0x00 00000180: CALLDATALOAD 00000181: PUSH1 0x50 00000183: SHR 00000184: AND 00000185: DUP6 00000186: GT 00000187: ISZERO 00000188: PUSH2 0x0290 0000018b: JUMPI 0000018c: PUSH2 0x01af 0000018f: PUSH8 0xffffffffffffffff 00000198: PUSH1 0x00 0000019a: CALLDATALOAD 0000019b: PUSH1 0x90 0000019d: SHR 0000019e: AND 0000019f: DUP5 000001a0: DUP9 000001a1: PUSH1 0x20 000001a3: CALLDATALOAD 000001a4: DIV 000001a5: PUSH1 0x00 000001a7: CALLDATALOAD 000001a8: PUSH1 0x17 000001aa: BYTE 000001ab: PUSH2 0x071f 000001ae: JUMP 000001af: JUMPDEST 000001b0: PUSH2 0x01d9 000001b3: DUP2 000001b4: PUSH8 0xffffffffffffffff 000001bd: PUSH1 0x00 000001bf: CALLDATALOAD 000001c0: PUSH1 0x90 000001c2: SHR 000001c3: AND 000001c4: DUP9 000001c5: PUSH1 0x48 000001c7: CALLDATALOAD 000001c8: DIV 000001c9: DUP7 000001ca: PUSH1 0x00 000001cc: CALLDATALOAD 000001cd: PUSH1 0x16 000001cf: BYTE 000001d0: DUP12 000001d1: PUSH1 0x20 000001d3: CALLDATALOAD 000001d4: DIV 000001d5: PUSH2 0x05ca 000001d8: JUMP 000001d9: JUMPDEST 000001da: PUSH2 0x01f2 000001dd: DUP2 000001de: DUP8 000001df: PUSH1 0x48 000001e1: CALLDATALOAD 000001e2: DIV 000001e3: DUP9 000001e4: PUSH1 0x34 000001e6: CALLDATALOAD 000001e7: DIV 000001e8: PUSH1 0x00 000001ea: CALLDATALOAD 000001eb: PUSH1 0x19 000001ed: BYTE 000001ee: PUSH2 0x071f 000001f1: JUMP 000001f2: JUMPDEST 000001f3: PUSH2 0x020d 000001f6: DUP6 000001f7: DUP3 000001f8: DUP5 000001f9: DUP10 000001fa: PUSH1 0x48 000001fc: CALLDATALOAD 000001fd: DIV 000001fe: PUSH1 0x00 00000200: CALLDATALOAD 00000201: PUSH1 0x18 00000203: BYTE 00000204: DUP12 00000205: PUSH1 0x34 00000207: CALLDATALOAD 00000208: DIV 00000209: PUSH2 0x05ca 0000020c: JUMP 0000020d: JUMPDEST 0000020e: PUSH1 0x01 00000210: PUSH1 0x00 00000212: CALLDATALOAD 00000213: PUSH1 0x19 00000215: BYTE 00000216: AND 00000217: ISZERO 00000218: ISZERO 00000219: PUSH2 0x0256 0000021c: JUMPI 0000021d: PUSH4 0xd0e30db0 00000222: PUSH1 0x00 00000224: MSTORE 00000225: PUSH1 0x00 00000227: PUSH1 0x00 00000229: PUSH1 0x04 0000022b: PUSH1 0x1c 0000022d: DUP9 0000022e: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000243: GAS 00000244: CALL 00000245: ISZERO 00000246: ISZERO 00000247: PUSH2 0x0255 0000024a: JUMPI 0000024b: RETURNDATASIZE 0000024c: PUSH1 0x00 0000024e: PUSH1 0x00 00000250: RETURNDATACOPY 00000251: RETURNDATASIZE 00000252: PUSH1 0x00 00000254: REVERT 00000255: JUMPDEST 00000256: JUMPDEST 00000257: PUSH1 0x6f 00000259: CALLDATASIZE 0000025a: GT 0000025b: ISZERO 0000025c: PUSH2 0x028f 0000025f: JUMPI 00000260: PUSH1 0x6f 00000262: NOT 00000263: CALLDATASIZE 00000264: ADD 00000265: PUSH1 0x70 00000267: PUSH1 0x00 00000269: CALLDATACOPY 0000026a: PUSH1 0x00 0000026c: PUSH1 0x00 0000026e: PUSH1 0x6f 00000270: NOT 00000271: CALLDATASIZE 00000272: ADD 00000273: PUSH1 0x1c 00000275: PUSH1 0x00 00000277: DUP11 00000278: PUSH1 0x5c 0000027a: CALLDATALOAD 0000027b: DIV 0000027c: GAS 0000027d: CALL 0000027e: ISZERO 0000027f: ISZERO 00000280: PUSH2 0x028e 00000283: JUMPI 00000284: RETURNDATASIZE 00000285: PUSH1 0x00 00000287: PUSH1 0x00 00000289: RETURNDATACOPY 0000028a: RETURNDATASIZE 0000028b: PUSH1 0x00 0000028d: REVERT 0000028e: JUMPDEST 0000028f: JUMPDEST 00000290: JUMPDEST 00000291: POP 00000292: POP 00000293: POP 00000294: POP 00000295: PUSH1 0x5e 00000297: CALLDATASIZE 00000298: EQ 00000299: ISZERO 0000029a: PUSH2 0x03af 0000029d: JUMPI 0000029e: PUSH14 0x4946c0e9f43f4dee607b0ef1fa1c 000002ad: SWAP2 000002ae: POP 000002af: PUSH1 0x01 000002b1: PUSH1 0xe0 000002b3: SHL 000002b4: PUSH1 0x5c 000002b6: CALLDATALOAD 000002b7: DIV 000002b8: PUSH4 0xff000000 000002bd: DUP2 000002be: AND 000002bf: ISZERO 000002c0: ISZERO 000002c1: PUSH2 0x02d7 000002c4: JUMPI 000002c5: PUSH15 0xb3f879cb30fe243b4dfee438691c04 000002d5: SWAP3 000002d6: POP 000002d7: JUMPDEST 000002d8: PUSH1 0x00 000002da: PUSH3 0x010000 000002de: PUSH3 0xff0000 000002e2: DUP4 000002e3: AND 000002e4: DIV 000002e5: PUSH1 0x02 000002e7: DUP2 000002e8: EQ 000002e9: PUSH2 0x030e 000002ec: JUMPI 000002ed: PUSH1 0x03 000002ef: DUP2 000002f0: EQ 000002f1: PUSH2 0x031a 000002f4: JUMPI 000002f5: PUSH1 0x01 000002f7: DUP2 000002f8: EQ 000002f9: PUSH2 0x0326 000002fc: JUMPI 000002fd: PUSH1 0x00 000002ff: DUP2 00000300: EQ 00000301: PUSH2 0x0332 00000304: JUMPI 00000305: PUSH1 0x00 00000307: PUSH1 0x00 00000309: REVERT 0000030a: PUSH2 0x033a 0000030d: JUMP 0000030e: JUMPDEST 0000030f: PUSH4 0xd8ccd0f3 00000314: SWAP2 00000315: POP 00000316: PUSH2 0x033a 00000319: JUMP 0000031a: JUMPDEST 0000031b: PUSH4 0x6366b936 00000320: SWAP2 00000321: POP 00000322: PUSH2 0x033a 00000325: JUMP 00000326: JUMPDEST 00000327: PUSH4 0x5f2e2b45 0000032c: SWAP2 0000032d: POP 0000032e: PUSH2 0x033a 00000331: JUMP 00000332: JUMPDEST 00000333: PUSH4 0x079d229f 00000338: SWAP2 00000339: POP 0000033a: JUMPDEST 0000033b: POP 0000033c: PUSH2 0xa3db 0000033f: PUSH2 0x8f42 00000342: GAS 00000343: DUP8 00000344: SUB 00000345: ADD 00000346: DIV 00000347: DUP1 00000348: ISZERO 00000349: ISZERO 0000034a: ISZERO 0000034b: PUSH2 0x03ab 0000034e: JUMPI 0000034f: DUP2 00000350: PUSH1 0x00 00000352: MSTORE 00000353: DUP1 00000354: PUSH1 0x20 00000356: MSTORE 00000357: PUSH1 0x24 00000359: PUSH1 0x02 0000035b: PUSH3 0x010000 0000035f: PUSH3 0xff0000 00000363: DUP7 00000364: AND 00000365: DIV 00000366: LT 00000367: ISZERO 00000368: PUSH2 0x038c 0000036b: JUMPI 0000036c: PUSH20 0xa3c09e9715e5604f8151300cc95048452224435f 00000381: PUSH1 0x20 00000383: MSTORE 00000384: DUP2 00000385: PUSH1 0x40 00000387: MSTORE 00000388: PUSH1 0x44 0000038a: SWAP1 0000038b: POP 0000038c: JUMPDEST 0000038d: PUSH1 0x00 0000038f: PUSH1 0x00 00000391: DUP3 00000392: PUSH1 0x1c 00000394: PUSH1 0x00 00000396: DUP11 00000397: GAS 00000398: CALL 00000399: ISZERO 0000039a: ISZERO 0000039b: PUSH2 0x03a9 0000039e: JUMPI 0000039f: RETURNDATASIZE 000003a0: PUSH1 0x00 000003a2: PUSH1 0x00 000003a4: RETURNDATACOPY 000003a5: RETURNDATASIZE 000003a6: PUSH1 0x00 000003a8: REVERT 000003a9: JUMPDEST 000003aa: POP 000003ab: JUMPDEST 000003ac: POP 000003ad: POP 000003ae: POP 000003af: JUMPDEST 000003b0: DUP1 000003b1: PUSH1 0x00 000003b3: MSTORE 000003b4: POP 000003b5: POP 000003b6: POP 000003b7: PUSH1 0x20 000003b9: PUSH1 0x00 000003bb: RETURN 000003bc: PUSH2 0x05c4 000003bf: JUMP 000003c0: JUMPDEST 000003c1: CALLER 000003c2: PUSH1 0x00 000003c4: SLOAD 000003c5: EQ 000003c6: ISZERO 000003c7: PUSH2 0x03ef 000003ca: JUMPI 000003cb: PUSH1 0x16 000003cd: CALLDATASIZE 000003ce: EQ 000003cf: ISZERO 000003d0: PUSH2 0x03ee 000003d3: JUMPI 000003d4: PUSH1 0x00 000003d6: CALLDATALOAD 000003d7: PUSH1 0x15 000003d9: BYTE 000003da: PUSH1 0x01 000003dc: PUSH1 0x01 000003de: PUSH1 0xa0 000003e0: SHL 000003e1: SUB 000003e2: PUSH1 0x00 000003e4: CALLDATALOAD 000003e5: PUSH1 0x50 000003e7: SHR 000003e8: AND 000003e9: PUSH2 0x1000 000003ec: ADD 000003ed: SSTORE 000003ee: JUMPDEST 000003ef: JUMPDEST 000003f0: PUSH1 0x00 000003f2: PUSH1 0x00 000003f4: RETURN 000003f5: PUSH2 0x05c4 000003f8: JUMP 000003f9: JUMPDEST 000003fa: CALLER 000003fb: PUSH1 0x00 000003fd: SLOAD 000003fe: EQ 000003ff: ISZERO 00000400: PUSH2 0x0420 00000403: JUMPI 00000404: PUSH1 0x15 00000406: CALLDATASIZE 00000407: EQ 00000408: ISZERO 00000409: PUSH2 0x041f 0000040c: JUMPI 0000040d: PUSH1 0x01 0000040f: PUSH1 0x01 00000411: PUSH1 0xa0 00000413: SHL 00000414: SUB 00000415: PUSH1 0x00 00000417: CALLDATALOAD 00000418: PUSH1 0x58 0000041a: SHR 0000041b: AND 0000041c: PUSH1 0x00 0000041e: SSTORE 0000041f: JUMPDEST 00000420: JUMPDEST 00000421: PUSH1 0x00 00000423: PUSH1 0x00 00000425: RETURN 00000426: PUSH2 0x05c4 00000429: JUMP 0000042a: JUMPDEST 0000042b: CALLER 0000042c: PUSH1 0x00 0000042e: SLOAD 0000042f: EQ 00000430: ISZERO 00000431: ISZERO 00000432: PUSH2 0x043b 00000435: JUMPI 00000436: PUSH1 0x00 00000438: PUSH1 0x00 0000043a: REVERT 0000043b: JUMPDEST 0000043c: PUSH1 0x14 0000043e: PUSH1 0xff 00000440: PUSH1 0x00 00000442: CALLDATALOAD 00000443: PUSH1 0xf0 00000445: SHR 00000446: AND 00000447: MUL 00000448: PUSH1 0x02 0000044a: ADD 0000044b: CALLDATASIZE 0000044c: LT 0000044d: ISZERO 0000044e: PUSH2 0x0457 00000451: JUMPI 00000452: PUSH1 0x00 00000454: PUSH1 0x00 00000456: REVERT 00000457: JUMPDEST 00000458: PUSH1 0x01 0000045a: NOT 0000045b: PUSH1 0x00 0000045d: DUP2 0000045e: PUSH1 0x14 00000460: PUSH1 0xff 00000462: DUP4 00000463: CALLDATALOAD 00000464: PUSH1 0xf0 00000466: SHR 00000467: AND 00000468: MUL 00000469: CALLDATASIZE 0000046a: SUB 0000046b: ADD 0000046c: PUSH1 0x14 0000046e: PUSH1 0xff 00000470: DUP4 00000471: CALLDATALOAD 00000472: PUSH1 0xf0 00000474: SHR 00000475: AND 00000476: MUL 00000477: PUSH1 0x02 00000479: ADD 0000047a: DUP3 0000047b: CALLDATACOPY 0000047c: DUP1 0000047d: DUP2 0000047e: JUMPDEST 0000047f: PUSH1 0xff 00000481: PUSH1 0x00 00000483: CALLDATALOAD 00000484: PUSH1 0xf0 00000486: SHR 00000487: AND 00000488: DUP2 00000489: LT 0000048a: ISZERO 0000048b: PUSH2 0x05ad 0000048e: JUMPI 0000048f: DUP2 00000490: MLOAD 00000491: PUSH1 0x00 00000493: PUSH1 0x04 00000495: DUP2 00000496: DUP3 00000497: DUP5 00000498: PUSH1 0x01 0000049a: BYTE 0000049b: PUSH1 0x00 0000049d: DUP2 0000049e: EQ 0000049f: PUSH2 0x04c1 000004a2: JUMPI 000004a3: PUSH1 0x01 000004a5: PUSH1 0x01 000004a7: PUSH1 0xe0 000004a9: SHL 000004aa: SUB 000004ab: DUP7 000004ac: PUSH1 0x10 000004ae: SHR 000004af: AND 000004b0: SWAP5 000004b1: POP 000004b2: PUSH1 0x20 000004b4: SWAP4 000004b5: POP 000004b6: PUSH2 0xffff 000004b9: DUP7 000004ba: AND 000004bb: SWAP3 000004bc: POP 000004bd: PUSH2 0x04cc 000004c0: JUMP 000004c1: JUMPDEST 000004c2: PUSH2 0xffff 000004c5: DUP7 000004c6: PUSH1 0xe0 000004c8: SHR 000004c9: AND 000004ca: SWAP3 000004cb: POP 000004cc: JUMPDEST 000004cd: POP 000004ce: PUSH1 0x02 000004d0: DUP3 000004d1: DUP5 000004d2: ADD 000004d3: DUP9 000004d4: ADD 000004d5: PUSH1 0x14 000004d7: PUSH1 0xff 000004d9: PUSH1 0x00 000004db: CALLDATALOAD 000004dc: PUSH1 0xf0 000004de: SHR 000004df: AND 000004e0: MUL 000004e1: ADD 000004e2: ADD 000004e3: CALLDATASIZE 000004e4: LT 000004e5: ISZERO 000004e6: PUSH2 0x04f9 000004e9: JUMPI 000004ea: PUSH1 0x01 000004ec: PUSH1 0x00 000004ee: MSTORE 000004ef: PUSH1 0x6e 000004f1: PUSH1 0x20 000004f3: MSTORE8 000004f4: PUSH1 0x21 000004f6: PUSH1 0x00 000004f8: REVERT 000004f9: JUMPDEST 000004fa: DUP5 000004fb: PUSH1 0x00 000004fd: BYTE 000004fe: PUSH1 0x00 00000500: DUP2 00000501: EQ 00000502: PUSH2 0x052c 00000505: JUMPI 00000506: PUSH1 0x01 00000508: DUP2 00000509: EQ 0000050a: PUSH2 0x054c 0000050d: JUMPI 0000050e: PUSH1 0x00 00000510: PUSH1 0x00 00000512: DUP5 00000513: DUP7 00000514: DUP12 00000515: ADD 00000516: PUSH1 0x01 00000518: PUSH1 0x60 0000051a: SHL 0000051b: PUSH1 0x14 0000051d: DUP13 0000051e: MUL 0000051f: PUSH1 0x02 00000521: ADD 00000522: CALLDATALOAD 00000523: DIV 00000524: GAS 00000525: STATICCALL 00000526: SWAP2 00000527: POP 00000528: PUSH2 0x0567 0000052b: JUMP 0000052c: JUMPDEST 0000052d: PUSH1 0x00 0000052f: PUSH1 0x00 00000531: DUP5 00000532: DUP7 00000533: DUP12 00000534: ADD 00000535: DUP9 00000536: PUSH1 0x01 00000538: PUSH1 0x60 0000053a: SHL 0000053b: PUSH1 0x14 0000053d: DUP14 0000053e: MUL 0000053f: PUSH1 0x02 00000541: ADD 00000542: CALLDATALOAD 00000543: DIV 00000544: GAS 00000545: CALL 00000546: SWAP2 00000547: POP 00000548: PUSH2 0x0567 0000054b: JUMP 0000054c: JUMPDEST 0000054d: PUSH1 0x00 0000054f: PUSH1 0x00 00000551: DUP5 00000552: DUP7 00000553: DUP12 00000554: ADD 00000555: PUSH1 0x01 00000557: PUSH1 0x60 00000559: SHL 0000055a: PUSH1 0x14 0000055c: DUP13 0000055d: MUL 0000055e: PUSH1 0x02 00000560: ADD 00000561: CALLDATALOAD 00000562: DIV 00000563: GAS 00000564: DELEGATECALL 00000565: SWAP2 00000566: POP 00000567: JUMPDEST 00000568: POP 00000569: DUP1 0000056a: ISZERO 0000056b: ISZERO 0000056c: PUSH2 0x057a 0000056f: JUMPI 00000570: RETURNDATASIZE 00000571: PUSH1 0x00 00000573: PUSH1 0x00 00000575: RETURNDATACOPY 00000576: RETURNDATASIZE 00000577: PUSH1 0x00 00000579: REVERT 0000057a: JUMPDEST 0000057b: POP 0000057c: RETURNDATASIZE 0000057d: PUSH1 0x00 0000057f: DUP10 00000580: DUP10 00000581: PUSH1 0x14 00000583: PUSH1 0xff 00000585: PUSH1 0x00 00000587: CALLDATALOAD 00000588: PUSH1 0xf0 0000058a: SHR 0000058b: AND 0000058c: MUL 0000058d: CALLDATASIZE 0000058e: SUB 0000058f: ADD 00000590: ADD 00000591: RETURNDATACOPY 00000592: RETURNDATASIZE 00000593: DUP8 00000594: ADD 00000595: SWAP7 00000596: POP 00000597: DUP1 00000598: DUP3 00000599: ADD 0000059a: DUP7 0000059b: ADD 0000059c: SWAP6 0000059d: POP 0000059e: POP 0000059f: POP 000005a0: POP 000005a1: POP 000005a2: JUMPDEST 000005a3: PUSH1 0x01 000005a5: DUP2 000005a6: ADD 000005a7: SWAP1 000005a8: POP 000005a9: PUSH2 0x047e 000005ac: JUMP 000005ad: JUMPDEST 000005ae: POP 000005af: POP 000005b0: DUP1 000005b1: DUP3 000005b2: PUSH1 0x14 000005b4: PUSH1 0xff 000005b6: PUSH1 0x00 000005b8: CALLDATALOAD 000005b9: PUSH1 0xf0 000005bb: SHR 000005bc: AND 000005bd: MUL 000005be: CALLDATASIZE 000005bf: SUB 000005c0: ADD 000005c1: RETURN 000005c2: POP 000005c3: POP 000005c4: JUMPDEST 000005c5: POP 000005c6: PUSH2 0x0a12 000005c9: JUMP 000005ca: JUMPDEST 000005cb: PUSH1 0x00 000005cd: DUP4 000005ce: ISZERO 000005cf: ISZERO 000005d0: PUSH2 0x05d7 000005d3: JUMPI 000005d4: DUP6 000005d5: SWAP1 000005d6: POP 000005d7: JUMPDEST 000005d8: DUP3 000005d9: PUSH1 0x00 000005db: DUP2 000005dc: EQ 000005dd: PUSH2 0x0640 000005e0: JUMPI 000005e1: PUSH1 0x01 000005e3: DUP2 000005e4: EQ 000005e5: PUSH2 0x0695 000005e8: JUMPI 000005e9: PUSH1 0x02 000005eb: DUP2 000005ec: EQ 000005ed: PUSH2 0x06d8 000005f0: JUMPI 000005f1: PUSH1 0x01 000005f3: SLOAD 000005f4: DUP1 000005f5: ISZERO 000005f6: ISZERO 000005f7: PUSH2 0x060a 000005fa: JUMPI 000005fb: PUSH1 0x01 000005fd: PUSH1 0x00 000005ff: MSTORE 00000600: PUSH1 0x64 00000602: PUSH1 0x20 00000604: MSTORE8 00000605: PUSH1 0x21 00000607: PUSH1 0x00 00000609: REVERT 0000060a: JUMPDEST 0000060b: DUP5 0000060c: PUSH2 0x0e00 0000060f: ADD 00000610: PUSH1 0x00 00000612: MSTORE 00000613: DUP6 00000614: PUSH1 0x20 00000616: MSTORE 00000617: DUP7 00000618: PUSH1 0x40 0000061a: MSTORE 0000061b: DUP8 0000061c: PUSH1 0x60 0000061e: MSTORE 0000061f: PUSH1 0x00 00000621: PUSH1 0x00 00000623: PUSH1 0x62 00000625: PUSH1 0x1e 00000627: DUP5 00000628: GAS 00000629: DELEGATECALL 0000062a: ISZERO 0000062b: ISZERO 0000062c: PUSH2 0x063a 0000062f: JUMPI 00000630: RETURNDATASIZE 00000631: PUSH1 0x00 00000633: PUSH1 0x00 00000635: RETURNDATACOPY 00000636: RETURNDATASIZE 00000637: PUSH1 0x00 00000639: REVERT 0000063a: JUMPDEST 0000063b: POP 0000063c: PUSH2 0x0714 0000063f: JUMP 00000640: JUMPDEST 00000641: PUSH1 0x00 00000643: DUP9 00000644: DUP8 00000645: DUP8 00000646: GT 00000647: ISZERO 00000648: PUSH2 0x0653 0000064b: JUMPI 0000064c: DUP10 0000064d: SWAP2 0000064e: POP 0000064f: PUSH1 0x00 00000651: SWAP1 00000652: POP 00000653: JUMPDEST 00000654: PUSH4 0x022c0d9f 00000659: PUSH1 0x00 0000065b: MSTORE 0000065c: DUP2 0000065d: PUSH1 0x20 0000065f: MSTORE 00000660: DUP1 00000661: PUSH1 0x40 00000663: MSTORE 00000664: POP 00000665: POP 00000666: ADDRESS 00000667: PUSH1 0x60 00000669: MSTORE 0000066a: PUSH1 0x80 0000066c: PUSH1 0x80 0000066e: MSTORE 0000066f: PUSH1 0x00 00000671: PUSH1 0xa0 00000673: MSTORE 00000674: PUSH1 0x00 00000676: PUSH1 0x00 00000678: PUSH1 0xa4 0000067a: PUSH1 0x1c 0000067c: DUP6 0000067d: DUP8 0000067e: GAS 0000067f: CALL 00000680: ISZERO 00000681: ISZERO 00000682: PUSH2 0x0690 00000685: JUMPI 00000686: RETURNDATASIZE 00000687: PUSH1 0x00 00000689: PUSH1 0x00 0000068b: RETURNDATACOPY 0000068c: RETURNDATASIZE 0000068d: PUSH1 0x00 0000068f: REVERT 00000690: JUMPDEST 00000691: PUSH2 0x0714 00000694: JUMP 00000695: JUMPDEST 00000696: PUSH4 0x8201aa3f 0000069b: PUSH1 0x00 0000069d: MSTORE 0000069e: DUP5 0000069f: PUSH1 0x20 000006a1: MSTORE 000006a2: DUP7 000006a3: PUSH1 0x40 000006a5: MSTORE 000006a6: DUP6 000006a7: PUSH1 0x60 000006a9: MSTORE 000006aa: PUSH1 0x00 000006ac: PUSH1 0x80 000006ae: MSTORE 000006af: PUSH1 0xff 000006b1: PUSH1 0xf0 000006b3: SHL 000006b4: PUSH1 0xa0 000006b6: MSTORE 000006b7: PUSH1 0x00 000006b9: PUSH1 0x00 000006bb: PUSH1 0xa4 000006bd: PUSH1 0x1c 000006bf: DUP6 000006c0: DUP8 000006c1: GAS 000006c2: CALL 000006c3: ISZERO 000006c4: ISZERO 000006c5: PUSH2 0x06d3 000006c8: JUMPI 000006c9: RETURNDATASIZE 000006ca: PUSH1 0x00 000006cc: PUSH1 0x00 000006ce: RETURNDATACOPY 000006cf: RETURNDATASIZE 000006d0: PUSH1 0x00 000006d2: REVERT 000006d3: JUMPDEST 000006d4: PUSH2 0x0714 000006d7: JUMP 000006d8: JUMPDEST 000006d9: PUSH4 0xd5bcb9b5 000006de: PUSH1 0x00 000006e0: MSTORE 000006e1: DUP5 000006e2: PUSH1 0x20 000006e4: MSTORE 000006e5: DUP6 000006e6: PUSH1 0x40 000006e8: MSTORE 000006e9: DUP7 000006ea: PUSH1 0x60 000006ec: MSTORE 000006ed: PUSH1 0x00 000006ef: PUSH1 0x80 000006f1: MSTORE 000006f2: PUSH1 0x00 000006f4: PUSH1 0xa0 000006f6: MSTORE 000006f7: PUSH1 0x00 000006f9: PUSH1 0x00 000006fb: PUSH1 0xa4 000006fd: PUSH1 0x1c 000006ff: DUP6 00000700: DUP8 00000701: GAS 00000702: CALL 00000703: ISZERO 00000704: ISZERO 00000705: PUSH2 0x0713 00000708: JUMPI 00000709: RETURNDATASIZE 0000070a: PUSH1 0x00 0000070c: PUSH1 0x00 0000070e: RETURNDATACOPY 0000070f: RETURNDATASIZE 00000710: PUSH1 0x00 00000712: REVERT 00000713: JUMPDEST 00000714: JUMPDEST 00000715: POP 00000716: POP 00000717: JUMPDEST 00000718: POP 00000719: POP 0000071a: POP 0000071b: POP 0000071c: POP 0000071d: POP 0000071e: JUMP 0000071f: JUMPDEST 00000720: DUP3 00000721: ISZERO 00000722: DUP1 00000723: ISZERO 00000724: PUSH2 0x078d 00000727: JUMPI 00000728: CALLVALUE 00000729: ISZERO 0000072a: DUP1 0000072b: ISZERO 0000072c: ISZERO 0000072d: PUSH2 0x074a 00000730: JUMPI 00000731: DUP6 00000732: CALLVALUE 00000733: EQ 00000734: ISZERO 00000735: ISZERO 00000736: PUSH2 0x0749 00000739: JUMPI 0000073a: PUSH1 0x01 0000073c: PUSH1 0x00 0000073e: MSTORE 0000073f: PUSH1 0x6d 00000741: PUSH1 0x20 00000743: MSTORE 00000744: PUSH1 0x21 00000746: PUSH1 0x00 00000748: REVERT 00000749: JUMPDEST 0000074a: JUMPDEST 0000074b: DUP1 0000074c: ISZERO 0000074d: PUSH2 0x078b 00000750: JUMPI 00000751: PUSH1 0x00 00000753: PUSH4 0x2e1a7d4d 00000758: DUP2 00000759: MSTORE 0000075a: DUP7 0000075b: PUSH1 0x20 0000075d: MSTORE 0000075e: DUP1 0000075f: DUP2 00000760: PUSH1 0x24 00000762: PUSH1 0x1c 00000764: DUP5 00000765: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 0000077a: GAS 0000077b: CALL 0000077c: ISZERO 0000077d: ISZERO 0000077e: PUSH2 0x0789 00000781: JUMPI 00000782: RETURNDATASIZE 00000783: DUP2 00000784: DUP3 00000785: RETURNDATACOPY 00000786: RETURNDATASIZE 00000787: DUP2 00000788: REVERT 00000789: JUMPDEST 0000078a: POP 0000078b: JUMPDEST 0000078c: POP 0000078d: JUMPDEST 0000078e: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000007a3: DUP1 000007a4: DUP6 000007a5: EQ 000007a6: ISZERO 000007a7: PUSH2 0x07ef 000007aa: JUMPI 000007ab: CALLVALUE 000007ac: ISZERO 000007ad: ISZERO 000007ae: ISZERO 000007af: PUSH2 0x07ee 000007b2: JUMPI 000007b3: DUP6 000007b4: CALLVALUE 000007b5: EQ 000007b6: ISZERO 000007b7: ISZERO 000007b8: PUSH2 0x07cb 000007bb: JUMPI 000007bc: PUSH1 0x01 000007be: PUSH1 0x00 000007c0: MSTORE 000007c1: PUSH1 0x6d 000007c3: PUSH1 0x20 000007c5: MSTORE 000007c6: PUSH1 0x21 000007c8: PUSH1 0x00 000007ca: REVERT 000007cb: JUMPDEST 000007cc: PUSH1 0x00 000007ce: PUSH4 0xd0e30db0 000007d3: DUP2 000007d4: MSTORE 000007d5: DUP1 000007d6: DUP2 000007d7: PUSH1 0x04 000007d9: PUSH1 0x1c 000007db: DUP11 000007dc: DUP7 000007dd: GAS 000007de: CALL 000007df: ISZERO 000007e0: ISZERO 000007e1: PUSH2 0x07ec 000007e4: JUMPI 000007e5: RETURNDATASIZE 000007e6: DUP2 000007e7: DUP3 000007e8: RETURNDATACOPY 000007e9: RETURNDATASIZE 000007ea: DUP2 000007eb: REVERT 000007ec: JUMPDEST 000007ed: POP 000007ee: JUMPDEST 000007ef: JUMPDEST 000007f0: POP 000007f1: DUP1 000007f2: ISZERO 000007f3: ISZERO 000007f4: PUSH2 0x0868 000007f7: JUMPI 000007f8: PUSH1 0x02 000007fa: DUP3 000007fb: AND 000007fc: ISZERO 000007fd: ISZERO 000007fe: ISZERO 000007ff: PUSH2 0x0831 00000802: JUMPI 00000803: PUSH1 0x00 00000805: PUSH4 0x095ea7b3 0000080a: DUP2 0000080b: MSTORE 0000080c: DUP4 0000080d: PUSH1 0x20 0000080f: MSTORE 00000810: PUSH1 0x01 00000812: PUSH1 0xff 00000814: SHL 00000815: PUSH1 0x40 00000817: MSTORE 00000818: DUP1 00000819: DUP2 0000081a: PUSH1 0x44 0000081c: PUSH1 0x1c 0000081e: DUP5 0000081f: DUP10 00000820: GAS 00000821: CALL 00000822: ISZERO 00000823: ISZERO 00000824: PUSH2 0x082f 00000827: JUMPI 00000828: RETURNDATASIZE 00000829: DUP2 0000082a: DUP3 0000082b: RETURNDATACOPY 0000082c: RETURNDATASIZE 0000082d: DUP2 0000082e: REVERT 0000082f: JUMPDEST 00000830: POP 00000831: JUMPDEST 00000832: PUSH1 0x04 00000834: DUP3 00000835: AND 00000836: ISZERO 00000837: ISZERO 00000838: ISZERO 00000839: PUSH2 0x0867 0000083c: JUMPI 0000083d: PUSH1 0x00 0000083f: PUSH4 0xa9059cbb 00000844: DUP2 00000845: MSTORE 00000846: DUP4 00000847: PUSH1 0x20 00000849: MSTORE 0000084a: DUP6 0000084b: PUSH1 0x40 0000084d: MSTORE 0000084e: DUP1 0000084f: DUP2 00000850: PUSH1 0x44 00000852: PUSH1 0x1c 00000854: DUP5 00000855: DUP10 00000856: GAS 00000857: CALL 00000858: ISZERO 00000859: ISZERO 0000085a: PUSH2 0x0865 0000085d: JUMPI 0000085e: RETURNDATASIZE 0000085f: DUP2 00000860: DUP3 00000861: RETURNDATACOPY 00000862: RETURNDATASIZE 00000863: DUP2 00000864: REVERT 00000865: JUMPDEST 00000866: POP 00000867: JUMPDEST 00000868: JUMPDEST 00000869: POP 0000086a: JUMPDEST 0000086b: POP 0000086c: POP 0000086d: POP 0000086e: POP 0000086f: JUMP 00000870: JUMPDEST 00000871: PUSH1 0x00 00000873: DUP2 00000874: PUSH1 0x00 00000876: DUP2 00000877: EQ 00000878: PUSH2 0x08de 0000087b: JUMPI 0000087c: PUSH1 0x01 0000087e: DUP2 0000087f: EQ 00000880: PUSH2 0x093b 00000883: JUMPI 00000884: PUSH1 0x02 00000886: DUP2 00000887: EQ 00000888: PUSH2 0x09d1 0000088b: JUMPI 0000088c: PUSH1 0x01 0000088e: SLOAD 0000088f: DUP1 00000890: ISZERO 00000891: ISZERO 00000892: PUSH2 0x08a5 00000895: JUMPI 00000896: PUSH1 0x01 00000898: PUSH1 0x00 0000089a: MSTORE 0000089b: PUSH1 0x64 0000089d: PUSH1 0x20 0000089f: MSTORE8 000008a0: PUSH1 0x21 000008a2: PUSH1 0x00 000008a4: REVERT 000008a5: JUMPDEST 000008a6: PUSH1 0x00 000008a8: DUP5 000008a9: PUSH2 0x0f00 000008ac: ADD 000008ad: DUP2 000008ae: MSTORE 000008af: DUP7 000008b0: PUSH1 0x20 000008b2: MSTORE 000008b3: DUP8 000008b4: PUSH1 0x40 000008b6: MSTORE 000008b7: DUP9 000008b8: PUSH1 0x60 000008ba: MSTORE 000008bb: PUSH1 0x20 000008bd: DUP2 000008be: PUSH1 0x62 000008c0: PUSH1 0x1e 000008c2: DUP5 000008c3: DUP7 000008c4: GAS 000008c5: CALL 000008c6: ISZERO 000008c7: ISZERO 000008c8: PUSH2 0x08d3 000008cb: JUMPI 000008cc: RETURNDATASIZE 000008cd: DUP2 000008ce: DUP3 000008cf: RETURNDATACOPY 000008d0: RETURNDATASIZE 000008d1: DUP2 000008d2: REVERT 000008d3: JUMPDEST 000008d4: DUP1 000008d5: MLOAD 000008d6: SWAP4 000008d7: POP 000008d8: POP 000008d9: POP 000008da: PUSH2 0x0a04 000008dd: JUMP 000008de: JUMPDEST 000008df: DUP9 000008e0: DUP11 000008e1: DUP11 000008e2: ISZERO 000008e3: ISZERO 000008e4: PUSH2 0x0910 000008e7: JUMPI 000008e8: PUSH4 0x0902f1ac 000008ed: DUP5 000008ee: MSTORE 000008ef: PUSH1 0x40 000008f1: DUP5 000008f2: PUSH1 0x04 000008f4: PUSH1 0x1c 000008f6: DUP10 000008f7: GAS 000008f8: STATICCALL 000008f9: ISZERO 000008fa: ISZERO 000008fb: PUSH2 0x0906 000008fe: JUMPI 000008ff: RETURNDATASIZE 00000900: DUP5 00000901: DUP6 00000902: RETURNDATACOPY 00000903: RETURNDATASIZE 00000904: DUP5 00000905: REVERT 00000906: JUMPDEST 00000907: DUP4 00000908: MLOAD 00000909: SWAP2 0000090a: POP 0000090b: PUSH1 0x20 0000090d: MLOAD 0000090e: SWAP1 0000090f: POP 00000910: JUMPDEST 00000911: DUP8 00000912: DUP8 00000913: GT 00000914: ISZERO 00000915: PUSH2 0x091f 00000918: JUMPI 00000919: DUP1 0000091a: SWAP2 0000091b: POP 0000091c: DUP11 0000091d: SWAP1 0000091e: POP 0000091f: JUMPDEST 00000920: PUSH2 0x03e5 00000923: DUP1 00000924: DUP11 00000925: MUL 00000926: PUSH2 0x03e8 00000929: DUP5 0000092a: MUL 0000092b: ADD 0000092c: DUP2 0000092d: DUP4 0000092e: DUP13 0000092f: MUL 00000930: MUL 00000931: DIV 00000932: SWAP5 00000933: POP 00000934: POP 00000935: POP 00000936: POP 00000937: PUSH2 0x0a04 0000093a: JUMP 0000093b: JUMPDEST 0000093c: DUP8 0000093d: CALLDATALOAD 0000093e: PUSH2 0xffff 00000941: PUSH1 0x00 00000943: PUSH4 0xf8b2cb4f 00000948: DUP2 00000949: MSTORE 0000094a: PUSH1 0x20 0000094c: DUP9 0000094d: DUP2 0000094e: MSTORE 0000094f: DUP1 00000950: PUSH1 0x40 00000952: PUSH1 0x24 00000954: PUSH1 0x1c 00000956: DUP12 00000957: GAS 00000958: STATICCALL 00000959: ISZERO 0000095a: ISZERO 0000095b: PUSH2 0x0966 0000095e: JUMPI 0000095f: RETURNDATASIZE 00000960: DUP3 00000961: DUP4 00000962: RETURNDATACOPY 00000963: RETURNDATASIZE 00000964: DUP3 00000965: REVERT 00000966: JUMPDEST 00000967: DUP10 00000968: DUP2 00000969: MSTORE 0000096a: DUP1 0000096b: PUSH1 0x80 0000096d: PUSH1 0x24 0000096f: PUSH1 0x1c 00000971: DUP12 00000972: GAS 00000973: STATICCALL 00000974: ISZERO 00000975: ISZERO 00000976: PUSH2 0x0981 00000979: JUMPI 0000097a: RETURNDATASIZE 0000097b: DUP3 0000097c: DUP4 0000097d: RETURNDATACOPY 0000097e: RETURNDATASIZE 0000097f: DUP3 00000980: REVERT 00000981: JUMPDEST 00000982: PUSH4 0xba9530a6 00000987: DUP2 00000988: MSTORE 00000989: DUP4 0000098a: PUSH1 0xf0 0000098c: SHR 0000098d: PUSH1 0x60 0000098f: MSTORE 00000990: DUP3 00000991: DUP5 00000992: PUSH1 0xe0 00000994: SHR 00000995: AND 00000996: PUSH1 0xa0 00000998: MSTORE 00000999: DUP11 0000099a: PUSH1 0xb0 0000099c: MSTORE 0000099d: PUSH6 0x5af3107a4000 000009a4: DUP4 000009a5: DUP6 000009a6: PUSH1 0xd0 000009a8: SHR 000009a9: AND 000009aa: MUL 000009ab: PUSH1 0xc0 000009ad: MSTORE 000009ae: DUP1 000009af: DUP2 000009b0: PUSH1 0xc4 000009b2: PUSH1 0x3c 000009b4: DUP12 000009b5: GAS 000009b6: STATICCALL 000009b7: ISZERO 000009b8: ISZERO 000009b9: PUSH2 0x09c4 000009bc: JUMPI 000009bd: RETURNDATASIZE 000009be: DUP3 000009bf: DUP4 000009c0: RETURNDATACOPY 000009c1: RETURNDATASIZE 000009c2: DUP3 000009c3: REVERT 000009c4: JUMPDEST 000009c5: DUP1 000009c6: MLOAD 000009c7: SWAP6 000009c8: POP 000009c9: POP 000009ca: POP 000009cb: POP 000009cc: POP 000009cd: PUSH2 0x0a04 000009d0: JUMP 000009d1: JUMPDEST 000009d2: PUSH1 0x00 000009d4: PUSH4 0x1e1401f8 000009d9: DUP2 000009da: MSTORE 000009db: DUP6 000009dc: PUSH1 0x20 000009de: MSTORE 000009df: DUP7 000009e0: PUSH1 0x40 000009e2: MSTORE 000009e3: DUP8 000009e4: PUSH1 0x60 000009e6: MSTORE 000009e7: PUSH1 0x20 000009e9: DUP2 000009ea: PUSH1 0x64 000009ec: PUSH1 0x1c 000009ee: DUP9 000009ef: GAS 000009f0: STATICCALL 000009f1: ISZERO 000009f2: ISZERO 000009f3: PUSH2 0x09fe 000009f6: JUMPI 000009f7: RETURNDATASIZE 000009f8: DUP2 000009f9: DUP3 000009fa: RETURNDATACOPY 000009fb: RETURNDATASIZE 000009fc: DUP2 000009fd: REVERT 000009fe: JUMPDEST 000009ff: DUP1 00000a00: MLOAD 00000a01: SWAP3 00000a02: POP 00000a03: POP 00000a04: JUMPDEST 00000a05: POP 00000a06: JUMPDEST 00000a07: SWAP9 00000a08: SWAP8 00000a09: POP 00000a0a: POP 00000a0b: POP 00000a0c: POP 00000a0d: POP 00000a0e: POP 00000a0f: POP 00000a10: POP 00000a11: JUMP 00000a12: JUMPDEST
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | upgradeability | detector | Untrusted DELEGATECALL target reachable | 55 | no | no |
viewvalidation_json{
"sink": "DELEGATECALL",
"errors": 10,
"status": "unknown",
"attempts": 11,
"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": "0x",
"selector": "fallback",
"calldata_variants": [
"0x"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1380,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 1577,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 965,
"type": "msg_sender_eq_storage"
},
{
"pc": 1022,
"type": "msg_sender_eq_storage"
},
{
"pc": 1071,
"type": "msg_sender_eq_storage"
}
],
"delegatecall_count": 2,
"untrusted_delegatecall_count": 2
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 2
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x466b876767b74b73359e18d6125a47436163c5e95b7f6c0040b8fe821713e444
call_targets:
0x1adb8532b58aee3332ee070554051e9859734a34
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x466b876767b74b73359e18d6125a47436163c5e95b7f6c0040b8fe821713e444",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1adb8532b58aee3332ee070554051e9859734a34"
],
"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": "0x",
"selector": "fallback",
"calldata_variants": [
"0x"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 637,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "constant_zero",
"target_expression_category": "computed"
},
{
"pc": 920,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1349,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 12,
"guards_detected": [
{
"pc": 965,
"type": "msg_sender_eq_storage"
},
{
"pc": 1022,
"type": "msg_sender_eq_storage"
},
{
"pc": 1071,
"type": "msg_sender_eq_storage"
}
],
"untrusted_call_count": 9
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x466b876767b74b73359e18d6125a47436163c5e95b7f6c0040b8fe821713e444
call_targets:
0x1adb8532b58aee3332ee070554051e9859734a34
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x466b876767b74b73359e18d6125a47436163c5e95b7f6c0040b8fe821713e444",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1adb8532b58aee3332ee070554051e9859734a34"
],
"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": "0x",
"selector": "fallback",
"calldata_variants": [
"0x"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 920,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1349,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1730,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "constant"
}
],
"eth_value_calls": 8,
"guards_detected": [
{
"pc": 965,
"type": "msg_sender_eq_storage"
},
{
"pc": 1022,
"type": "msg_sender_eq_storage"
},
{
"pc": 1071,
"type": "msg_sender_eq_storage"
}
]
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 19
}
|