15581f51-4417-4bd0-978d-4eed14f14057
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 |
|---|---|---|---|---|
| 30841 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 94057 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 94058 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 94059 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 94060 | capability.graph | complete | 1 / 3 | 1 week ago |
| 94061 | detector.run | complete | 1 / 3 | 1 week ago |
| 94062 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:430297] OpenAI Codex v0.77.0 (research preview)
[codex:430297] --------
[codex:430297] workdir: /tmp/codex-multi-7y5_qigq
[codex:430297] model: gpt-5.2-codex
[codex:430297] provider: openai
[codex:430297] approval: never
[codex:430297] sandbox: read-only
[codex:430297] reasoning effort: xhigh
[codex:430297] reasoning summaries: auto
[codex:430297] session id: 019b74f9-e4f9-7190-94dc-1ce10a7e279c
[codex:430297] --------
[codex:430297] user
[codex:430297] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:430297]
[codex:430297] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:430297]
[codex:430297] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:430297] - Gas inefficiency, code quality, naming, or best practices
[codex:430297] - Theoretical vulnerabilities without a clear extraction path
[codex:430297] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:430297] - Front-running unless it enables theft beyond MEV
[codex:430297] - DoS, griefing, or issues that don't result in attacker profit
[codex:430297] - Missing events, view function issues, or informational findings
[codex:430297]
[codex:430297] HIGH-VALUE PATTERNS TO HUNT:
[codex:430297] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:430297] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:430297] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:430297] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:430297] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:430297] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:430297] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:430297] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:430297] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:430297]
[codex:430297] For each finding, you MUST provide:
[codex:430297] 1. Exact file and line numbers of vulnerable code
[codex:430297] 2. Step-by-step exploit transaction sequence
[codex:430297] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:430297]
[codex:430297] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:430297]
[codex:430297] Output MUST be valid JSON matching the provided schema.
[codex:430297] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:430297] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:430297] mcp startup: no servers
[codex:430297]
[codex:430297] thinking
[codex:430297] **Preparing to read AUDIT_BUNDLE.txt**
[codex:430297] exec
[codex:430297] /bin/bash -lc ls in /tmp/codex-multi-7y5_qigq succeeded in 5ms:
[codex:430297] AUDIT_BUNDLE.txt
[codex:430297] codex-output-schema.json
[codex:430297] contracts
[codex:430297] exec
[codex:430297] /bin/bash -lc 'rg --files' in /tmp/codex-multi-7y5_qigq succeeded in 10ms:
[codex:430297] codex-output-schema.json
[codex:430297] AUDIT_BUNDLE.txt
[codex:430297] contracts/Contract.sol
[codex:430297] exec
[codex:430297] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-7y5_qigq succeeded in 5ms:
[codex:430297] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:430297]
[codex:430297] ================================================================================
[codex:430297] FILE: contracts/Contract.sol
[codex:430297] ================================================================================
[codex:430297] // hevm: flattened sources of /nix/store/8xb41r4qd0cjb63wcrxf1qmfg88p0961-dss-6fd7de0/src/join.sol
[codex:430297] pragma solidity =0.5.12;
[codex:430297]
[codex:430297] ////// /nix/store/8xb41r4qd0cjb63wcrxf1qmfg88p0961-dss-6fd7de0/src/lib.sol
[codex:430297] // This program is free software: you can redistribute it and/or modify
[codex:430297] // it under the terms of the GNU General Public License as published by
[codex:430297] // the Free Software Foundation, either version 3 of the License, or
[codex:430297] // (at your option) any later version.
[codex:430297]
[codex:430297] // This program is distributed in the hope that it will be useful,
[codex:430297] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:430297] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:430297] // GNU General Public License for more details.
[codex:430297]
[codex:430297] // You should have received a copy of the GNU General Public License
[codex:430297]
[codex:430297] thinking
[codex:430297] **Analyzing join adapters for exploits**
[codex:430297]
[codex:430297] I'm reviewing the MakerDAO join adapters for any concrete exploit paths to profit, focusing on reentrancy, access control, and assumptions about token behavior. Despite some theoretical risks—like malicious tokens cheating transfer returns or exit functions lacking live checks—there are no clear, concrete vulnerabilities here given standard, trusted tokens and the external Vat contract’s protections. I'll conclude with a JSON stating no findings and a summary reflecting that outcome.
[codex:430297] codex
[codex:430297] {"no_findings":true,"summary":"No concrete, exploitable profit paths found in the provided join adapter contracts.","findings":[]}
[codex:430297] tokens used
[codex:430297] 6,511
[codex:430297] {"no_findings":true,"summary":"No concrete, exploitable profit paths found in the provided join adapter contracts.","findings":[]}
{
"codex": {
"ran_at": "2025-12-31T15:15:49.471103+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable profit paths found in the provided join adapter contracts.",
"raw_final": {
"summary": "No concrete, exploitable profit paths found in the provided join adapter contracts.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x00a9 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x957aa58c 00000026: GT 00000027: PUSH2 0x0071 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0x957aa58c 00000031: EQ 00000032: PUSH2 0x01de 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0x9c52a7f1 0000003c: EQ 0000003d: PUSH2 0x01fc 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xb3bcfa82 00000047: EQ 00000048: PUSH2 0x0240 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xbf353dbb 00000052: EQ 00000053: PUSH2 0x025e 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xc5ce281e 0000005d: EQ 0000005e: PUSH2 0x02b6 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xef693bed 00000068: EQ 00000069: PUSH2 0x02d4 0000006c: JUMPI 0000006d: PUSH2 0x00a9 00000070: JUMP 00000071: JUMPDEST 00000072: DUP1 00000073: PUSH4 0x36569e77 00000078: EQ 00000079: PUSH2 0x00ae 0000007c: JUMPI 0000007d: DUP1 0000007e: PUSH4 0x3b4da69f 00000083: EQ 00000084: PUSH2 0x00f8 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0x65fae35e 0000008e: EQ 0000008f: PUSH2 0x0146 00000092: JUMPI 00000093: DUP1 00000094: PUSH4 0x69245009 00000099: EQ 0000009a: PUSH2 0x018a 0000009d: JUMPI 0000009e: DUP1 0000009f: PUSH4 0x7bd2bea7 000000a4: EQ 000000a5: PUSH2 0x0194 000000a8: JUMPI 000000a9: JUMPDEST 000000aa: PUSH1 0x00 000000ac: DUP1 000000ad: REVERT 000000ae: JUMPDEST 000000af: PUSH2 0x00b6 000000b2: PUSH2 0x0322 000000b5: JUMP 000000b6: JUMPDEST 000000b7: PUSH1 0x40 000000b9: MLOAD 000000ba: DUP1 000000bb: DUP3 000000bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000d1: AND 000000d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000e7: AND 000000e8: DUP2 000000e9: MSTORE 000000ea: PUSH1 0x20 000000ec: ADD 000000ed: SWAP2 000000ee: POP 000000ef: POP 000000f0: PUSH1 0x40 000000f2: MLOAD 000000f3: DUP1 000000f4: SWAP2 000000f5: SUB 000000f6: SWAP1 000000f7: RETURN 000000f8: JUMPDEST 000000f9: PUSH2 0x0144 000000fc: PUSH1 0x04 000000fe: DUP1 000000ff: CALLDATASIZE 00000100: SUB 00000101: PUSH1 0x40 00000103: DUP2 00000104: LT 00000105: ISZERO 00000106: PUSH2 0x010e 00000109: JUMPI 0000010a: PUSH1 0x00 0000010c: DUP1 0000010d: REVERT 0000010e: JUMPDEST 0000010f: DUP2 00000110: ADD 00000111: SWAP1 00000112: DUP1 00000113: DUP1 00000114: CALLDATALOAD 00000115: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000012a: AND 0000012b: SWAP1 0000012c: PUSH1 0x20 0000012e: ADD 0000012f: SWAP1 00000130: SWAP3 00000131: SWAP2 00000132: SWAP1 00000133: DUP1 00000134: CALLDATALOAD 00000135: SWAP1 00000136: PUSH1 0x20 00000138: ADD 00000139: SWAP1 0000013a: SWAP3 0000013b: SWAP2 0000013c: SWAP1 0000013d: POP 0000013e: POP 0000013f: POP 00000140: PUSH2 0x0348 00000143: JUMP 00000144: JUMPDEST 00000145: STOP 00000146: JUMPDEST 00000147: PUSH2 0x0188 0000014a: PUSH1 0x04 0000014c: DUP1 0000014d: CALLDATASIZE 0000014e: SUB 0000014f: PUSH1 0x20 00000151: DUP2 00000152: LT 00000153: ISZERO 00000154: PUSH2 0x015c 00000157: JUMPI 00000158: PUSH1 0x00 0000015a: DUP1 0000015b: REVERT 0000015c: JUMPDEST 0000015d: DUP2 0000015e: ADD 0000015f: SWAP1 00000160: DUP1 00000161: DUP1 00000162: CALLDATALOAD 00000163: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000178: AND 00000179: SWAP1 0000017a: PUSH1 0x20 0000017c: ADD 0000017d: SWAP1 0000017e: SWAP3 0000017f: SWAP2 00000180: SWAP1 00000181: POP 00000182: POP 00000183: POP 00000184: PUSH2 0x06c3 00000187: JUMP 00000188: JUMPDEST 00000189: STOP 0000018a: JUMPDEST 0000018b: PUSH2 0x0192 0000018e: PUSH2 0x07f1 00000191: JUMP 00000192: JUMPDEST 00000193: STOP 00000194: JUMPDEST 00000195: PUSH2 0x019c 00000198: PUSH2 0x08e2 0000019b: JUMP 0000019c: JUMPDEST 0000019d: PUSH1 0x40 0000019f: MLOAD 000001a0: DUP1 000001a1: DUP3 000001a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001b7: AND 000001b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001cd: AND 000001ce: DUP2 000001cf: MSTORE 000001d0: PUSH1 0x20 000001d2: ADD 000001d3: SWAP2 000001d4: POP 000001d5: POP 000001d6: PUSH1 0x40 000001d8: MLOAD 000001d9: DUP1 000001da: SWAP2 000001db: SUB 000001dc: SWAP1 000001dd: RETURN 000001de: JUMPDEST 000001df: PUSH2 0x01e6 000001e2: PUSH2 0x0908 000001e5: JUMP 000001e6: JUMPDEST 000001e7: PUSH1 0x40 000001e9: MLOAD 000001ea: DUP1 000001eb: DUP3 000001ec: DUP2 000001ed: MSTORE 000001ee: PUSH1 0x20 000001f0: ADD 000001f1: SWAP2 000001f2: POP 000001f3: POP 000001f4: PUSH1 0x40 000001f6: MLOAD 000001f7: DUP1 000001f8: SWAP2 000001f9: SUB 000001fa: SWAP1 000001fb: RETURN 000001fc: JUMPDEST 000001fd: PUSH2 0x023e 00000200: PUSH1 0x04 00000202: DUP1 00000203: CALLDATASIZE 00000204: SUB 00000205: PUSH1 0x20 00000207: DUP2 00000208: LT 00000209: ISZERO 0000020a: PUSH2 0x0212 0000020d: JUMPI 0000020e: PUSH1 0x00 00000210: DUP1 00000211: REVERT 00000212: JUMPDEST 00000213: DUP2 00000214: ADD 00000215: SWAP1 00000216: DUP1 00000217: DUP1 00000218: CALLDATALOAD 00000219: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000022e: AND 0000022f: SWAP1 00000230: PUSH1 0x20 00000232: ADD 00000233: SWAP1 00000234: SWAP3 00000235: SWAP2 00000236: SWAP1 00000237: POP 00000238: POP 00000239: POP 0000023a: PUSH2 0x090e 0000023d: JUMP 0000023e: JUMPDEST 0000023f: STOP 00000240: JUMPDEST 00000241: PUSH2 0x0248 00000244: PUSH2 0x0a3c 00000247: JUMP 00000248: JUMPDEST 00000249: PUSH1 0x40 0000024b: MLOAD 0000024c: DUP1 0000024d: DUP3 0000024e: DUP2 0000024f: MSTORE 00000250: PUSH1 0x20 00000252: ADD 00000253: SWAP2 00000254: POP 00000255: POP 00000256: PUSH1 0x40 00000258: MLOAD 00000259: DUP1 0000025a: SWAP2 0000025b: SUB 0000025c: SWAP1 0000025d: RETURN 0000025e: JUMPDEST 0000025f: PUSH2 0x02a0 00000262: PUSH1 0x04 00000264: DUP1 00000265: CALLDATASIZE 00000266: SUB 00000267: PUSH1 0x20 00000269: DUP2 0000026a: LT 0000026b: ISZERO 0000026c: PUSH2 0x0274 0000026f: JUMPI 00000270: PUSH1 0x00 00000272: DUP1 00000273: REVERT 00000274: JUMPDEST 00000275: DUP2 00000276: ADD 00000277: SWAP1 00000278: DUP1 00000279: DUP1 0000027a: CALLDATALOAD 0000027b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000290: AND 00000291: SWAP1 00000292: PUSH1 0x20 00000294: ADD 00000295: SWAP1 00000296: SWAP3 00000297: SWAP2 00000298: SWAP1 00000299: POP 0000029a: POP 0000029b: POP 0000029c: PUSH2 0x0a42 0000029f: JUMP 000002a0: JUMPDEST 000002a1: PUSH1 0x40 000002a3: MLOAD 000002a4: DUP1 000002a5: DUP3 000002a6: DUP2 000002a7: MSTORE 000002a8: PUSH1 0x20 000002aa: ADD 000002ab: SWAP2 000002ac: POP 000002ad: POP 000002ae: PUSH1 0x40 000002b0: MLOAD 000002b1: DUP1 000002b2: SWAP2 000002b3: SUB 000002b4: SWAP1 000002b5: RETURN 000002b6: JUMPDEST 000002b7: PUSH2 0x02be 000002ba: PUSH2 0x0a5a 000002bd: JUMP 000002be: JUMPDEST 000002bf: PUSH1 0x40 000002c1: MLOAD 000002c2: DUP1 000002c3: DUP3 000002c4: DUP2 000002c5: MSTORE 000002c6: PUSH1 0x20 000002c8: ADD 000002c9: SWAP2 000002ca: POP 000002cb: POP 000002cc: PUSH1 0x40 000002ce: MLOAD 000002cf: DUP1 000002d0: SWAP2 000002d1: SUB 000002d2: SWAP1 000002d3: RETURN 000002d4: JUMPDEST 000002d5: PUSH2 0x0320 000002d8: PUSH1 0x04 000002da: DUP1 000002db: CALLDATASIZE 000002dc: SUB 000002dd: PUSH1 0x40 000002df: DUP2 000002e0: LT 000002e1: ISZERO 000002e2: PUSH2 0x02ea 000002e5: JUMPI 000002e6: PUSH1 0x00 000002e8: DUP1 000002e9: REVERT 000002ea: JUMPDEST 000002eb: DUP2 000002ec: ADD 000002ed: SWAP1 000002ee: DUP1 000002ef: DUP1 000002f0: CALLDATALOAD 000002f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000306: AND 00000307: SWAP1 00000308: PUSH1 0x20 0000030a: ADD 0000030b: SWAP1 0000030c: SWAP3 0000030d: SWAP2 0000030e: SWAP1 0000030f: DUP1 00000310: CALLDATALOAD 00000311: SWAP1 00000312: PUSH1 0x20 00000314: ADD 00000315: SWAP1 00000316: SWAP3 00000317: SWAP2 00000318: SWAP1 00000319: POP 0000031a: POP 0000031b: POP 0000031c: PUSH2 0x0a60 0000031f: JUMP 00000320: JUMPDEST 00000321: STOP 00000322: JUMPDEST 00000323: PUSH1 0x01 00000325: PUSH1 0x00 00000327: SWAP1 00000328: SLOAD 00000329: SWAP1 0000032a: PUSH2 0x0100 0000032d: EXP 0000032e: SWAP1 0000032f: DIV 00000330: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000345: AND 00000346: DUP2 00000347: JUMP 00000348: JUMPDEST 00000349: PUSH1 0x01 0000034b: PUSH1 0x05 0000034d: SLOAD 0000034e: EQ 0000034f: PUSH2 0x03c0 00000352: JUMPI 00000353: PUSH1 0x40 00000355: MLOAD 00000356: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000377: DUP2 00000378: MSTORE 00000379: PUSH1 0x04 0000037b: ADD 0000037c: DUP1 0000037d: DUP1 0000037e: PUSH1 0x20 00000380: ADD 00000381: DUP3 00000382: DUP2 00000383: SUB 00000384: DUP3 00000385: MSTORE 00000386: PUSH1 0x10 00000388: DUP2 00000389: MSTORE 0000038a: PUSH1 0x20 0000038c: ADD 0000038d: DUP1 0000038e: PUSH32 0x47656d4a6f696e2f6e6f742d6c69766500000000000000000000000000000000 000003af: DUP2 000003b0: MSTORE 000003b1: POP 000003b2: PUSH1 0x20 000003b4: ADD 000003b5: SWAP2 000003b6: POP 000003b7: POP 000003b8: PUSH1 0x40 000003ba: MLOAD 000003bb: DUP1 000003bc: SWAP2 000003bd: SUB 000003be: SWAP1 000003bf: REVERT 000003c0: JUMPDEST 000003c1: PUSH1 0x00 000003c3: DUP2 000003c4: SLT 000003c5: ISZERO 000003c6: PUSH2 0x0437 000003c9: JUMPI 000003ca: PUSH1 0x40 000003cc: MLOAD 000003cd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000003ee: DUP2 000003ef: MSTORE 000003f0: PUSH1 0x04 000003f2: ADD 000003f3: DUP1 000003f4: DUP1 000003f5: PUSH1 0x20 000003f7: ADD 000003f8: DUP3 000003f9: DUP2 000003fa: SUB 000003fb: DUP3 000003fc: MSTORE 000003fd: PUSH1 0x10 000003ff: DUP2 00000400: MSTORE 00000401: PUSH1 0x20 00000403: ADD 00000404: DUP1 00000405: PUSH32 0x47656d4a6f696e2f6f766572666c6f7700000000000000000000000000000000 00000426: DUP2 00000427: MSTORE 00000428: POP 00000429: PUSH1 0x20 0000042b: ADD 0000042c: SWAP2 0000042d: POP 0000042e: POP 0000042f: PUSH1 0x40 00000431: MLOAD 00000432: DUP1 00000433: SWAP2 00000434: SUB 00000435: SWAP1 00000436: REVERT 00000437: JUMPDEST 00000438: PUSH1 0x01 0000043a: PUSH1 0x00 0000043c: SWAP1 0000043d: SLOAD 0000043e: SWAP1 0000043f: PUSH2 0x0100 00000442: EXP 00000443: SWAP1 00000444: DIV 00000445: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000045a: AND 0000045b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000470: AND 00000471: PUSH4 0x7cdd3fde 00000476: PUSH1 0x02 00000478: SLOAD 00000479: DUP5 0000047a: DUP5 0000047b: PUSH1 0x40 0000047d: MLOAD 0000047e: DUP5 0000047f: PUSH4 0xffffffff 00000484: AND 00000485: PUSH1 0xe0 00000487: SHL 00000488: DUP2 00000489: MSTORE 0000048a: PUSH1 0x04 0000048c: ADD 0000048d: DUP1 0000048e: DUP5 0000048f: DUP2 00000490: MSTORE 00000491: PUSH1 0x20 00000493: ADD 00000494: DUP4 00000495: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004aa: AND 000004ab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004c0: AND 000004c1: DUP2 000004c2: MSTORE 000004c3: PUSH1 0x20 000004c5: ADD 000004c6: DUP3 000004c7: DUP2 000004c8: MSTORE 000004c9: PUSH1 0x20 000004cb: ADD 000004cc: SWAP4 000004cd: POP 000004ce: POP 000004cf: POP 000004d0: POP 000004d1: PUSH1 0x00 000004d3: PUSH1 0x40 000004d5: MLOAD 000004d6: DUP1 000004d7: DUP4 000004d8: SUB 000004d9: DUP2 000004da: PUSH1 0x00 000004dc: DUP8 000004dd: DUP1 000004de: EXTCODESIZE 000004df: ISZERO 000004e0: DUP1 000004e1: ISZERO 000004e2: PUSH2 0x04ea 000004e5: JUMPI 000004e6: PUSH1 0x00 000004e8: DUP1 000004e9: REVERT 000004ea: JUMPDEST 000004eb: POP 000004ec: GAS 000004ed: CALL 000004ee: ISZERO 000004ef: DUP1 000004f0: ISZERO 000004f1: PUSH2 0x04fe 000004f4: JUMPI 000004f5: RETURNDATASIZE 000004f6: PUSH1 0x00 000004f8: DUP1 000004f9: RETURNDATACOPY 000004fa: RETURNDATASIZE 000004fb: PUSH1 0x00 000004fd: REVERT 000004fe: JUMPDEST 000004ff: POP 00000500: POP 00000501: POP 00000502: POP 00000503: PUSH1 0x03 00000505: PUSH1 0x00 00000507: SWAP1 00000508: SLOAD 00000509: SWAP1 0000050a: PUSH2 0x0100 0000050d: EXP 0000050e: SWAP1 0000050f: DIV 00000510: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000525: AND 00000526: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000053b: AND 0000053c: PUSH4 0x23b872dd 00000541: CALLER 00000542: ADDRESS 00000543: DUP5 00000544: PUSH1 0x40 00000546: MLOAD 00000547: DUP5 00000548: PUSH4 0xffffffff 0000054d: AND 0000054e: PUSH1 0xe0 00000550: SHL 00000551: DUP2 00000552: MSTORE 00000553: PUSH1 0x04 00000555: ADD 00000556: DUP1 00000557: DUP5 00000558: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000056d: AND 0000056e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000583: AND 00000584: DUP2 00000585: MSTORE 00000586: PUSH1 0x20 00000588: ADD 00000589: DUP4 0000058a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000059f: AND 000005a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005b5: AND 000005b6: DUP2 000005b7: MSTORE 000005b8: PUSH1 0x20 000005ba: ADD 000005bb: DUP3 000005bc: DUP2 000005bd: MSTORE 000005be: PUSH1 0x20 000005c0: ADD 000005c1: SWAP4 000005c2: POP 000005c3: POP 000005c4: POP 000005c5: POP 000005c6: PUSH1 0x20 000005c8: PUSH1 0x40 000005ca: MLOAD 000005cb: DUP1 000005cc: DUP4 000005cd: SUB 000005ce: DUP2 000005cf: PUSH1 0x00 000005d1: DUP8 000005d2: DUP1 000005d3: EXTCODESIZE 000005d4: ISZERO 000005d5: DUP1 000005d6: ISZERO 000005d7: PUSH2 0x05df 000005da: JUMPI 000005db: PUSH1 0x00 000005dd: DUP1 000005de: REVERT 000005df: JUMPDEST 000005e0: POP 000005e1: GAS 000005e2: CALL 000005e3: ISZERO 000005e4: DUP1 000005e5: ISZERO 000005e6: PUSH2 0x05f3 000005e9: JUMPI 000005ea: RETURNDATASIZE 000005eb: PUSH1 0x00 000005ed: DUP1 000005ee: RETURNDATACOPY 000005ef: RETURNDATASIZE 000005f0: PUSH1 0x00 000005f2: REVERT 000005f3: JUMPDEST 000005f4: POP 000005f5: POP 000005f6: POP 000005f7: POP 000005f8: PUSH1 0x40 000005fa: MLOAD 000005fb: RETURNDATASIZE 000005fc: PUSH1 0x20 000005fe: DUP2 000005ff: LT 00000600: ISZERO 00000601: PUSH2 0x0609 00000604: JUMPI 00000605: PUSH1 0x00 00000607: DUP1 00000608: REVERT 00000609: JUMPDEST 0000060a: DUP2 0000060b: ADD 0000060c: SWAP1 0000060d: DUP1 0000060e: DUP1 0000060f: MLOAD 00000610: SWAP1 00000611: PUSH1 0x20 00000613: ADD 00000614: SWAP1 00000615: SWAP3 00000616: SWAP2 00000617: SWAP1 00000618: POP 00000619: POP 0000061a: POP 0000061b: PUSH2 0x068c 0000061e: JUMPI 0000061f: PUSH1 0x40 00000621: MLOAD 00000622: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000643: DUP2 00000644: MSTORE 00000645: PUSH1 0x04 00000647: ADD 00000648: DUP1 00000649: DUP1 0000064a: PUSH1 0x20 0000064c: ADD 0000064d: DUP3 0000064e: DUP2 0000064f: SUB 00000650: DUP3 00000651: MSTORE 00000652: PUSH1 0x17 00000654: DUP2 00000655: MSTORE 00000656: PUSH1 0x20 00000658: ADD 00000659: DUP1 0000065a: PUSH32 0x47656d4a6f696e2f6661696c65642d7472616e73666572000000000000000000 0000067b: DUP2 0000067c: MSTORE 0000067d: POP 0000067e: PUSH1 0x20 00000680: ADD 00000681: SWAP2 00000682: POP 00000683: POP 00000684: PUSH1 0x40 00000686: MLOAD 00000687: DUP1 00000688: SWAP2 00000689: SUB 0000068a: SWAP1 0000068b: REVERT 0000068c: JUMPDEST 0000068d: MSIZE 0000068e: PUSH2 0x0120 00000691: DUP2 00000692: ADD 00000693: PUSH1 0x40 00000695: MSTORE 00000696: PUSH1 0x20 00000698: DUP2 00000699: MSTORE 0000069a: PUSH1 0xe0 0000069c: PUSH1 0x20 0000069e: DUP3 0000069f: ADD 000006a0: MSTORE 000006a1: PUSH1 0xe0 000006a3: PUSH1 0x00 000006a5: PUSH1 0x40 000006a7: DUP4 000006a8: ADD 000006a9: CALLDATACOPY 000006aa: PUSH1 0x24 000006ac: CALLDATALOAD 000006ad: PUSH1 0x04 000006af: CALLDATALOAD 000006b0: CALLER 000006b1: PUSH1 0x00 000006b3: CALLDATALOAD 000006b4: PUSH1 0xe0 000006b6: SHR 000006b7: PUSH1 0xe0 000006b9: SHL 000006ba: PUSH2 0x0120 000006bd: DUP6 000006be: LOG4 000006bf: POP 000006c0: POP 000006c1: POP 000006c2: JUMP 000006c3: JUMPDEST 000006c4: PUSH1 0x01 000006c6: PUSH1 0x00 000006c8: DUP1 000006c9: CALLER 000006ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006df: AND 000006e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006f5: AND 000006f6: DUP2 000006f7: MSTORE 000006f8: PUSH1 0x20 000006fa: ADD 000006fb: SWAP1 000006fc: DUP2 000006fd: MSTORE 000006fe: PUSH1 0x20 00000700: ADD 00000701: PUSH1 0x00 00000703: KECCAK256 00000704: SLOAD 00000705: EQ 00000706: PUSH2 0x0777 00000709: JUMPI 0000070a: PUSH1 0x40 0000070c: MLOAD 0000070d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000072e: DUP2 0000072f: MSTORE 00000730: PUSH1 0x04 00000732: ADD 00000733: DUP1 00000734: DUP1 00000735: PUSH1 0x20 00000737: ADD 00000738: DUP3 00000739: DUP2 0000073a: SUB 0000073b: DUP3 0000073c: MSTORE 0000073d: PUSH1 0x16 0000073f: DUP2 00000740: MSTORE 00000741: PUSH1 0x20 00000743: ADD 00000744: DUP1 00000745: PUSH32 0x47656d4a6f696e2f6e6f742d617574686f72697a656400000000000000000000 00000766: DUP2 00000767: MSTORE 00000768: POP 00000769: PUSH1 0x20 0000076b: ADD 0000076c: SWAP2 0000076d: POP 0000076e: POP 0000076f: PUSH1 0x40 00000771: MLOAD 00000772: DUP1 00000773: SWAP2 00000774: SUB 00000775: SWAP1 00000776: REVERT 00000777: JUMPDEST 00000778: PUSH1 0x01 0000077a: PUSH1 0x00 0000077c: DUP1 0000077d: DUP4 0000077e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000793: AND 00000794: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007a9: AND 000007aa: DUP2 000007ab: MSTORE 000007ac: PUSH1 0x20 000007ae: ADD 000007af: SWAP1 000007b0: DUP2 000007b1: MSTORE 000007b2: PUSH1 0x20 000007b4: ADD 000007b5: PUSH1 0x00 000007b7: KECCAK256 000007b8: DUP2 000007b9: SWAP1 000007ba: SSTORE 000007bb: POP 000007bc: MSIZE 000007bd: PUSH2 0x0120 000007c0: DUP2 000007c1: ADD 000007c2: PUSH1 0x40 000007c4: MSTORE 000007c5: PUSH1 0x20 000007c7: DUP2 000007c8: MSTORE 000007c9: PUSH1 0xe0 000007cb: PUSH1 0x20 000007cd: DUP3 000007ce: ADD 000007cf: MSTORE 000007d0: PUSH1 0xe0 000007d2: PUSH1 0x00 000007d4: PUSH1 0x40 000007d6: DUP4 000007d7: ADD 000007d8: CALLDATACOPY 000007d9: PUSH1 0x24 000007db: CALLDATALOAD 000007dc: PUSH1 0x04 000007de: CALLDATALOAD 000007df: CALLER 000007e0: PUSH1 0x00 000007e2: CALLDATALOAD 000007e3: PUSH1 0xe0 000007e5: SHR 000007e6: PUSH1 0xe0 000007e8: SHL 000007e9: PUSH2 0x0120 000007ec: DUP6 000007ed: LOG4 000007ee: POP 000007ef: POP 000007f0: JUMP 000007f1: JUMPDEST 000007f2: PUSH1 0x01 000007f4: PUSH1 0x00 000007f6: DUP1 000007f7: CALLER 000007f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000080d: AND 0000080e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000823: AND 00000824: DUP2 00000825: MSTORE 00000826: PUSH1 0x20 00000828: ADD 00000829: SWAP1 0000082a: DUP2 0000082b: MSTORE 0000082c: PUSH1 0x20 0000082e: ADD 0000082f: PUSH1 0x00 00000831: KECCAK256 00000832: SLOAD 00000833: EQ 00000834: PUSH2 0x08a5 00000837: JUMPI 00000838: PUSH1 0x40 0000083a: MLOAD 0000083b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000085c: DUP2 0000085d: MSTORE 0000085e: PUSH1 0x04 00000860: ADD 00000861: DUP1 00000862: DUP1 00000863: PUSH1 0x20 00000865: ADD 00000866: DUP3 00000867: DUP2 00000868: SUB 00000869: DUP3 0000086a: MSTORE 0000086b: PUSH1 0x16 0000086d: DUP2 0000086e: MSTORE 0000086f: PUSH1 0x20 00000871: ADD 00000872: DUP1 00000873: PUSH32 0x47656d4a6f696e2f6e6f742d617574686f72697a656400000000000000000000 00000894: DUP2 00000895: MSTORE 00000896: POP 00000897: PUSH1 0x20 00000899: ADD 0000089a: SWAP2 0000089b: POP 0000089c: POP 0000089d: PUSH1 0x40 0000089f: MLOAD 000008a0: DUP1 000008a1: SWAP2 000008a2: SUB 000008a3: SWAP1 000008a4: REVERT 000008a5: JUMPDEST 000008a6: PUSH1 0x00 000008a8: PUSH1 0x05 000008aa: DUP2 000008ab: SWAP1 000008ac: SSTORE 000008ad: POP 000008ae: MSIZE 000008af: PUSH2 0x0120 000008b2: DUP2 000008b3: ADD 000008b4: PUSH1 0x40 000008b6: MSTORE 000008b7: PUSH1 0x20 000008b9: DUP2 000008ba: MSTORE 000008bb: PUSH1 0xe0 000008bd: PUSH1 0x20 000008bf: DUP3 000008c0: ADD 000008c1: MSTORE 000008c2: PUSH1 0xe0 000008c4: PUSH1 0x00 000008c6: PUSH1 0x40 000008c8: DUP4 000008c9: ADD 000008ca: CALLDATACOPY 000008cb: PUSH1 0x24 000008cd: CALLDATALOAD 000008ce: PUSH1 0x04 000008d0: CALLDATALOAD 000008d1: CALLER 000008d2: PUSH1 0x00 000008d4: CALLDATALOAD 000008d5: PUSH1 0xe0 000008d7: SHR 000008d8: PUSH1 0xe0 000008da: SHL 000008db: PUSH2 0x0120 000008de: DUP6 000008df: LOG4 000008e0: POP 000008e1: JUMP 000008e2: JUMPDEST 000008e3: PUSH1 0x03 000008e5: PUSH1 0x00 000008e7: SWAP1 000008e8: SLOAD 000008e9: SWAP1 000008ea: PUSH2 0x0100 000008ed: EXP 000008ee: SWAP1 000008ef: DIV 000008f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000905: AND 00000906: DUP2 00000907: JUMP 00000908: JUMPDEST 00000909: PUSH1 0x05 0000090b: SLOAD 0000090c: DUP2 0000090d: JUMP 0000090e: JUMPDEST 0000090f: PUSH1 0x01 00000911: PUSH1 0x00 00000913: DUP1 00000914: CALLER 00000915: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000092a: AND 0000092b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000940: AND 00000941: DUP2 00000942: MSTORE 00000943: PUSH1 0x20 00000945: ADD 00000946: SWAP1 00000947: DUP2 00000948: MSTORE 00000949: PUSH1 0x20 0000094b: ADD 0000094c: PUSH1 0x00 0000094e: KECCAK256 0000094f: SLOAD 00000950: EQ 00000951: PUSH2 0x09c2 00000954: JUMPI 00000955: PUSH1 0x40 00000957: MLOAD 00000958: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000979: DUP2 0000097a: MSTORE 0000097b: PUSH1 0x04 0000097d: ADD 0000097e: DUP1 0000097f: DUP1 00000980: PUSH1 0x20 00000982: ADD 00000983: DUP3 00000984: DUP2 00000985: SUB 00000986: DUP3 00000987: MSTORE 00000988: PUSH1 0x16 0000098a: DUP2 0000098b: MSTORE 0000098c: PUSH1 0x20 0000098e: ADD 0000098f: DUP1 00000990: PUSH32 0x47656d4a6f696e2f6e6f742d617574686f72697a656400000000000000000000 000009b1: DUP2 000009b2: MSTORE 000009b3: POP 000009b4: PUSH1 0x20 000009b6: ADD 000009b7: SWAP2 000009b8: POP 000009b9: POP 000009ba: PUSH1 0x40 000009bc: MLOAD 000009bd: DUP1 000009be: SWAP2 000009bf: SUB 000009c0: SWAP1 000009c1: REVERT 000009c2: JUMPDEST 000009c3: PUSH1 0x00 000009c5: DUP1 000009c6: PUSH1 0x00 000009c8: DUP4 000009c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009de: AND 000009df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009f4: AND 000009f5: DUP2 000009f6: MSTORE 000009f7: PUSH1 0x20 000009f9: ADD 000009fa: SWAP1 000009fb: DUP2 000009fc: MSTORE 000009fd: PUSH1 0x20 000009ff: ADD 00000a00: PUSH1 0x00 00000a02: KECCAK256 00000a03: DUP2 00000a04: SWAP1 00000a05: SSTORE 00000a06: POP 00000a07: MSIZE 00000a08: PUSH2 0x0120 00000a0b: DUP2 00000a0c: ADD 00000a0d: PUSH1 0x40 00000a0f: MSTORE 00000a10: PUSH1 0x20 00000a12: DUP2 00000a13: MSTORE 00000a14: PUSH1 0xe0 00000a16: PUSH1 0x20 00000a18: DUP3 00000a19: ADD 00000a1a: MSTORE 00000a1b: PUSH1 0xe0 00000a1d: PUSH1 0x00 00000a1f: PUSH1 0x40 00000a21: DUP4 00000a22: ADD 00000a23: CALLDATACOPY 00000a24: PUSH1 0x24 00000a26: CALLDATALOAD 00000a27: PUSH1 0x04 00000a29: CALLDATALOAD 00000a2a: CALLER 00000a2b: PUSH1 0x00 00000a2d: CALLDATALOAD 00000a2e: PUSH1 0xe0 00000a30: SHR 00000a31: PUSH1 0xe0 00000a33: SHL 00000a34: PUSH2 0x0120 00000a37: DUP6 00000a38: LOG4 00000a39: POP 00000a3a: POP 00000a3b: JUMP 00000a3c: JUMPDEST 00000a3d: PUSH1 0x04 00000a3f: SLOAD 00000a40: DUP2 00000a41: JUMP 00000a42: JUMPDEST 00000a43: PUSH1 0x00 00000a45: PUSH1 0x20 00000a47: MSTORE 00000a48: DUP1 00000a49: PUSH1 0x00 00000a4b: MSTORE 00000a4c: PUSH1 0x40 00000a4e: PUSH1 0x00 00000a50: KECCAK256 00000a51: PUSH1 0x00 00000a53: SWAP2 00000a54: POP 00000a55: SWAP1 00000a56: POP 00000a57: SLOAD 00000a58: DUP2 00000a59: JUMP 00000a5a: JUMPDEST 00000a5b: PUSH1 0x02 00000a5d: SLOAD 00000a5e: DUP2 00000a5f: JUMP 00000a60: JUMPDEST 00000a61: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 00000a82: DUP2 00000a83: GT 00000a84: ISZERO 00000a85: PUSH2 0x0af6 00000a88: JUMPI 00000a89: PUSH1 0x40 00000a8b: MLOAD 00000a8c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000aad: DUP2 00000aae: MSTORE 00000aaf: PUSH1 0x04 00000ab1: ADD 00000ab2: DUP1 00000ab3: DUP1 00000ab4: PUSH1 0x20 00000ab6: ADD 00000ab7: DUP3 00000ab8: DUP2 00000ab9: SUB 00000aba: DUP3 00000abb: MSTORE 00000abc: PUSH1 0x10 00000abe: DUP2 00000abf: MSTORE 00000ac0: PUSH1 0x20 00000ac2: ADD 00000ac3: DUP1 00000ac4: PUSH32 0x47656d4a6f696e2f6f766572666c6f7700000000000000000000000000000000 00000ae5: DUP2 00000ae6: MSTORE 00000ae7: POP 00000ae8: PUSH1 0x20 00000aea: ADD 00000aeb: SWAP2 00000aec: POP 00000aed: POP 00000aee: PUSH1 0x40 00000af0: MLOAD 00000af1: DUP1 00000af2: SWAP2 00000af3: SUB 00000af4: SWAP1 00000af5: REVERT 00000af6: JUMPDEST 00000af7: PUSH1 0x01 00000af9: PUSH1 0x00 00000afb: SWAP1 00000afc: SLOAD 00000afd: SWAP1 00000afe: PUSH2 0x0100 00000b01: EXP 00000b02: SWAP1 00000b03: DIV 00000b04: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b19: AND 00000b1a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b2f: AND 00000b30: PUSH4 0x7cdd3fde 00000b35: PUSH1 0x02 00000b37: SLOAD 00000b38: CALLER 00000b39: DUP5 00000b3a: PUSH1 0x00 00000b3c: SUB 00000b3d: PUSH1 0x40 00000b3f: MLOAD 00000b40: DUP5 00000b41: PUSH4 0xffffffff 00000b46: AND 00000b47: PUSH1 0xe0 00000b49: SHL 00000b4a: DUP2 00000b4b: MSTORE 00000b4c: PUSH1 0x04 00000b4e: ADD 00000b4f: DUP1 00000b50: DUP5 00000b51: DUP2 00000b52: MSTORE 00000b53: PUSH1 0x20 00000b55: ADD 00000b56: DUP4 00000b57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b6c: AND 00000b6d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b82: AND 00000b83: DUP2 00000b84: MSTORE 00000b85: PUSH1 0x20 00000b87: ADD 00000b88: DUP3 00000b89: DUP2 00000b8a: MSTORE 00000b8b: PUSH1 0x20 00000b8d: ADD 00000b8e: SWAP4 00000b8f: POP 00000b90: POP 00000b91: POP 00000b92: POP 00000b93: PUSH1 0x00 00000b95: PUSH1 0x40 00000b97: MLOAD 00000b98: DUP1 00000b99: DUP4 00000b9a: SUB 00000b9b: DUP2 00000b9c: PUSH1 0x00 00000b9e: DUP8 00000b9f: DUP1 00000ba0: EXTCODESIZE 00000ba1: ISZERO 00000ba2: DUP1 00000ba3: ISZERO 00000ba4: PUSH2 0x0bac 00000ba7: JUMPI 00000ba8: PUSH1 0x00 00000baa: DUP1 00000bab: REVERT 00000bac: JUMPDEST 00000bad: POP 00000bae: GAS 00000baf: CALL 00000bb0: ISZERO 00000bb1: DUP1 00000bb2: ISZERO 00000bb3: PUSH2 0x0bc0 00000bb6: JUMPI 00000bb7: RETURNDATASIZE 00000bb8: PUSH1 0x00 00000bba: DUP1 00000bbb: RETURNDATACOPY 00000bbc: RETURNDATASIZE 00000bbd: PUSH1 0x00 00000bbf: REVERT 00000bc0: JUMPDEST 00000bc1: POP 00000bc2: POP 00000bc3: POP 00000bc4: POP 00000bc5: PUSH1 0x03 00000bc7: PUSH1 0x00 00000bc9: SWAP1 00000bca: SLOAD 00000bcb: SWAP1 00000bcc: PUSH2 0x0100 00000bcf: EXP 00000bd0: SWAP1 00000bd1: DIV 00000bd2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000be7: AND 00000be8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bfd: AND 00000bfe: PUSH4 0xa9059cbb 00000c03: DUP4 00000c04: DUP4 00000c05: PUSH1 0x40 00000c07: MLOAD 00000c08: DUP4 00000c09: PUSH4 0xffffffff 00000c0e: AND 00000c0f: PUSH1 0xe0 00000c11: SHL 00000c12: DUP2 00000c13: MSTORE 00000c14: PUSH1 0x04 00000c16: ADD 00000c17: DUP1 00000c18: DUP4 00000c19: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c2e: AND 00000c2f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c44: AND 00000c45: DUP2 00000c46: MSTORE 00000c47: PUSH1 0x20 00000c49: ADD 00000c4a: DUP3 00000c4b: DUP2 00000c4c: MSTORE 00000c4d: PUSH1 0x20 00000c4f: ADD 00000c50: SWAP3 00000c51: POP 00000c52: POP 00000c53: POP 00000c54: PUSH1 0x20 00000c56: PUSH1 0x40 00000c58: MLOAD 00000c59: DUP1 00000c5a: DUP4 00000c5b: SUB 00000c5c: DUP2 00000c5d: PUSH1 0x00 00000c5f: DUP8 00000c60: DUP1 00000c61: EXTCODESIZE 00000c62: ISZERO 00000c63: DUP1 00000c64: ISZERO 00000c65: PUSH2 0x0c6d 00000c68: JUMPI 00000c69: PUSH1 0x00 00000c6b: DUP1 00000c6c: REVERT 00000c6d: JUMPDEST 00000c6e: POP 00000c6f: GAS 00000c70: CALL 00000c71: ISZERO 00000c72: DUP1 00000c73: ISZERO 00000c74: PUSH2 0x0c81 00000c77: JUMPI 00000c78: RETURNDATASIZE 00000c79: PUSH1 0x00 00000c7b: DUP1 00000c7c: RETURNDATACOPY 00000c7d: RETURNDATASIZE 00000c7e: PUSH1 0x00 00000c80: REVERT 00000c81: JUMPDEST 00000c82: POP 00000c83: POP 00000c84: POP 00000c85: POP 00000c86: PUSH1 0x40 00000c88: MLOAD 00000c89: RETURNDATASIZE 00000c8a: PUSH1 0x20 00000c8c: DUP2 00000c8d: LT 00000c8e: ISZERO 00000c8f: PUSH2 0x0c97 00000c92: JUMPI 00000c93: PUSH1 0x00 00000c95: DUP1 00000c96: REVERT 00000c97: JUMPDEST 00000c98: DUP2 00000c99: ADD 00000c9a: SWAP1 00000c9b: DUP1 00000c9c: DUP1 00000c9d: MLOAD 00000c9e: SWAP1 00000c9f: PUSH1 0x20 00000ca1: ADD 00000ca2: SWAP1 00000ca3: SWAP3 00000ca4: SWAP2 00000ca5: SWAP1 00000ca6: POP 00000ca7: POP 00000ca8: POP 00000ca9: PUSH2 0x0d1a 00000cac: JUMPI 00000cad: PUSH1 0x40 00000caf: MLOAD 00000cb0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000cd1: DUP2 00000cd2: MSTORE 00000cd3: PUSH1 0x04 00000cd5: ADD 00000cd6: DUP1 00000cd7: DUP1 00000cd8: PUSH1 0x20 00000cda: ADD 00000cdb: DUP3 00000cdc: DUP2 00000cdd: SUB 00000cde: DUP3 00000cdf: MSTORE 00000ce0: PUSH1 0x17 00000ce2: DUP2 00000ce3: MSTORE 00000ce4: PUSH1 0x20 00000ce6: ADD 00000ce7: DUP1 00000ce8: PUSH32 0x47656d4a6f696e2f6661696c65642d7472616e73666572000000000000000000 00000d09: DUP2 00000d0a: MSTORE 00000d0b: POP 00000d0c: PUSH1 0x20 00000d0e: ADD 00000d0f: SWAP2 00000d10: POP 00000d11: POP 00000d12: PUSH1 0x40 00000d14: MLOAD 00000d15: DUP1 00000d16: SWAP2 00000d17: SUB 00000d18: SWAP1 00000d19: REVERT 00000d1a: JUMPDEST 00000d1b: MSIZE 00000d1c: PUSH2 0x0120 00000d1f: DUP2 00000d20: ADD 00000d21: PUSH1 0x40 00000d23: MSTORE 00000d24: PUSH1 0x20 00000d26: DUP2 00000d27: MSTORE 00000d28: PUSH1 0xe0 00000d2a: PUSH1 0x20 00000d2c: DUP3 00000d2d: ADD 00000d2e: MSTORE 00000d2f: PUSH1 0xe0 00000d31: PUSH1 0x00 00000d33: PUSH1 0x40 00000d35: DUP4 00000d36: ADD 00000d37: CALLDATACOPY 00000d38: PUSH1 0x24 00000d3a: CALLDATALOAD 00000d3b: PUSH1 0x04 00000d3d: CALLDATALOAD 00000d3e: CALLER 00000d3f: PUSH1 0x00 00000d41: CALLDATALOAD 00000d42: PUSH1 0xe0 00000d44: SHR 00000d45: PUSH1 0xe0 00000d47: SHL 00000d48: PUSH2 0x0120 00000d4b: DUP6 00000d4c: LOG4 00000d4d: POP 00000d4e: POP 00000d4f: POP 00000d50: JUMP 00000d51: INVALID 00000d52: LOG2 00000d53: PUSH6 0x627a7a723158 00000d5a: KECCAK256 00000d5b: UNKNOWN(0xBF) 00000d5c: UNKNOWN(0xDF) 00000d5d: LOG1 00000d5e: UNKNOWN(0x22) 00000d5f: INVALID 00000d60: GASPRICE 00000d61: UNKNOWN(0xD4) 00000d62: GASPRICE 00000d63: TSTORE 00000d64: PUSH24 0x9b939c506cae7507e0f5e807767f61193161f1c1e2866473 00000d7d: PUSH16
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x2c90388c7ef2db1cd60f7e44a9b74109aab848a4133dce870d842cc7a30b0089
call_targets:
0x2f0b23f53734252bda2277357e97e1517d6b042a
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x2c90388c7ef2db1cd60f7e44a9b74109aab848a4133dce870d842cc7a30b0089",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x2f0b23f53734252bda2277357e97e1517d6b042a"
],
"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": "0x957aa58c",
"selector": "0x957aa58c",
"calldata_variants": [
"0x957aa58c",
"0x957aa58c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9c52a7f1",
"selector": "0x9c52a7f1",
"calldata_variants": [
"0x9c52a7f1",
"0x9c52a7f10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb3bcfa82",
"selector": "0xb3bcfa82",
"calldata_variants": [
"0xb3bcfa82",
"0xb3bcfa820000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbf353dbb",
"selector": "0xbf353dbb",
"calldata_variants": [
"0xbf353dbb",
"0xbf353dbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc5ce281e",
"selector": "0xc5ce281e",
"calldata_variants": [
"0xc5ce281e",
"0xc5ce281e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef693bed",
"selector": "0xef693bed",
"calldata_variants": [
"0xef693bed",
"0xef693bed0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x36569e77",
"selector": "0x36569e77",
"calldata_variants": [
"0x36569e77",
"0x36569e770000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3b4da69f",
"selector": "0x3b4da69f",
"calldata_variants": [
"0x3b4da69f",
"0x3b4da69f0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1261,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1506,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2991,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 4,
"guards_detected": [],
"untrusted_call_count": 4
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x2c90388c7ef2db1cd60f7e44a9b74109aab848a4133dce870d842cc7a30b0089
call_targets:
0x2f0b23f53734252bda2277357e97e1517d6b042a
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x2c90388c7ef2db1cd60f7e44a9b74109aab848a4133dce870d842cc7a30b0089",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x2f0b23f53734252bda2277357e97e1517d6b042a"
],
"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": "0x957aa58c",
"selector": "0x957aa58c",
"calldata_variants": [
"0x957aa58c",
"0x957aa58c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9c52a7f1",
"selector": "0x9c52a7f1",
"calldata_variants": [
"0x9c52a7f1",
"0x9c52a7f10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb3bcfa82",
"selector": "0xb3bcfa82",
"calldata_variants": [
"0xb3bcfa82",
"0xb3bcfa820000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbf353dbb",
"selector": "0xbf353dbb",
"calldata_variants": [
"0xbf353dbb",
"0xbf353dbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc5ce281e",
"selector": "0xc5ce281e",
"calldata_variants": [
"0xc5ce281e",
"0xc5ce281e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef693bed",
"selector": "0xef693bed",
"calldata_variants": [
"0xef693bed",
"0xef693bed0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x36569e77",
"selector": "0x36569e77",
"calldata_variants": [
"0x36569e77",
"0x36569e770000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3b4da69f",
"selector": "0x3b4da69f",
"calldata_variants": [
"0x3b4da69f",
"0x3b4da69f0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1261,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1506,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2991,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 4,
"guards_detected": []
}
|