e5dbe912-5e67-442f-aa5a-1543e39553af
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 |
|---|---|---|---|---|
| 30839 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 104693 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 104694 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 104695 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 104696 | capability.graph | complete | 1 / 3 | 1 week ago |
| 104697 | detector.run | complete | 1 / 3 | 1 week ago |
| 104698 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:538779] OpenAI Codex v0.77.0 (research preview)
[codex:538779] --------
[codex:538779] workdir: /tmp/codex-multi-4jlhvr1x
[codex:538779] model: gpt-5.2-codex
[codex:538779] provider: openai
[codex:538779] approval: never
[codex:538779] sandbox: read-only
[codex:538779] reasoning effort: xhigh
[codex:538779] reasoning summaries: auto
[codex:538779] session id: 019b74f8-a525-7a51-a310-9fa78ae42715
[codex:538779] --------
[codex:538779] user
[codex:538779] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:538779]
[codex:538779] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:538779]
[codex:538779] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:538779] - Gas inefficiency, code quality, naming, or best practices
[codex:538779] - Theoretical vulnerabilities without a clear extraction path
[codex:538779] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:538779] - Front-running unless it enables theft beyond MEV
[codex:538779] - DoS, griefing, or issues that don't result in attacker profit
[codex:538779] - Missing events, view function issues, or informational findings
[codex:538779]
[codex:538779] HIGH-VALUE PATTERNS TO HUNT:
[codex:538779] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:538779] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:538779] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:538779] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:538779] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:538779] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:538779] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:538779] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:538779] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:538779]
[codex:538779] For each finding, you MUST provide:
[codex:538779] 1. Exact file and line numbers of vulnerable code
[codex:538779] 2. Step-by-step exploit transaction sequence
[codex:538779] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:538779]
[codex:538779] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:538779]
[codex:538779] Output MUST be valid JSON matching the provided schema.
[codex:538779] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:538779] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:538779] mcp startup: no servers
[codex:538779]
[codex:538779] thinking
[codex:538779] **Reading AUDIT_BUNDLE.txt file**
[codex:538779] exec
[codex:538779] /bin/bash -lc ls in /tmp/codex-multi-4jlhvr1x succeeded in 5ms:
[codex:538779] AUDIT_BUNDLE.txt
[codex:538779] codex-output-schema.json
[codex:538779] contracts
[codex:538779] exec
[codex:538779] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-4jlhvr1x succeeded in 5ms:
[codex:538779] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:538779]
[codex:538779] ================================================================================
[codex:538779] FILE: contracts/Contract.sol
[codex:538779] ================================================================================
[codex:538779] /**
[codex:538779] *Submitted for verification at Etherscan.io on 2019-11-14
[codex:538779] */
[codex:538779]
[codex:538779] // hevm: flattened sources of /nix/store/8xb41r4qd0cjb63wcrxf1qmfg88p0961-dss-6fd7de0/src/join.sol
[codex:538779] pragma solidity =0.5.12;
[codex:538779]
[codex:538779] ////// /nix/store/8xb41r4qd0cjb63wcrxf1qmfg88p0961-dss-6fd7de0/src/lib.sol
[codex:538779] // This program is free software: you can redistribute it and/or modify
[codex:538779] // it under the terms of the GNU General Public License as published by
[codex:538779] // the Free Software Foundation, either version 3 of the License, or
[codex:538779] // (at your option) any later version.
[codex:538779]
[codex:538779] // This program is distributed in the hope that it will be useful,
[codex:538779] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:538779]
[codex:538779] thinking
[codex:538779] **Analyzing adapter contract vulnerabilities**
[codex:538779]
[codex:538779] I've carefully examined the MakerDAO join adapters for any exploitable profit paths, focusing on authorization, reentrancy, and balance underflow risks. After reasoning through vat interactions and token behaviors, I don't see any concrete vulnerabilities based on the provided contracts and assumptions about Vat's protections. I'll summarize this with a JSON stating no findings and a clear explanation referencing the AUDIT_BUNDLE code.
[codex:538779] codex
[codex:538779] {"no_findings":true,"summary":"Reviewed contracts/Contract.sol in AUDIT_BUNDLE.txt; no concrete, exploitable profit paths found in these join adapters assuming standard Vat accounting and non-malicious collateral tokens.","findings":[]}
[codex:538779] tokens used
[codex:538779] 8,996
[codex:538779] {"no_findings":true,"summary":"Reviewed contracts/Contract.sol in AUDIT_BUNDLE.txt; no concrete, exploitable profit paths found in these join adapters assuming standard Vat accounting and non-malicious collateral tokens.","findings":[]}
{
"codex": {
"ran_at": "2025-12-31T15:14:15.218741+00:00",
"returncode": 0
},
"summary": "Reviewed contracts/Contract.sol in AUDIT_BUNDLE.txt; no concrete, exploitable profit paths found in these join adapters assuming standard Vat accounting and non-malicious collateral tokens.",
"raw_final": {
"summary": "Reviewed contracts/Contract.sol in AUDIT_BUNDLE.txt; no concrete, exploitable profit paths found in these join adapters assuming standard Vat accounting and non-malicious collateral tokens.",
"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(0xB9) 00000d5c: UNKNOWN(0x0F) 00000d5d: LOG0 00000d5e: DUP6 00000d5f: DUP3 00000d60: UNKNOWN(0x24) 00000d61: UNKNOWN(0xCC) 00000d62: UNKNOWN(0xE2) 00000d63: RETURNDATASIZE 00000d64: UNKNOWN(0x0F) 00000d65: UNKNOWN(0xA9) 00000d66: RETURNDATACOPY 00000d67: INVALID 00000d68: PUSH12 0x2d8fd15b18b8274359db6e23 00000d75: UNKNOWN(0xDF) 00000d76: UNKNOWN(0xBA) 00000d77: UNKNOWN(0x0F) 00000d78: PUSH17
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x4ad0a53b229dc75e90016a8fd277af1f7ad10f0000ef793c1e81adc4e41ccb9d
call_targets:
0xf04a5cc80b1e94c69b48f5ee68a08cd2f09a7c3e
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x4ad0a53b229dc75e90016a8fd277af1f7ad10f0000ef793c1e81adc4e41ccb9d",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xf04a5cc80b1e94c69b48f5ee68a08cd2f09a7c3e"
],
"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: 0x4ad0a53b229dc75e90016a8fd277af1f7ad10f0000ef793c1e81adc4e41ccb9d
call_targets:
0xf04a5cc80b1e94c69b48f5ee68a08cd2f09a7c3e
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x4ad0a53b229dc75e90016a8fd277af1f7ad10f0000ef793c1e81adc4e41ccb9d",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xf04a5cc80b1e94c69b48f5ee68a08cd2f09a7c3e"
],
"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": []
}
|