3ce25bb3-01a8-4ae4-a978-9e43b1644abb
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 |
|---|---|---|---|---|
| 31742 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 95875 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 95876 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 95877 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 95878 | capability.graph | complete | 1 / 3 | 1 week ago |
| 95879 | detector.run | complete | 1 / 3 | 1 week ago |
| 95880 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1249252] OpenAI Codex v0.77.0 (research preview)
[codex:1249252] --------
[codex:1249252] workdir: /tmp/codex-multi-27u3lt6u
[codex:1249252] model: gpt-5.2-codex
[codex:1249252] provider: openai
[codex:1249252] approval: never
[codex:1249252] sandbox: read-only
[codex:1249252] reasoning effort: xhigh
[codex:1249252] reasoning summaries: auto
[codex:1249252] session id: 019b8f93-cf32-7bb1-8e2d-0e3e0d3fa80b
[codex:1249252] --------
[codex:1249252] user
[codex:1249252] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1249252]
[codex:1249252] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1249252]
[codex:1249252] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1249252] - Gas inefficiency, code quality, naming, or best practices
[codex:1249252] - Theoretical vulnerabilities without a clear extraction path
[codex:1249252] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1249252] - Front-running unless it enables theft beyond MEV
[codex:1249252] - DoS, griefing, or issues that don't result in attacker profit
[codex:1249252] - Missing events, view function issues, or informational findings
[codex:1249252]
[codex:1249252] HIGH-VALUE PATTERNS TO HUNT:
[codex:1249252] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1249252] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1249252] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1249252] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1249252] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1249252] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1249252] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1249252] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1249252] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1249252]
[codex:1249252] For each finding, you MUST provide:
[codex:1249252] 1. Exact file and line numbers of vulnerable code
[codex:1249252] 2. Step-by-step exploit transaction sequence
[codex:1249252] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1249252]
[codex:1249252] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1249252]
[codex:1249252] Output MUST be valid JSON matching the provided schema.
[codex:1249252] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1249252] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1249252] mcp startup: no servers
[codex:1249252]
[codex:1249252] thinking
[codex:1249252] **Reading instructions from AUDIT_BUNDLE**
[codex:1249252] exec
[codex:1249252] /bin/bash -lc ls in /tmp/codex-multi-27u3lt6u succeeded in 7ms:
[codex:1249252] AUDIT_BUNDLE.txt
[codex:1249252] codex-output-schema.json
[codex:1249252] contracts
[codex:1249252] exec
[codex:1249252] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-27u3lt6u succeeded in 6ms:
[codex:1249252] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1249252]
[codex:1249252] ================================================================================
[codex:1249252] FILE: contracts/src/layer2/libraries/Errors.sol
[codex:1249252] ================================================================================
[codex:1249252] // SPDX-License-Identifier: MIT
[codex:1249252] pragma solidity 0.8.25;
[codex:1249252]
[codex:1249252] library Errors {
[codex:1249252] /**
[codex:1249252] * @dev Zero address specified
[codex:1249252] */
[codex:1249252] error ZeroAddress();
[codex:1249252]
[codex:1249252] /**
[codex:1249252] * @dev Zero amount specified
[codex:1249252] */
[codex:1249252] error ZeroAmount();
[codex:1249252]
[codex:1249252] /**
[codex:1249252]
[codex:1249252] thinking
[codex:1249252] **Checking for more files**
[codex:1249252] exec
[codex:1249252] /bin/bash -lc 'rg -n "" AUDIT_BUNDLE.txt' in /tmp/codex-multi-27u3lt6u succeeded in 8ms:
[codex:1249252] 1:This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1249252] 2:
[codex:1249252] 3:================================================================================
[codex:1249252] 4:FILE: contracts/src/layer2/libraries/Errors.sol
[codex:1249252] 5:================================================================================
[codex:1249252] 6:// SPDX-License-Identifier: MIT
[codex:1249252] 7:pragma solidity 0.8.25;
[codex:1249252] 8:
[codex:1249252] 9:library Errors {
[codex:1249252] 10: /**
[codex:1249252] 11: * @dev Zero address specified
[codex:1249252] 12: */
[codex:1249252] 13: error ZeroAddress();
[codex:1249252] 14:
[codex:1249252] 15: /**
[codex:1249252] 16: * @dev Zero amount specified
[codex:1249252] 17: */
[codex:1249252] 18: error ZeroAmount();
[codex:1249252] 19:
[codex:1249252] 20: /**
[codex:1249252]
[codex:1249252] thinking
[codex:1249252] **Analyzing potential exploits in L1StargateReceiverETH**
[codex:1249252]
[codex:1249252] I’m carefully assessing the L1StargateReceiverETH contract and its interaction with messaging layers, pools, and the lzCompose function to spot any exploitable paths. After examining authorization checks, message composition, and ETH value handling, I find no concrete profit-driven vulnerabilities given trusted components and constraints. I’ll output the required JSON confirming no findings with a concise summary.
[codex:1249252] codex
[codex:1249252] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path identified given the available code and trusted dependencies.","findings":[]}
[codex:1249252] tokens used
[codex:1249252] 26,886
[codex:1249252] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path identified given the available code and trusted dependencies.","findings":[]}
{
"codex": {
"ran_at": "2026-01-05T19:13:50.894849+00:00",
"returncode": 0
},
"summary": "Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path identified given the available code and trusted dependencies.",
"raw_final": {
"summary": "Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path identified given the available code and trusted dependencies.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x00be 0000000c: JUMPI 0000000d: PUSH0 0000000e: CALLDATALOAD 0000000f: PUSH1 0xe0 00000011: SHR 00000012: DUP1 00000013: PUSH4 0x779c9ad8 00000018: GT 00000019: PUSH2 0x006d 0000001c: JUMPI 0000001d: DUP1 0000001e: PUSH4 0x779c9ad8 00000023: EQ 00000024: PUSH2 0x01d5 00000027: JUMPI 00000028: DUP1 00000029: PUSH4 0x7a7c3351 0000002e: EQ 0000002f: PUSH2 0x01e9 00000032: JUMPI 00000033: DUP1 00000034: PUSH4 0x8da5cb5b 00000039: EQ 0000003a: PUSH2 0x0208 0000003d: JUMPI 0000003e: DUP1 0000003f: PUSH4 0xa8166da0 00000044: EQ 00000045: PUSH2 0x021c 00000048: JUMPI 00000049: DUP1 0000004a: PUSH4 0xc0c53b8b 0000004f: EQ 00000050: PUSH2 0x0267 00000053: JUMPI 00000054: DUP1 00000055: PUSH4 0xd0a10260 0000005a: EQ 0000005b: PUSH2 0x0286 0000005e: JUMPI 0000005f: DUP1 00000060: PUSH4 0xf2fde38b 00000065: EQ 00000066: PUSH2 0x0299 00000069: JUMPI 0000006a: PUSH0 0000006b: DUP1 0000006c: REVERT 0000006d: JUMPDEST 0000006e: DUP1 0000006f: PUSH4 0x08587292 00000074: EQ 00000075: PUSH2 0x00c9 00000078: JUMPI 00000079: DUP1 0000007a: PUSH4 0x156522a8 0000007f: EQ 00000080: PUSH2 0x00fa 00000083: JUMPI 00000084: DUP1 00000085: PUSH4 0x177ffe9a 0000008a: EQ 0000008b: PUSH2 0x0150 0000008e: JUMPI 0000008f: DUP1 00000090: PUSH4 0x3a69197e 00000095: EQ 00000096: PUSH2 0x0171 00000099: JUMPI 0000009a: DUP1 0000009b: PUSH4 0x4e847fc7 000000a0: EQ 000000a1: PUSH2 0x0183 000000a4: JUMPI 000000a5: DUP1 000000a6: PUSH4 0x66285967 000000ab: EQ 000000ac: PUSH2 0x01a2 000000af: JUMPI 000000b0: DUP1 000000b1: PUSH4 0x715018a6 000000b6: EQ 000000b7: PUSH2 0x01c1 000000ba: JUMPI 000000bb: PUSH0 000000bc: DUP1 000000bd: REVERT 000000be: JUMPDEST 000000bf: CALLDATASIZE 000000c0: PUSH2 0x00c5 000000c3: JUMPI 000000c4: STOP 000000c5: JUMPDEST 000000c6: PUSH0 000000c7: DUP1 000000c8: REVERT 000000c9: JUMPDEST 000000ca: CALLVALUE 000000cb: DUP1 000000cc: ISZERO 000000cd: PUSH2 0x00d4 000000d0: JUMPI 000000d1: PUSH0 000000d2: DUP1 000000d3: REVERT 000000d4: JUMPDEST 000000d5: POP 000000d6: PUSH2 0x00dd 000000d9: PUSH2 0x02b8 000000dc: JUMP 000000dd: JUMPDEST 000000de: PUSH1 0x40 000000e0: MLOAD 000000e1: PUSH1 0x01 000000e3: PUSH1 0x01 000000e5: PUSH1 0xa0 000000e7: SHL 000000e8: SUB 000000e9: SWAP1 000000ea: SWAP2 000000eb: AND 000000ec: DUP2 000000ed: MSTORE 000000ee: PUSH1 0x20 000000f0: ADD 000000f1: JUMPDEST 000000f2: PUSH1 0x40 000000f4: MLOAD 000000f5: DUP1 000000f6: SWAP2 000000f7: SUB 000000f8: SWAP1 000000f9: RETURN 000000fa: JUMPDEST 000000fb: CALLVALUE 000000fc: DUP1 000000fd: ISZERO 000000fe: PUSH2 0x0105 00000101: JUMPI 00000102: PUSH0 00000103: DUP1 00000104: REVERT 00000105: JUMPDEST 00000106: POP 00000107: PUSH2 0x00dd 0000010a: PUSH2 0x0114 0000010d: CALLDATASIZE 0000010e: PUSH1 0x04 00000110: PUSH2 0x0a27 00000113: JUMP 00000114: JUMPDEST 00000115: PUSH1 0x01 00000117: PUSH1 0x01 00000119: PUSH1 0xa0 0000011b: SHL 0000011c: SUB 0000011d: SWAP1 0000011e: DUP2 0000011f: AND 00000120: PUSH0 00000121: SWAP1 00000122: DUP2 00000123: MSTORE 00000124: PUSH32 0xa277230823aa52e8f2c2adf04f9293d9984bf17323d392c9c6970c02eb95f101 00000145: PUSH1 0x20 00000147: MSTORE 00000148: PUSH1 0x40 0000014a: SWAP1 0000014b: KECCAK256 0000014c: SLOAD 0000014d: AND 0000014e: SWAP1 0000014f: JUMP 00000150: JUMPDEST 00000151: CALLVALUE 00000152: DUP1 00000153: ISZERO 00000154: PUSH2 0x015b 00000157: JUMPI 00000158: PUSH0 00000159: DUP1 0000015a: REVERT 0000015b: JUMPDEST 0000015c: POP 0000015d: PUSH2 0x016f 00000160: PUSH2 0x016a 00000163: CALLDATASIZE 00000164: PUSH1 0x04 00000166: PUSH2 0x0a53 00000169: JUMP 0000016a: JUMPDEST 0000016b: PUSH2 0x02ec 0000016e: JUMP 0000016f: JUMPDEST 00000170: STOP 00000171: JUMPDEST 00000172: PUSH2 0x016f 00000175: PUSH2 0x017f 00000178: CALLDATASIZE 00000179: PUSH1 0x04 0000017b: PUSH2 0x0acf 0000017e: JUMP 0000017f: JUMPDEST 00000180: POP 00000181: POP 00000182: JUMP 00000183: JUMPDEST 00000184: CALLVALUE 00000185: DUP1 00000186: ISZERO 00000187: PUSH2 0x018e 0000018a: JUMPI 0000018b: PUSH0 0000018c: DUP1 0000018d: REVERT 0000018e: JUMPDEST 0000018f: POP 00000190: PUSH2 0x016f 00000193: PUSH2 0x019d 00000196: CALLDATASIZE 00000197: PUSH1 0x04 00000199: PUSH2 0x0b0e 0000019c: JUMP 0000019d: JUMPDEST 0000019e: PUSH2 0x034c 000001a1: JUMP 000001a2: JUMPDEST 000001a3: CALLVALUE 000001a4: DUP1 000001a5: ISZERO 000001a6: PUSH2 0x01ad 000001a9: JUMPI 000001aa: PUSH0 000001ab: DUP1 000001ac: REVERT 000001ad: JUMPDEST 000001ae: POP 000001af: PUSH2 0x016f 000001b2: PUSH2 0x01bc 000001b5: CALLDATASIZE 000001b6: PUSH1 0x04 000001b8: PUSH2 0x0a27 000001bb: JUMP 000001bc: JUMPDEST 000001bd: PUSH2 0x03c7 000001c0: JUMP 000001c1: JUMPDEST 000001c2: CALLVALUE 000001c3: DUP1 000001c4: ISZERO 000001c5: PUSH2 0x01cc 000001c8: JUMPI 000001c9: PUSH0 000001ca: DUP1 000001cb: REVERT 000001cc: JUMPDEST 000001cd: POP 000001ce: PUSH2 0x016f 000001d1: PUSH2 0x03db 000001d4: JUMP 000001d5: JUMPDEST 000001d6: CALLVALUE 000001d7: DUP1 000001d8: ISZERO 000001d9: PUSH2 0x01e0 000001dc: JUMPI 000001dd: PUSH0 000001de: DUP1 000001df: REVERT 000001e0: JUMPDEST 000001e1: POP 000001e2: PUSH2 0x00dd 000001e5: PUSH2 0x03ee 000001e8: JUMP 000001e9: JUMPDEST 000001ea: CALLVALUE 000001eb: DUP1 000001ec: ISZERO 000001ed: PUSH2 0x01f4 000001f0: JUMPI 000001f1: PUSH0 000001f2: DUP1 000001f3: REVERT 000001f4: JUMPDEST 000001f5: POP 000001f6: PUSH2 0x016f 000001f9: PUSH2 0x0203 000001fc: CALLDATASIZE 000001fd: PUSH1 0x04 000001ff: PUSH2 0x0a27 00000202: JUMP 00000203: JUMPDEST 00000204: PUSH2 0x0416 00000207: JUMP 00000208: JUMPDEST 00000209: CALLVALUE 0000020a: DUP1 0000020b: ISZERO 0000020c: PUSH2 0x0213 0000020f: JUMPI 00000210: PUSH0 00000211: DUP1 00000212: REVERT 00000213: JUMPDEST 00000214: POP 00000215: PUSH2 0x00dd 00000218: PUSH2 0x0427 0000021b: JUMP 0000021c: JUMPDEST 0000021d: CALLVALUE 0000021e: DUP1 0000021f: ISZERO 00000220: PUSH2 0x0227 00000223: JUMPI 00000224: PUSH0 00000225: DUP1 00000226: REVERT 00000227: JUMPDEST 00000228: POP 00000229: PUSH2 0x0259 0000022c: PUSH2 0x0236 0000022f: CALLDATASIZE 00000230: PUSH1 0x04 00000232: PUSH2 0x0b2a 00000235: JUMP 00000236: JUMPDEST 00000237: PUSH4 0xffffffff 0000023c: AND 0000023d: PUSH0 0000023e: SWAP1 0000023f: DUP2 00000240: MSTORE 00000241: PUSH0 00000242: DUP1 00000243: MLOAD 00000244: PUSH1 0x20 00000246: PUSH2 0x0cbc 00000249: DUP4 0000024a: CODECOPY 0000024b: DUP2 0000024c: MLOAD 0000024d: SWAP2 0000024e: MSTORE 0000024f: PUSH1 0x20 00000251: MSTORE 00000252: PUSH1 0x40 00000254: SWAP1 00000255: KECCAK256 00000256: SLOAD 00000257: SWAP1 00000258: JUMP 00000259: JUMPDEST 0000025a: PUSH1 0x40 0000025c: MLOAD 0000025d: SWAP1 0000025e: DUP2 0000025f: MSTORE 00000260: PUSH1 0x20 00000262: ADD 00000263: PUSH2 0x00f1 00000266: JUMP 00000267: JUMPDEST 00000268: CALLVALUE 00000269: DUP1 0000026a: ISZERO 0000026b: PUSH2 0x0272 0000026e: JUMPI 0000026f: PUSH0 00000270: DUP1 00000271: REVERT 00000272: JUMPDEST 00000273: POP 00000274: PUSH2 0x016f 00000277: PUSH2 0x0281 0000027a: CALLDATASIZE 0000027b: PUSH1 0x04 0000027d: PUSH2 0x0b45 00000280: JUMP 00000281: JUMPDEST 00000282: PUSH2 0x044f 00000285: JUMP 00000286: JUMPDEST 00000287: PUSH2 0x016f 0000028a: PUSH2 0x0294 0000028d: CALLDATASIZE 0000028e: PUSH1 0x04 00000290: PUSH2 0x0b8d 00000293: JUMP 00000294: JUMPDEST 00000295: PUSH2 0x0569 00000298: JUMP 00000299: JUMPDEST 0000029a: CALLVALUE 0000029b: DUP1 0000029c: ISZERO 0000029d: PUSH2 0x02a4 000002a0: JUMPI 000002a1: PUSH0 000002a2: DUP1 000002a3: REVERT 000002a4: JUMPDEST 000002a5: POP 000002a6: PUSH2 0x016f 000002a9: PUSH2 0x02b3 000002ac: CALLDATASIZE 000002ad: PUSH1 0x04 000002af: PUSH2 0x0a27 000002b2: JUMP 000002b3: JUMPDEST 000002b4: PUSH2 0x0620 000002b7: JUMP 000002b8: JUMPDEST 000002b9: PUSH0 000002ba: DUP1 000002bb: PUSH32 0xec90cfc37697dc33dbcf188d524bdc2a41f251df5a390991a45d6388ac04b500 000002dc: JUMPDEST 000002dd: SLOAD 000002de: PUSH1 0x01 000002e0: PUSH1 0x01 000002e2: PUSH1 0xa0 000002e4: SHL 000002e5: SUB 000002e6: AND 000002e7: SWAP3 000002e8: SWAP2 000002e9: POP 000002ea: POP 000002eb: JUMP 000002ec: JUMPDEST 000002ed: PUSH2 0x02f4 000002f0: PUSH2 0x065f 000002f3: JUMP 000002f4: JUMPDEST 000002f5: PUSH1 0x01 000002f7: PUSH1 0x01 000002f9: PUSH1 0xa0 000002fb: SHL 000002fc: SUB 000002fd: DUP2 000002fe: AND 000002ff: PUSH2 0x031b 00000302: JUMPI 00000303: PUSH1 0x40 00000305: MLOAD 00000306: PUSH4 0xd92e233d 0000030b: PUSH1 0xe0 0000030d: SHL 0000030e: DUP2 0000030f: MSTORE 00000310: PUSH1 0x04 00000312: ADD 00000313: PUSH1 0x40 00000315: MLOAD 00000316: DUP1 00000317: SWAP2 00000318: SUB 00000319: SWAP1 0000031a: REVERT 0000031b: JUMPDEST 0000031c: PUSH4 0xffffffff 00000321: SWAP2 00000322: SWAP1 00000323: SWAP2 00000324: AND 00000325: PUSH0 00000326: SWAP1 00000327: DUP2 00000328: MSTORE 00000329: PUSH0 0000032a: DUP1 0000032b: MLOAD 0000032c: PUSH1 0x20 0000032e: PUSH2 0x0cbc 00000331: DUP4 00000332: CODECOPY 00000333: DUP2 00000334: MLOAD 00000335: SWAP2 00000336: MSTORE 00000337: PUSH1 0x20 00000339: MSTORE 0000033a: PUSH1 0x40 0000033c: SWAP1 0000033d: KECCAK256 0000033e: PUSH1 0x01 00000340: PUSH1 0x01 00000342: PUSH1 0xa0 00000344: SHL 00000345: SUB 00000346: SWAP1 00000347: SWAP2 00000348: AND 00000349: SWAP1 0000034a: SSTORE 0000034b: JUMP 0000034c: JUMPDEST 0000034d: PUSH2 0x0354 00000350: PUSH2 0x065f 00000353: JUMP 00000354: JUMPDEST 00000355: PUSH1 0x01 00000357: PUSH1 0x01 00000359: PUSH1 0xa0 0000035b: SHL 0000035c: SUB 0000035d: DUP2 0000035e: AND 0000035f: PUSH2 0x037b 00000362: JUMPI 00000363: PUSH1 0x40 00000365: MLOAD 00000366: PUSH4 0xd92e233d 0000036b: PUSH1 0xe0 0000036d: SHL 0000036e: DUP2 0000036f: MSTORE 00000370: PUSH1 0x04 00000372: ADD 00000373: PUSH1 0x40 00000375: MLOAD 00000376: DUP1 00000377: SWAP2 00000378: SUB 00000379: SWAP1 0000037a: REVERT 0000037b: JUMPDEST 0000037c: PUSH1 0x01 0000037e: PUSH1 0x01 00000380: PUSH1 0xa0 00000382: SHL 00000383: SUB 00000384: SWAP2 00000385: DUP3 00000386: AND 00000387: PUSH0 00000388: SWAP1 00000389: DUP2 0000038a: MSTORE 0000038b: PUSH32 0xa277230823aa52e8f2c2adf04f9293d9984bf17323d392c9c6970c02eb95f101 000003ac: PUSH1 0x20 000003ae: MSTORE 000003af: PUSH1 0x40 000003b1: SWAP1 000003b2: KECCAK256 000003b3: DUP1 000003b4: SLOAD 000003b5: PUSH1 0x01 000003b7: PUSH1 0x01 000003b9: PUSH1 0xa0 000003bb: SHL 000003bc: SUB 000003bd: NOT 000003be: AND 000003bf: SWAP2 000003c0: SWAP1 000003c1: SWAP3 000003c2: AND 000003c3: OR 000003c4: SWAP1 000003c5: SSTORE 000003c6: JUMP 000003c7: JUMPDEST 000003c8: PUSH2 0x03cf 000003cb: PUSH2 0x065f 000003ce: JUMP 000003cf: JUMPDEST 000003d0: PUSH2 0x03d8 000003d3: DUP2 000003d4: PUSH2 0x0691 000003d7: JUMP 000003d8: JUMPDEST 000003d9: POP 000003da: JUMP 000003db: JUMPDEST 000003dc: PUSH2 0x03e3 000003df: PUSH2 0x065f 000003e2: JUMP 000003e3: JUMPDEST 000003e4: PUSH2 0x03ec 000003e7: PUSH0 000003e8: PUSH2 0x0705 000003eb: JUMP 000003ec: JUMPDEST 000003ed: JUMP 000003ee: JUMPDEST 000003ef: PUSH0 000003f0: DUP1 000003f1: PUSH32 0x2d365d82646798ae645c4baa2dc2ee228626f61d8b5395bf298ba125a3c6b100 00000412: PUSH2 0x02dc 00000415: JUMP 00000416: JUMPDEST 00000417: PUSH2 0x041e 0000041a: PUSH2 0x065f 0000041d: JUMP 0000041e: JUMPDEST 0000041f: PUSH2 0x03d8 00000422: DUP2 00000423: PUSH2 0x0775 00000426: JUMP 00000427: JUMPDEST 00000428: PUSH0 00000429: DUP1 0000042a: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300 0000044b: PUSH2 0x02dc 0000044e: JUMP 0000044f: JUMPDEST 00000450: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 00000471: DUP1 00000472: SLOAD 00000473: PUSH1 0x01 00000475: PUSH1 0x40 00000477: SHL 00000478: DUP2 00000479: DIV 0000047a: PUSH1 0xff 0000047c: AND 0000047d: ISZERO 0000047e: SWAP1 0000047f: PUSH8 0xffffffffffffffff 00000488: AND 00000489: PUSH0 0000048a: DUP2 0000048b: ISZERO 0000048c: DUP1 0000048d: ISZERO 0000048e: PUSH2 0x0494 00000491: JUMPI 00000492: POP 00000493: DUP3 00000494: JUMPDEST 00000495: SWAP1 00000496: POP 00000497: PUSH0 00000498: DUP3 00000499: PUSH8 0xffffffffffffffff 000004a2: AND 000004a3: PUSH1 0x01 000004a5: EQ 000004a6: DUP1 000004a7: ISZERO 000004a8: PUSH2 0x04b0 000004ab: JUMPI 000004ac: POP 000004ad: ADDRESS 000004ae: EXTCODESIZE 000004af: ISZERO 000004b0: JUMPDEST 000004b1: SWAP1 000004b2: POP 000004b3: DUP2 000004b4: ISZERO 000004b5: DUP1 000004b6: ISZERO 000004b7: PUSH2 0x04be 000004ba: JUMPI 000004bb: POP 000004bc: DUP1 000004bd: ISZERO 000004be: JUMPDEST 000004bf: ISZERO 000004c0: PUSH2 0x04dc 000004c3: JUMPI 000004c4: PUSH1 0x40 000004c6: MLOAD 000004c7: PUSH4 0xf92ee8a9 000004cc: PUSH1 0xe0 000004ce: SHL 000004cf: DUP2 000004d0: MSTORE 000004d1: PUSH1 0x04 000004d3: ADD 000004d4: PUSH1 0x40 000004d6: MLOAD 000004d7: DUP1 000004d8: SWAP2 000004d9: SUB 000004da: SWAP1 000004db: REVERT 000004dc: JUMPDEST 000004dd: DUP5 000004de: SLOAD 000004df: PUSH8 0xffffffffffffffff 000004e8: NOT 000004e9: AND 000004ea: PUSH1 0x01 000004ec: OR 000004ed: DUP6 000004ee: SSTORE 000004ef: DUP4 000004f0: ISZERO 000004f1: PUSH2 0x0506 000004f4: JUMPI 000004f5: DUP5 000004f6: SLOAD 000004f7: PUSH1 0xff 000004f9: PUSH1 0x40 000004fb: SHL 000004fc: NOT 000004fd: AND 000004fe: PUSH1 0x01 00000500: PUSH1 0x40 00000502: SHL 00000503: OR 00000504: DUP6 00000505: SSTORE 00000506: JUMPDEST 00000507: PUSH2 0x050f 0000050a: DUP7 0000050b: PUSH2 0x07e1 0000050e: JUMP 0000050f: JUMPDEST 00000510: PUSH2 0x0519 00000513: DUP9 00000514: DUP9 00000515: PUSH2 0x07f2 00000518: JUMP 00000519: JUMPDEST 0000051a: DUP4 0000051b: ISZERO 0000051c: PUSH2 0x055f 0000051f: JUMPI 00000520: DUP5 00000521: SLOAD 00000522: PUSH1 0xff 00000524: PUSH1 0x40 00000526: SHL 00000527: NOT 00000528: AND 00000529: DUP6 0000052a: SSTORE 0000052b: PUSH1 0x40 0000052d: MLOAD 0000052e: PUSH1 0x01 00000530: DUP2 00000531: MSTORE 00000532: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2 00000553: SWAP1 00000554: PUSH1 0x20 00000556: ADD 00000557: PUSH1 0x40 00000559: MLOAD 0000055a: DUP1 0000055b: SWAP2 0000055c: SUB 0000055d: SWAP1 0000055e: LOG1 0000055f: JUMPDEST 00000560: POP 00000561: POP 00000562: POP 00000563: POP 00000564: POP 00000565: POP 00000566: POP 00000567: POP 00000568: JUMP 00000569: JUMPDEST 0000056a: PUSH0 0000056b: PUSH2 0x0574 0000056e: DUP7 0000056f: DUP7 00000570: PUSH2 0x080c 00000573: JUMP 00000574: JUMPDEST 00000575: SWAP1 00000576: POP 00000577: PUSH0 00000578: PUSH2 0x0581 0000057b: DUP8 0000057c: DUP8 0000057d: PUSH2 0x0858 00000580: JUMP 00000581: JUMPDEST 00000582: SWAP1 00000583: POP 00000584: PUSH0 00000585: DUP1 00000586: PUSH0 00000587: DUP1 00000588: PUSH0 00000589: DUP7 0000058a: DUP1 0000058b: PUSH1 0x20 0000058d: ADD 0000058e: SWAP1 0000058f: MLOAD 00000590: DUP2 00000591: ADD 00000592: SWAP1 00000593: PUSH2 0x059c 00000596: SWAP2 00000597: SWAP1 00000598: PUSH2 0x0c27 0000059b: JUMP 0000059c: JUMPDEST 0000059d: SWAP5 0000059e: POP 0000059f: SWAP5 000005a0: POP 000005a1: SWAP5 000005a2: POP 000005a3: SWAP5 000005a4: POP 000005a5: SWAP5 000005a6: POP 000005a7: DUP14 000005a8: PUSH1 0x01 000005aa: PUSH1 0x01 000005ac: PUSH1 0xa0 000005ae: SHL 000005af: SUB 000005b0: AND 000005b1: PUSH2 0x05c4 000005b4: PUSH0 000005b5: DUP1 000005b6: MLOAD 000005b7: PUSH1 0x20 000005b9: PUSH2 0x0cbc 000005bc: DUP4 000005bd: CODECOPY 000005be: DUP2 000005bf: MLOAD 000005c0: SWAP2 000005c1: MSTORE 000005c2: SWAP1 000005c3: JUMP 000005c4: JUMPDEST 000005c5: PUSH1 0x01 000005c7: PUSH1 0x01 000005c9: PUSH1 0xa0 000005cb: SHL 000005cc: SUB 000005cd: DUP1 000005ce: DUP7 000005cf: AND 000005d0: PUSH0 000005d1: SWAP1 000005d2: DUP2 000005d3: MSTORE 000005d4: PUSH1 0x01 000005d6: SWAP3 000005d7: SWAP1 000005d8: SWAP3 000005d9: ADD 000005da: PUSH1 0x20 000005dc: MSTORE 000005dd: PUSH1 0x40 000005df: SWAP1 000005e0: SWAP2 000005e1: KECCAK256 000005e2: SLOAD 000005e3: AND 000005e4: EQ 000005e5: PUSH2 0x0601 000005e8: JUMPI 000005e9: PUSH1 0x40 000005eb: MLOAD 000005ec: PUSH4 0x1eb49d6d 000005f1: PUSH1 0xe1 000005f3: SHL 000005f4: DUP2 000005f5: MSTORE 000005f6: PUSH1 0x04 000005f8: ADD 000005f9: PUSH1 0x40 000005fb: MLOAD 000005fc: DUP1 000005fd: SWAP2 000005fe: SUB 000005ff: SWAP1 00000600: REVERT 00000601: JUMPDEST 00000602: PUSH2 0x0610 00000605: DUP6 00000606: DUP8 00000607: DUP7 00000608: DUP7 00000609: DUP7 0000060a: DUP7 0000060b: DUP8 0000060c: PUSH2 0x0877 0000060f: JUMP 00000610: JUMPDEST 00000611: POP 00000612: POP 00000613: POP 00000614: POP 00000615: POP 00000616: POP 00000617: POP 00000618: POP 00000619: POP 0000061a: POP 0000061b: POP 0000061c: POP 0000061d: POP 0000061e: POP 0000061f: JUMP 00000620: JUMPDEST 00000621: PUSH2 0x0628 00000624: PUSH2 0x065f 00000627: JUMP 00000628: JUMPDEST 00000629: PUSH1 0x01 0000062b: PUSH1 0x01 0000062d: PUSH1 0xa0 0000062f: SHL 00000630: SUB 00000631: DUP2 00000632: AND 00000633: PUSH2 0x0656 00000636: JUMPI 00000637: PUSH1 0x40 00000639: MLOAD 0000063a: PUSH4 0x1e4fbdf7 0000063f: PUSH1 0xe0 00000641: SHL 00000642: DUP2 00000643: MSTORE 00000644: PUSH0 00000645: PUSH1 0x04 00000647: DUP3 00000648: ADD 00000649: MSTORE 0000064a: PUSH1 0x24 0000064c: ADD 0000064d: JUMPDEST 0000064e: PUSH1 0x40 00000650: MLOAD 00000651: DUP1 00000652: SWAP2 00000653: SUB 00000654: SWAP1 00000655: REVERT 00000656: JUMPDEST 00000657: PUSH2 0x03d8 0000065a: DUP2 0000065b: PUSH2 0x0705 0000065e: JUMP 0000065f: JUMPDEST 00000660: CALLER 00000661: PUSH2 0x0668 00000664: PUSH2 0x0427 00000667: JUMP 00000668: JUMPDEST 00000669: PUSH1 0x01 0000066b: PUSH1 0x01 0000066d: PUSH1 0xa0 0000066f: SHL 00000670: SUB 00000671: AND 00000672: EQ 00000673: PUSH2 0x03ec 00000676: JUMPI 00000677: PUSH1 0x40 00000679: MLOAD 0000067a: PUSH4 0x118cdaa7 0000067f: PUSH1 0xe0 00000681: SHL 00000682: DUP2 00000683: MSTORE 00000684: CALLER 00000685: PUSH1 0x04 00000687: DUP3 00000688: ADD 00000689: MSTORE 0000068a: PUSH1 0x24 0000068c: ADD 0000068d: PUSH2 0x064d 00000690: JUMP 00000691: JUMPDEST 00000692: PUSH32 0x2d365d82646798ae645c4baa2dc2ee228626f61d8b5395bf298ba125a3c6b100 000006b3: DUP1 000006b4: SLOAD 000006b5: PUSH1 0x01 000006b7: PUSH1 0x01 000006b9: PUSH1 0xa0 000006bb: SHL 000006bc: SUB 000006bd: NOT 000006be: AND 000006bf: PUSH1 0x01 000006c1: PUSH1 0x01 000006c3: PUSH1 0xa0 000006c5: SHL 000006c6: SUB 000006c7: DUP4 000006c8: AND 000006c9: SWAP1 000006ca: DUP2 000006cb: OR 000006cc: DUP3 000006cd: SSTORE 000006ce: PUSH1 0x40 000006d0: MLOAD 000006d1: SWAP1 000006d2: DUP2 000006d3: MSTORE 000006d4: PUSH32 0xaf53bfd91676a5f7c3d8a2bcd6a9df83b50bde13a00670e3db6a6cefa04823bc 000006f5: SWAP1 000006f6: PUSH1 0x20 000006f8: ADD 000006f9: JUMPDEST 000006fa: PUSH1 0x40 000006fc: MLOAD 000006fd: DUP1 000006fe: SWAP2 000006ff: SUB 00000700: SWAP1 00000701: LOG1 00000702: POP 00000703: POP 00000704: JUMP 00000705: JUMPDEST 00000706: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300 00000727: DUP1 00000728: SLOAD 00000729: PUSH1 0x01 0000072b: PUSH1 0x01 0000072d: PUSH1 0xa0 0000072f: SHL 00000730: SUB 00000731: NOT 00000732: DUP2 00000733: AND 00000734: PUSH1 0x01 00000736: PUSH1 0x01 00000738: PUSH1 0xa0 0000073a: SHL 0000073b: SUB 0000073c: DUP5 0000073d: DUP2 0000073e: AND 0000073f: SWAP2 00000740: DUP3 00000741: OR 00000742: DUP5 00000743: SSTORE 00000744: PUSH1 0x40 00000746: MLOAD 00000747: SWAP3 00000748: AND 00000749: SWAP2 0000074a: DUP3 0000074b: SWAP1 0000074c: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 0000076d: SWAP1 0000076e: PUSH0 0000076f: SWAP1 00000770: LOG3 00000771: POP 00000772: POP 00000773: POP 00000774: JUMP 00000775: JUMPDEST 00000776: PUSH32 0xec90cfc37697dc33dbcf188d524bdc2a41f251df5a390991a45d6388ac04b500 00000797: DUP1 00000798: SLOAD 00000799: PUSH1 0x01 0000079b: PUSH1 0x01 0000079d: PUSH1 0xa0 0000079f: SHL 000007a0: SUB 000007a1: NOT 000007a2: AND 000007a3: PUSH1 0x01 000007a5: PUSH1 0x01 000007a7: PUSH1 0xa0 000007a9: SHL 000007aa: SUB 000007ab: DUP4 000007ac: AND 000007ad: SWAP1 000007ae: DUP2 000007af: OR 000007b0: DUP3 000007b1: SSTORE 000007b2: PUSH1 0x40 000007b4: MLOAD 000007b5: SWAP1 000007b6: DUP2 000007b7: MSTORE 000007b8: PUSH32 0xc56136dbe126fa78122f00c45d3a7449ca0047154401f27c13fdd1c801882251 000007d9: SWAP1 000007da: PUSH1 0x20 000007dc: ADD 000007dd: PUSH2 0x06f9 000007e0: JUMP 000007e1: JUMPDEST 000007e2: PUSH2 0x07e9 000007e5: PUSH2 0x09a1 000007e8: JUMP 000007e9: JUMPDEST 000007ea: PUSH2 0x03d8 000007ed: DUP2 000007ee: PUSH2 0x09ea 000007f1: JUMP 000007f2: JUMPDEST 000007f3: PUSH2 0x07fa 000007f6: PUSH2 0x09a1 000007f9: JUMP 000007fa: JUMPDEST 000007fb: PUSH2 0x0803 000007fe: DUP2 000007ff: PUSH2 0x09f2 00000802: JUMP 00000803: JUMPDEST 00000804: PUSH2 0x017f 00000807: DUP3 00000808: PUSH2 0x0a03 0000080b: JUMP 0000080c: JUMPDEST 0000080d: PUSH1 0x60 0000080f: PUSH2 0x081b 00000812: DUP3 00000813: PUSH1 0x4c 00000815: DUP2 00000816: DUP7 00000817: PUSH2 0x0c77 0000081a: JUMP 0000081b: JUMPDEST 0000081c: DUP1 0000081d: DUP1 0000081e: PUSH1 0x1f 00000820: ADD 00000821: PUSH1 0x20 00000823: DUP1 00000824: SWAP2 00000825: DIV 00000826: MUL 00000827: PUSH1 0x20 00000829: ADD 0000082a: PUSH1 0x40 0000082c: MLOAD 0000082d: SWAP1 0000082e: DUP2 0000082f: ADD 00000830: PUSH1 0x40 00000832: MSTORE 00000833: DUP1 00000834: SWAP4 00000835: SWAP3 00000836: SWAP2 00000837: SWAP1 00000838: DUP2 00000839: DUP2 0000083a: MSTORE 0000083b: PUSH1 0x20 0000083d: ADD 0000083e: DUP4 0000083f: DUP4 00000840: DUP1 00000841: DUP3 00000842: DUP5 00000843: CALLDATACOPY 00000844: PUSH0 00000845: SWAP3 00000846: ADD 00000847: SWAP2 00000848: SWAP1 00000849: SWAP2 0000084a: MSTORE 0000084b: POP 0000084c: SWAP3 0000084d: SWAP4 0000084e: POP 0000084f: POP 00000850: POP 00000851: POP 00000852: JUMPDEST 00000853: SWAP3 00000854: SWAP2 00000855: POP 00000856: POP 00000857: JUMP 00000858: JUMPDEST 00000859: PUSH0 0000085a: PUSH2 0x0867 0000085d: PUSH1 0x4c 0000085f: PUSH1 0x2c 00000861: DUP5 00000862: DUP7 00000863: PUSH2 0x0c77 00000866: JUMP 00000867: JUMPDEST 00000868: PUSH2 0x0870 0000086b: SWAP2 0000086c: PUSH2 0x0c9e 0000086f: JUMP 00000870: JUMPDEST 00000871: SWAP4 00000872: SWAP3 00000873: POP 00000874: POP 00000875: POP 00000876: JUMP 00000877: JUMPDEST 00000878: PUSH2 0x087f 0000087b: PUSH2 0x03ee 0000087e: JUMP 0000087f: JUMPDEST 00000880: PUSH1 0x01 00000882: PUSH1 0x01 00000884: PUSH1 0xa0 00000886: SHL 00000887: SUB 00000888: AND 00000889: CALLER 0000088a: PUSH1 0x01 0000088c: PUSH1 0x01 0000088e: PUSH1 0xa0 00000890: SHL 00000891: SUB 00000892: AND 00000893: EQ 00000894: PUSH2 0x08b0 00000897: JUMPI 00000898: PUSH1 0x40 0000089a: MLOAD 0000089b: PUSH4 0xb413b919 000008a0: PUSH1 0xe0 000008a2: SHL 000008a3: DUP2 000008a4: MSTORE 000008a5: PUSH1 0x04 000008a7: ADD 000008a8: PUSH1 0x40 000008aa: MLOAD 000008ab: DUP1 000008ac: SWAP2 000008ad: SUB 000008ae: SWAP1 000008af: REVERT 000008b0: JUMPDEST 000008b1: DUP6 000008b2: PUSH2 0x08d8 000008b5: DUP9 000008b6: PUSH4 0xffffffff 000008bb: AND 000008bc: PUSH0 000008bd: SWAP1 000008be: DUP2 000008bf: MSTORE 000008c0: PUSH0 000008c1: DUP1 000008c2: MLOAD 000008c3: PUSH1 0x20 000008c5: PUSH2 0x0cbc 000008c8: DUP4 000008c9: CODECOPY 000008ca: DUP2 000008cb: MLOAD 000008cc: SWAP2 000008cd: MSTORE 000008ce: PUSH1 0x20 000008d0: MSTORE 000008d1: PUSH1 0x40 000008d3: SWAP1 000008d4: KECCAK256 000008d5: SLOAD 000008d6: SWAP1 000008d7: JUMP 000008d8: JUMPDEST 000008d9: EQ 000008da: PUSH2 0x08f6 000008dd: JUMPI 000008de: PUSH1 0x40 000008e0: MLOAD 000008e1: PUSH4 0x0749c601 000008e6: PUSH1 0xe5 000008e8: SHL 000008e9: DUP2 000008ea: MSTORE 000008eb: PUSH1 0x04 000008ed: ADD 000008ee: PUSH1 0x40 000008f0: MLOAD 000008f1: DUP1 000008f2: SWAP2 000008f3: SUB 000008f4: SWAP1 000008f5: REVERT 000008f6: JUMPDEST 000008f7: PUSH0 000008f8: PUSH32 0xec90cfc37697dc33dbcf188d524bdc2a41f251df5a390991a45d6388ac04b500 00000919: DUP1 0000091a: SLOAD 0000091b: PUSH1 0x40 0000091d: MLOAD 0000091e: PUSH4 0x0a0fd845 00000923: PUSH1 0xe1 00000925: SHL 00000926: DUP2 00000927: MSTORE 00000928: PUSH4 0xffffffff 0000092d: DUP12 0000092e: AND 0000092f: PUSH1 0x04 00000931: DUP3 00000932: ADD 00000933: MSTORE 00000934: PUSH1 0x24 00000936: DUP2 00000937: ADD 00000938: DUP10 00000939: SWAP1 0000093a: MSTORE 0000093b: PUSH1 0x01 0000093d: PUSH1 0x01 0000093f: PUSH1 0xa0 00000941: SHL 00000942: SUB 00000943: DUP9 00000944: DUP2 00000945: AND 00000946: PUSH1 0x44 00000948: DUP4 00000949: ADD 0000094a: MSTORE 0000094b: PUSH1 0x64 0000094d: DUP3 0000094e: ADD 0000094f: DUP9 00000950: SWAP1 00000951: MSTORE 00000952: PUSH1 0x84 00000954: DUP3 00000955: ADD 00000956: DUP8 00000957: SWAP1 00000958: MSTORE 00000959: SWAP3 0000095a: SWAP4 0000095b: POP 0000095c: SWAP2 0000095d: AND 0000095e: SWAP1 0000095f: PUSH4 0x141fb08a 00000964: SWAP1 00000965: DUP5 00000966: SWAP1 00000967: PUSH1 0xa4 00000969: ADD 0000096a: PUSH0 0000096b: PUSH1 0x40 0000096d: MLOAD 0000096e: DUP1 0000096f: DUP4 00000970: SUB 00000971: DUP2 00000972: DUP6 00000973: DUP9 00000974: DUP1 00000975: EXTCODESIZE 00000976: ISZERO 00000977: DUP1 00000978: ISZERO 00000979: PUSH2 0x0980 0000097c: JUMPI 0000097d: PUSH0 0000097e: DUP1 0000097f: REVERT 00000980: JUMPDEST 00000981: POP 00000982: GAS 00000983: CALL 00000984: ISZERO 00000985: DUP1 00000986: ISZERO 00000987: PUSH2 0x0992 0000098a: JUMPI 0000098b: RETURNDATASIZE 0000098c: PUSH0 0000098d: DUP1 0000098e: RETURNDATACOPY 0000098f: RETURNDATASIZE 00000990: PUSH0 00000991: REVERT 00000992: JUMPDEST 00000993: POP 00000994: POP 00000995: POP 00000996: POP 00000997: POP 00000998: POP 00000999: POP 0000099a: POP 0000099b: POP 0000099c: POP 0000099d: POP 0000099e: POP 0000099f: POP 000009a0: JUMP 000009a1: JUMPDEST 000009a2: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 000009c3: SLOAD 000009c4: PUSH1 0x01 000009c6: PUSH1 0x40 000009c8: SHL 000009c9: SWAP1 000009ca: DIV 000009cb: PUSH1 0xff 000009cd: AND 000009ce: PUSH2 0x03ec 000009d1: JUMPI 000009d2: PUSH1 0x40 000009d4: MLOAD 000009d5: PUSH4 0x1afcd79f 000009da: PUSH1 0xe3 000009dc: SHL 000009dd: DUP2 000009de: MSTORE 000009df: PUSH1 0x04 000009e1: ADD 000009e2: PUSH1 0x40 000009e4: MLOAD 000009e5: DUP1 000009e6: SWAP2 000009e7: SUB 000009e8: SWAP1 000009e9: REVERT 000009ea: JUMPDEST 000009eb: PUSH2 0x0628 000009ee: PUSH2 0x09a1 000009f1: JUMP 000009f2: JUMPDEST 000009f3: PUSH2 0x09fa 000009f6: PUSH2 0x09a1 000009f9: JUMP 000009fa: JUMPDEST 000009fb: PUSH2 0x03d8 000009fe: DUP2 000009ff: PUSH2 0x0a0b 00000a02: JUMP 00000a03: JUMPDEST 00000a04: PUSH2 0x041e 00000a07: PUSH2 0x09a1 00000a0a: JUMP 00000a0b: JUMPDEST 00000a0c: PUSH2 0x03cf 00000a0f: PUSH2 0x09a1 00000a12: JUMP 00000a13: JUMPDEST 00000a14: PUSH1 0x01 00000a16: PUSH1 0x01 00000a18: PUSH1 0xa0 00000a1a: SHL 00000a1b: SUB 00000a1c: DUP2 00000a1d: AND 00000a1e: DUP2 00000a1f: EQ 00000a20: PUSH2 0x03d8 00000a23: JUMPI 00000a24: PUSH0 00000a25: DUP1 00000a26: REVERT 00000a27: JUMPDEST 00000a28: PUSH0 00000a29: PUSH1 0x20 00000a2b: DUP3 00000a2c: DUP5 00000a2d: SUB 00000a2e: SLT 00000a2f: ISZERO 00000a30: PUSH2 0x0a37 00000a33: JUMPI 00000a34: PUSH0 00000a35: DUP1 00000a36: REVERT 00000a37: JUMPDEST 00000a38: DUP2 00000a39: CALLDATALOAD 00000a3a: PUSH2 0x0870 00000a3d: DUP2 00000a3e: PUSH2 0x0a13 00000a41: JUMP 00000a42: JUMPDEST 00000a43: PUSH4 0xffffffff 00000a48: DUP2 00000a49: AND 00000a4a: DUP2 00000a4b: EQ 00000a4c: PUSH2 0x03d8 00000a4f: JUMPI 00000a50: PUSH0 00000a51: DUP1 00000a52: REVERT 00000a53: JUMPDEST 00000a54: PUSH0 00000a55: DUP1 00000a56: PUSH1 0x40 00000a58: DUP4 00000a59: DUP6 00000a5a: SUB 00000a5b: SLT 00000a5c: ISZERO 00000a5d: PUSH2 0x0a64 00000a60: JUMPI 00000a61: PUSH0 00000a62: DUP1 00000a63: REVERT 00000a64: JUMPDEST 00000a65: DUP3 00000a66: CALLDATALOAD 00000a67: PUSH2 0x0a6f 00000a6a: DUP2 00000a6b: PUSH2 0x0a42 00000a6e: JUMP 00000a6f: JUMPDEST 00000a70: SWAP2 00000a71: POP 00000a72: PUSH1 0x20 00000a74: DUP4 00000a75: ADD 00000a76: CALLDATALOAD 00000a77: PUSH2 0x0a7f 00000a7a: DUP2 00000a7b: PUSH2 0x0a13 00000a7e: JUMP 00000a7f: JUMPDEST 00000a80: DUP1 00000a81: SWAP2 00000a82: POP 00000a83: POP 00000a84: SWAP3 00000a85: POP 00000a86: SWAP3 00000a87: SWAP1 00000a88: POP 00000a89: JUMP 00000a8a: JUMPDEST 00000a8b: PUSH0 00000a8c: DUP1 00000a8d: DUP4 00000a8e: PUSH1 0x1f 00000a90: DUP5 00000a91: ADD 00000a92: SLT 00000a93: PUSH2 0x0a9a 00000a96: JUMPI 00000a97: PUSH0 00000a98: DUP1 00000a99: REVERT 00000a9a: JUMPDEST 00000a9b: POP 00000a9c: DUP2 00000a9d: CALLDATALOAD 00000a9e: PUSH8 0xffffffffffffffff 00000aa7: DUP2 00000aa8: GT 00000aa9: ISZERO 00000aaa: PUSH2 0x0ab1 00000aad: JUMPI 00000aae: PUSH0 00000aaf: DUP1 00000ab0: REVERT 00000ab1: JUMPDEST 00000ab2: PUSH1 0x20 00000ab4: DUP4 00000ab5: ADD 00000ab6: SWAP2 00000ab7: POP 00000ab8: DUP4 00000ab9: PUSH1 0x20 00000abb: DUP3 00000abc: DUP6 00000abd: ADD 00000abe: ADD 00000abf: GT 00000ac0: ISZERO 00000ac1: PUSH2 0x0ac8 00000ac4: JUMPI 00000ac5: PUSH0 00000ac6: DUP1 00000ac7: REVERT 00000ac8: JUMPDEST 00000ac9: SWAP3 00000aca: POP 00000acb: SWAP3 00000acc: SWAP1 00000acd: POP 00000ace: JUMP 00000acf: JUMPDEST 00000ad0: PUSH0 00000ad1: DUP1 00000ad2: PUSH1 0x20 00000ad4: DUP4 00000ad5: DUP6 00000ad6: SUB 00000ad7: SLT 00000ad8: ISZERO 00000ad9: PUSH2 0x0ae0 00000adc: JUMPI 00000add: PUSH0 00000ade: DUP1 00000adf: REVERT 00000ae0: JUMPDEST 00000ae1: DUP3 00000ae2: CALLDATALOAD 00000ae3: PUSH8 0xffffffffffffffff 00000aec: DUP2 00000aed: GT 00000aee: ISZERO 00000aef: PUSH2 0x0af6 00000af2: JUMPI 00000af3: PUSH0 00000af4: DUP1 00000af5: REVERT 00000af6: JUMPDEST 00000af7: PUSH2 0x0b02 00000afa: DUP6 00000afb: DUP3 00000afc: DUP7 00000afd: ADD 00000afe: PUSH2 0x0a8a 00000b01: JUMP 00000b02: JUMPDEST 00000b03: SWAP1 00000b04: SWAP7 00000b05: SWAP1 00000b06: SWAP6 00000b07: POP 00000b08: SWAP4 00000b09: POP 00000b0a: POP 00000b0b: POP 00000b0c: POP 00000b0d: JUMP 00000b0e: JUMPDEST 00000b0f: PUSH0 00000b10: DUP1 00000b11: PUSH1 0x40 00000b13: DUP4 00000b14: DUP6 00000b15: SUB 00000b16: SLT 00000b17: ISZERO 00000b18: PUSH2 0x0b1f 00000b1b: JUMPI 00000b1c: PUSH0 00000b1d: DUP1 00000b1e: REVERT 00000b1f: JUMPDEST 00000b20: DUP3 00000b21: CALLDATALOAD 00000b22: PUSH2 0x0a6f 00000b25: DUP2 00000b26: PUSH2 0x0a13 00000b29: JUMP 00000b2a: JUMPDEST 00000b2b: PUSH0 00000b2c: PUSH1 0x20 00000b2e: DUP3 00000b2f: DUP5 00000b30: SUB 00000b31: SLT 00000b32: ISZERO 00000b33: PUSH2 0x0b3a 00000b36: JUMPI 00000b37: PUSH0 00000b38: DUP1 00000b39: REVERT 00000b3a: JUMPDEST 00000b3b: DUP2 00000b3c: CALLDATALOAD 00000b3d: PUSH2 0x0870 00000b40: DUP2 00000b41: PUSH2 0x0a42 00000b44: JUMP 00000b45: JUMPDEST 00000b46: PUSH0 00000b47: DUP1 00000b48: PUSH0 00000b49: PUSH1 0x60 00000b4b: DUP5 00000b4c: DUP7 00000b4d: SUB 00000b4e: SLT 00000b4f: ISZERO 00000b50: PUSH2 0x0b57 00000b53: JUMPI 00000b54: PUSH0 00000b55: DUP1 00000b56: REVERT 00000b57: JUMPDEST 00000b58: DUP4 00000b59: CALLDATALOAD 00000b5a: PUSH2 0x0b62 00000b5d: DUP2 00000b5e: PUSH2 0x0a13 00000b61: JUMP 00000b62: JUMPDEST 00000b63: SWAP3 00000b64: POP 00000b65: PUSH1 0x20 00000b67: DUP5 00000b68: ADD 00000b69: CALLDATALOAD 00000b6a: PUSH2 0x0b72 00000b6d: DUP2 00000b6e: PUSH2 0x0a13 00000b71: JUMP 00000b72: JUMPDEST 00000b73: SWAP2 00000b74: POP 00000b75: PUSH1 0x40 00000b77: DUP5 00000b78: ADD 00000b79: CALLDATALOAD 00000b7a: PUSH2 0x0b82 00000b7d: DUP2 00000b7e: PUSH2 0x0a13 00000b81: JUMP 00000b82: JUMPDEST 00000b83: DUP1 00000b84: SWAP2 00000b85: POP 00000b86: POP 00000b87: SWAP3 00000b88: POP 00000b89: SWAP3 00000b8a: POP 00000b8b: SWAP3 00000b8c: JUMP 00000b8d: JUMPDEST 00000b8e: PUSH0 00000b8f: DUP1 00000b90: PUSH0 00000b91: DUP1 00000b92: PUSH0 00000b93: DUP1 00000b94: PUSH0 00000b95: PUSH1 0xa0 00000b97: DUP9 00000b98: DUP11 00000b99: SUB 00000b9a: SLT 00000b9b: ISZERO 00000b9c: PUSH2 0x0ba3 00000b9f: JUMPI 00000ba0: PUSH0 00000ba1: DUP1 00000ba2: REVERT 00000ba3: JUMPDEST 00000ba4: DUP8 00000ba5: CALLDATALOAD 00000ba6: PUSH2 0x0bae 00000ba9: DUP2 00000baa: PUSH2 0x0a13 00000bad: JUMP 00000bae: JUMPDEST 00000baf: SWAP7 00000bb0: POP 00000bb1: PUSH1 0x20 00000bb3: DUP9 00000bb4: ADD 00000bb5: CALLDATALOAD 00000bb6: SWAP6 00000bb7: POP 00000bb8: PUSH1 0x40 00000bba: DUP9 00000bbb: ADD 00000bbc: CALLDATALOAD 00000bbd: PUSH8 0xffffffffffffffff 00000bc6: DUP1 00000bc7: DUP3 00000bc8: GT 00000bc9: ISZERO 00000bca: PUSH2 0x0bd1 00000bcd: JUMPI 00000bce: PUSH0 00000bcf: DUP1 00000bd0: REVERT 00000bd1: JUMPDEST 00000bd2: PUSH2 0x0bdd 00000bd5: DUP12 00000bd6: DUP4 00000bd7: DUP13 00000bd8: ADD 00000bd9: PUSH2 0x0a8a 00000bdc: JUMP 00000bdd: JUMPDEST 00000bde: SWAP1 00000bdf: SWAP8 00000be0: POP 00000be1: SWAP6 00000be2: POP 00000be3: PUSH1 0x60 00000be5: DUP11 00000be6: ADD 00000be7: CALLDATALOAD 00000be8: SWAP2 00000be9: POP 00000bea: PUSH2 0x0bf2 00000bed: DUP3 00000bee: PUSH2 0x0a13 00000bf1: JUMP 00000bf2: JUMPDEST 00000bf3: SWAP1 00000bf4: SWAP4 00000bf5: POP 00000bf6: PUSH1 0x80 00000bf8: DUP10 00000bf9: ADD 00000bfa: CALLDATALOAD 00000bfb: SWAP1 00000bfc: DUP1 00000bfd: DUP3 00000bfe: GT 00000bff: ISZERO 00000c00: PUSH2 0x0c07 00000c03: JUMPI 00000c04: PUSH0 00000c05: DUP1 00000c06: REVERT 00000c07: JUMPDEST 00000c08: POP 00000c09: PUSH2 0x0c14 00000c0c: DUP11 00000c0d: DUP3 00000c0e: DUP12 00000c0f: ADD 00000c10: PUSH2 0x0a8a 00000c13: JUMP 00000c14: JUMPDEST 00000c15: SWAP9 00000c16: SWAP12 00000c17: SWAP8 00000c18: SWAP11 00000c19: POP 00000c1a: SWAP6 00000c1b: SWAP9 00000c1c: POP 00000c1d: SWAP4 00000c1e: SWAP7 00000c1f: SWAP3 00000c20: SWAP6 00000c21: SWAP3 00000c22: SWAP4 00000c23: POP 00000c24: POP 00000c25: POP 00000c26: JUMP 00000c27: JUMPDEST 00000c28: PUSH0 00000c29: DUP1 00000c2a: PUSH0 00000c2b: DUP1 00000c2c: PUSH0 00000c2d: PUSH1 0xa0 00000c2f: DUP7 00000c30: DUP9 00000c31: SUB 00000c32: SLT 00000c33: ISZERO 00000c34: PUSH2 0x0c3b 00000c37: JUMPI 00000c38: PUSH0 00000c39: DUP1 00000c3a: REVERT 00000c3b: JUMPDEST 00000c3c: DUP6 00000c3d: MLOAD 00000c3e: PUSH2 0x0c46 00000c41: DUP2 00000c42: PUSH2 0x0a42 00000c45: JUMP 00000c46: JUMPDEST 00000c47: PUSH1 0x20 00000c49: DUP8 00000c4a: ADD 00000c4b: MLOAD 00000c4c: PUSH1 0x40 00000c4e: DUP9 00000c4f: ADD 00000c50: MLOAD 00000c51: SWAP2 00000c52: SWAP7 00000c53: POP 00000c54: SWAP5 00000c55: POP 00000c56: PUSH2 0x0c5e 00000c59: DUP2 00000c5a: PUSH2 0x0a13 00000c5d: JUMP 00000c5e: JUMPDEST 00000c5f: PUSH1 0x60 00000c61: DUP8 00000c62: ADD 00000c63: MLOAD 00000c64: PUSH1 0x80 00000c66: SWAP1 00000c67: SWAP8 00000c68: ADD 00000c69: MLOAD 00000c6a: SWAP6 00000c6b: SWAP9 00000c6c: SWAP5 00000c6d: SWAP8 00000c6e: POP 00000c6f: SWAP6 00000c70: SWAP5 00000c71: SWAP4 00000c72: SWAP3 00000c73: POP 00000c74: POP 00000c75: POP 00000c76: JUMP 00000c77: JUMPDEST 00000c78: PUSH0 00000c79: DUP1 00000c7a: DUP6 00000c7b: DUP6 00000c7c: GT 00000c7d: ISZERO 00000c7e: PUSH2 0x0c85 00000c81: JUMPI 00000c82: PUSH0 00000c83: DUP1 00000c84: REVERT 00000c85: JUMPDEST 00000c86: DUP4 00000c87: DUP7 00000c88: GT 00000c89: ISZERO 00000c8a: PUSH2 0x0c91 00000c8d: JUMPI 00000c8e: PUSH0 00000c8f: DUP1 00000c90: REVERT 00000c91: JUMPDEST 00000c92: POP 00000c93: POP 00000c94: DUP3 00000c95: ADD 00000c96: SWAP4 00000c97: SWAP2 00000c98: SWAP1 00000c99: SWAP3 00000c9a: SUB 00000c9b: SWAP2 00000c9c: POP 00000c9d: JUMP 00000c9e: JUMPDEST 00000c9f: DUP1 00000ca0: CALLDATALOAD 00000ca1: PUSH1 0x20 00000ca3: DUP4 00000ca4: LT 00000ca5: ISZERO 00000ca6: PUSH2 0x0852 00000ca9: JUMPI 00000caa: PUSH0 00000cab: NOT 00000cac: PUSH1 0x20 00000cae: DUP5 00000caf: SWAP1 00000cb0: SUB 00000cb1: PUSH1 0x03 00000cb3: SHL 00000cb4: SHL 00000cb5: AND 00000cb6: SWAP3 00000cb7: SWAP2 00000cb8: POP 00000cb9: POP 00000cba: JUMP 00000cbb: INVALID 00000cbc: LOG2 00000cbd: PUSH24 0x230823aa52e8f2c2adf04f9293d9984bf17323d392c9c697 00000cd6: UNKNOWN(0x0C) 00000cd7: MUL 00000cd8: UNKNOWN(0xEB) 00000cd9: SWAP6 00000cda: CALL 00000cdb: STOP 00000cdc: LOG2 00000cdd: PUSH5 0x6970667358 00000ce3: UNKNOWN(0x22) 00000ce4: SLT 00000ce5: KECCAK256 00000ce6: SUB 00000ce7: STATICCALL 00000ce8: UNKNOWN(0xDF) 00000ce9: UNKNOWN(0xD4) 00000cea: UNKNOWN(0xEC) 00000ceb: UNKNOWN(0xB7) 00000cec: DUP10 00000ced: SSTORE 00000cee: PUSH4 0xc122740c 00000cf3: SAR 00000cf4: SDIV 00000cf5: SWAP11 00000cf6: UNKNOWN(0xDA) 00000cf7: UNKNOWN(0x2A) 00000cf8: CODECOPY 00000cf9: UNKNOWN(0xDF) 00000cfa: SWAP13 00000cfb: PUSH24
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x4e0b6f7f4688c1d472613cf7d1ca3ee9a0e803f8f0ed96bfc3bb8f09b965a71b
call_targets:
0xc78fba4117d1e68cb62b7d21f24f1c97ee32fcd9
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x4e0b6f7f4688c1d472613cf7d1ca3ee9a0e803f8f0ed96bfc3bb8f09b965a71b",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xc78fba4117d1e68cb62b7d21f24f1c97ee32fcd9"
],
"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": "0x779c9ad8",
"selector": "0x779c9ad8",
"calldata_variants": [
"0x779c9ad8",
"0x779c9ad80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7a7c3351",
"selector": "0x7a7c3351",
"calldata_variants": [
"0x7a7c3351",
"0x7a7c33510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa8166da0",
"selector": "0xa8166da0",
"calldata_variants": [
"0xa8166da0",
"0xa8166da00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc0c53b8b",
"selector": "0xc0c53b8b",
"calldata_variants": [
"0xc0c53b8b",
"0xc0c53b8b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd0a10260",
"selector": "0xd0a10260",
"calldata_variants": [
"0xd0a10260",
"0xd0a102600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x08587292",
"selector": "0x08587292",
"calldata_variants": [
"0x08587292",
"0x085872920000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2435,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3290,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [],
"untrusted_call_count": 2
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x4e0b6f7f4688c1d472613cf7d1ca3ee9a0e803f8f0ed96bfc3bb8f09b965a71b
call_targets:
0xc78fba4117d1e68cb62b7d21f24f1c97ee32fcd9
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x4e0b6f7f4688c1d472613cf7d1ca3ee9a0e803f8f0ed96bfc3bb8f09b965a71b",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xc78fba4117d1e68cb62b7d21f24f1c97ee32fcd9"
],
"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": "0x779c9ad8",
"selector": "0x779c9ad8",
"calldata_variants": [
"0x779c9ad8",
"0x779c9ad80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7a7c3351",
"selector": "0x7a7c3351",
"calldata_variants": [
"0x7a7c3351",
"0x7a7c33510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa8166da0",
"selector": "0xa8166da0",
"calldata_variants": [
"0xa8166da0",
"0xa8166da00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc0c53b8b",
"selector": "0xc0c53b8b",
"calldata_variants": [
"0xc0c53b8b",
"0xc0c53b8b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd0a10260",
"selector": "0xd0a10260",
"calldata_variants": [
"0xd0a10260",
"0xd0a102600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x08587292",
"selector": "0x08587292",
"calldata_variants": [
"0x08587292",
"0x085872920000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2435,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3290,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|