d0cb8aed-4102-4902-a111-a868b767a5dd
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 |
|---|---|---|---|---|
| 30646 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 74872 | artifact.fetch | failed | 1 / 3 | 3 weeks ago |
| 74873 | tool.cast_disasm | complete | 1 / 3 | 3 weeks ago |
| 74874 | analysis.bundle | complete | 1 / 3 | 3 weeks ago |
| 74875 | capability.graph | complete | 1 / 3 | 3 weeks ago |
| 74876 | detector.run | complete | 1 / 3 | 3 weeks ago |
| 74877 | validation.fork | complete | 1 / 3 | 3 weeks ago |
No slither job recorded yet.
[codex:1428067] OpenAI Codex v0.77.0 (research preview)
[codex:1428067] --------
[codex:1428067] workdir: /tmp/codex-multi-djihgauz
[codex:1428067] model: gpt-5.2-codex
[codex:1428067] provider: openai
[codex:1428067] approval: never
[codex:1428067] sandbox: read-only
[codex:1428067] reasoning effort: xhigh
[codex:1428067] reasoning summaries: auto
[codex:1428067] session id: 019b6cd8-1ec4-7e70-b376-4d1baf4c1f77
[codex:1428067] --------
[codex:1428067] user
[codex:1428067] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1428067] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1428067] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1428067]
[codex:1428067] Scope rules:
[codex:1428067] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1428067] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1428067]
[codex:1428067] Output MUST be valid JSON matching the provided schema.
[codex:1428067] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1428067] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1428067]
[codex:1428067] Output constraints (IMPORTANT):
[codex:1428067] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1428067] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1428067] mcp startup: no servers
[codex:1428067]
[codex:1428067] thinking
[codex:1428067] **Planning to read AUDIT_BUNDLE**
[codex:1428067] exec
[codex:1428067] /bin/bash -lc ls in /tmp/codex-multi-djihgauz succeeded in 5ms:
[codex:1428067] AUDIT_BUNDLE.txt
[codex:1428067] codex-output-schema.json
[codex:1428067] contracts
[codex:1428067] exec
[codex:1428067] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-djihgauz succeeded in 5ms:
[codex:1428067] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1428067]
[codex:1428067] ================================================================================
[codex:1428067] FILE: contracts/contracts/VeDistributor.sol
[codex:1428067] ================================================================================
[codex:1428067] // SPDX-License-Identifier: MIT
[codex:1428067] pragma solidity ^0.8.24;
[codex:1428067]
[codex:1428067] import { Ownable2Step } from "@openzeppelin/contracts/access/Ownable2Step.sol";
[codex:1428067] import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
[codex:1428067] import { Pausable } from "@openzeppelin/contracts/utils/Pausable.sol";
[codex:1428067] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1428067] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1428067] import { IVeDistributor } from "./interfaces/IVeDistributor.sol";
[codex:1428067] import { IVotingEscrow } from "./interfaces/IVotingEscrow.sol";
[codex:1428067]
[codex:1428067] /**
[codex:1428067] * @title VeDistributor
[codex:1428067] * @author LayerZero Labs (tinom.eth)
[codex:1428067] * @notice Minimal per-chain USDC distributor based on voting escrow balances at a given
[codex:1428067] exec
[codex:1428067] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-djihgauz succeeded in 5ms:
[codex:1428067] /**
[codex:1428067] * @notice Emergency withdraw any ERC20 token from the contract.
[codex:1428067] * @dev Only callable by owner.
[codex:1428067] * @dev In the event of an emergency withdrawal of USDC, it should not be topped
[codex:1428067] * back up via `distribute`, as it would increment `usdcDistributedAmount`.
[codex:1428067] * It would have to be sent back through a normal `USDC.transfer`.
[codex:1428067] * @param _token Address of the token to withdraw
[codex:1428067] * @param _amount Amount of tokens to withdraw
[codex:1428067] * @param _to Address to send the withdrawn tokens to
[codex:1428067] */
[codex:1428067] function emergencyWithdraw(address _token, uint256 _amount, address _to) external;
[codex:1428067]
[codex:1428067] /**
[codex:1428067] * @notice Distribute USDC to the contract, instantly available to be claimed.
[codex:1428067] * @dev Only callable by owner.
[codex:1428067] * @dev Must approve the contract to transfer USDC first.
[codex:1428067] * @param _usdcAmount Amount of USDC to distribute
[codex:1428067] */
[codex:1428067] function distribute(uint256 _usdcAmount) external;
[codex:1428067]
[codex:1428067] exec
[codex:1428067] /bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-djihgauz succeeded in 5ms:
[codex:1428067] * @dev Transfers ownership of the contract to a new account (`newOwner`) and deletes any pending owner.
[codex:1428067] * Internal function without access restriction.
[codex:1428067] */
[codex:1428067] function _transferOwnership(address newOwner) internal virtual override {
[codex:1428067] delete _pendingOwner;
[codex:1428067] super._transferOwnership(newOwner);
[codex:1428067] }
[codex:1428067]
[codex:1428067] /**
[codex:1428067] * @dev The new owner accepts the ownership transfer.
[codex:1428067] */
[codex:1428067] function acceptOwnership() public virtual {
[codex:1428067] address sender = _msgSender();
[codex:1428067] if (pendingOwner() != sender) {
[codex:1428067] revert OwnableUnauthorizedAccount(sender);
[codex:1428067] }
[codex:1428067] _transferOwnership(sender);
[codex:1428067] }
[codex:1428067] }
[codex:1428067]
[codex:1428067]
[codex:1428067] thinking
[codex:1428067] **Analyzing VeDistributor contract security**
[codex:1428067] codex
[codex:1428067] {"no_findings":true,"summary":"No exploitable issues found in the first-party contracts within the requested focus areas.","findings":[]}
[codex:1428067] tokens used
[codex:1428067] 11,012
[codex:1428067] {"no_findings":true,"summary":"No exploitable issues found in the first-party contracts within the requested focus areas.","findings":[]}
{
"codex": {
"ran_at": "2025-12-30T01:21:42.967562+00:00",
"returncode": 0
},
"summary": "No exploitable issues found in the first-party contracts within the requested focus areas.",
"raw_final": {
"summary": "No exploitable issues found in the first-party contracts within the requested focus areas.",
"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 0x0136 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x8456cb59 00000026: GT 00000027: PUSH2 0x00b2 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xb743005c 00000031: GT 00000032: PUSH2 0x0081 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xcf6adcb3 0000003c: GT 0000003d: PUSH2 0x0066 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xcf6adcb3 00000047: EQ 00000048: PUSH2 0x02de 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xe30c3978 00000052: EQ 00000053: PUSH2 0x02e7 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xf2fde38b 0000005d: EQ 0000005e: PUSH2 0x0305 00000061: JUMPI 00000062: PUSH1 0x00 00000064: DUP1 00000065: REVERT 00000066: JUMPDEST 00000067: DUP1 00000068: PUSH4 0xb743005c 0000006d: EQ 0000006e: PUSH2 0x0290 00000071: JUMPI 00000072: DUP1 00000073: PUSH4 0xc863657d 00000078: EQ 00000079: PUSH2 0x02b7 0000007c: JUMPI 0000007d: PUSH1 0x00 0000007f: DUP1 00000080: REVERT 00000081: JUMPDEST 00000082: DUP1 00000083: PUSH4 0x8456cb59 00000088: EQ 00000089: PUSH2 0x020b 0000008c: JUMPI 0000008d: DUP1 0000008e: PUSH4 0x89a30271 00000093: EQ 00000094: PUSH2 0x0213 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0x8da5cb5b 0000009e: EQ 0000009f: PUSH2 0x025f 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0x91c05b0b 000000a9: EQ 000000aa: PUSH2 0x027d 000000ad: JUMPI 000000ae: PUSH1 0x00 000000b0: DUP1 000000b1: REVERT 000000b2: JUMPDEST 000000b3: DUP1 000000b4: PUSH4 0x551512de 000000b9: GT 000000ba: PUSH2 0x0109 000000bd: JUMPI 000000be: DUP1 000000bf: PUSH4 0x676e7f7c 000000c4: GT 000000c5: PUSH2 0x00ee 000000c8: JUMPI 000000c9: DUP1 000000ca: PUSH4 0x676e7f7c 000000cf: EQ 000000d0: PUSH2 0x01e8 000000d3: JUMPI 000000d4: DUP1 000000d5: PUSH4 0x715018a6 000000da: EQ 000000db: PUSH2 0x01fb 000000de: JUMPI 000000df: DUP1 000000e0: PUSH4 0x79ba5097 000000e5: EQ 000000e6: PUSH2 0x0203 000000e9: JUMPI 000000ea: PUSH1 0x00 000000ec: DUP1 000000ed: REVERT 000000ee: JUMPDEST 000000ef: DUP1 000000f0: PUSH4 0x551512de 000000f5: EQ 000000f6: PUSH2 0x01a7 000000f9: JUMPI 000000fa: DUP1 000000fb: PUSH4 0x5c975abb 00000100: EQ 00000101: PUSH2 0x01ba 00000104: JUMPI 00000105: PUSH1 0x00 00000107: DUP1 00000108: REVERT 00000109: JUMPDEST 0000010a: DUP1 0000010b: PUSH4 0x0723462e 00000110: EQ 00000111: PUSH2 0x013b 00000114: JUMPI 00000115: DUP1 00000116: PUSH4 0x1d6ee8eb 0000011b: EQ 0000011c: PUSH2 0x0175 0000011f: JUMPI 00000120: DUP1 00000121: PUSH4 0x3f4ba83a 00000126: EQ 00000127: PUSH2 0x017d 0000012a: JUMPI 0000012b: DUP1 0000012c: PUSH4 0x43ec862b 00000131: EQ 00000132: PUSH2 0x0187 00000135: JUMPI 00000136: JUMPDEST 00000137: PUSH1 0x00 00000139: DUP1 0000013a: REVERT 0000013b: JUMPDEST 0000013c: PUSH2 0x0162 0000013f: PUSH32 0x000000000000000000000000000000000000000000000000000000000160a885 00000160: DUP2 00000161: JUMP 00000162: JUMPDEST 00000163: PUSH1 0x40 00000165: MLOAD 00000166: SWAP1 00000167: DUP2 00000168: MSTORE 00000169: PUSH1 0x20 0000016b: ADD 0000016c: JUMPDEST 0000016d: PUSH1 0x40 0000016f: MLOAD 00000170: DUP1 00000171: SWAP2 00000172: SUB 00000173: SWAP1 00000174: RETURN 00000175: JUMPDEST 00000176: PUSH2 0x0162 00000179: PUSH2 0x0318 0000017c: JUMP 0000017d: JUMPDEST 0000017e: PUSH2 0x0185 00000181: PUSH2 0x0418 00000184: JUMP 00000185: JUMPDEST 00000186: STOP 00000187: JUMPDEST 00000188: PUSH2 0x0162 0000018b: PUSH2 0x0195 0000018e: CALLDATASIZE 0000018f: PUSH1 0x04 00000191: PUSH2 0x0d65 00000194: JUMP 00000195: JUMPDEST 00000196: PUSH1 0x03 00000198: PUSH1 0x20 0000019a: MSTORE 0000019b: PUSH1 0x00 0000019d: SWAP1 0000019e: DUP2 0000019f: MSTORE 000001a0: PUSH1 0x40 000001a2: SWAP1 000001a3: KECCAK256 000001a4: SLOAD 000001a5: DUP2 000001a6: JUMP 000001a7: JUMPDEST 000001a8: PUSH2 0x0185 000001ab: PUSH2 0x01b5 000001ae: CALLDATASIZE 000001af: PUSH1 0x04 000001b1: PUSH2 0x0d80 000001b4: JUMP 000001b5: JUMPDEST 000001b6: PUSH2 0x042a 000001b9: JUMP 000001ba: JUMPDEST 000001bb: PUSH1 0x01 000001bd: SLOAD 000001be: PUSH21 0x010000000000000000000000000000000000000000 000001d4: SWAP1 000001d5: DIV 000001d6: PUSH1 0xff 000001d8: AND 000001d9: PUSH1 0x40 000001db: MLOAD 000001dc: SWAP1 000001dd: ISZERO 000001de: ISZERO 000001df: DUP2 000001e0: MSTORE 000001e1: PUSH1 0x20 000001e3: ADD 000001e4: PUSH2 0x016c 000001e7: JUMP 000001e8: JUMPDEST 000001e9: PUSH2 0x0162 000001ec: PUSH2 0x01f6 000001ef: CALLDATASIZE 000001f0: PUSH1 0x04 000001f2: PUSH2 0x0d65 000001f5: JUMP 000001f6: JUMPDEST 000001f7: PUSH2 0x04bf 000001fa: JUMP 000001fb: JUMPDEST 000001fc: PUSH2 0x0185 000001ff: PUSH2 0x05ad 00000202: JUMP 00000203: JUMPDEST 00000204: PUSH2 0x0185 00000207: PUSH2 0x05bf 0000020a: JUMP 0000020b: JUMPDEST 0000020c: PUSH2 0x0185 0000020f: PUSH2 0x063b 00000212: JUMP 00000213: JUMPDEST 00000214: PUSH2 0x023a 00000217: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 00000238: DUP2 00000239: JUMP 0000023a: JUMPDEST 0000023b: PUSH1 0x40 0000023d: MLOAD 0000023e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000253: SWAP1 00000254: SWAP2 00000255: AND 00000256: DUP2 00000257: MSTORE 00000258: PUSH1 0x20 0000025a: ADD 0000025b: PUSH2 0x016c 0000025e: JUMP 0000025f: JUMPDEST 00000260: PUSH1 0x00 00000262: SLOAD 00000263: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000278: AND 00000279: PUSH2 0x023a 0000027c: JUMP 0000027d: JUMPDEST 0000027e: PUSH2 0x0185 00000281: PUSH2 0x028b 00000284: CALLDATASIZE 00000285: PUSH1 0x04 00000287: PUSH2 0x0dbc 0000028a: JUMP 0000028b: JUMPDEST 0000028c: PUSH2 0x064b 0000028f: JUMP 00000290: JUMPDEST 00000291: PUSH2 0x0162 00000294: PUSH32 0x000000000000000000000000000000000000000000079119295fd676ef080e25 000002b5: DUP2 000002b6: JUMP 000002b7: JUMPDEST 000002b8: PUSH2 0x023a 000002bb: PUSH32 0x0000000000000000000000000e42acbd23faee03249daff896b78d7e79fbd58e 000002dc: DUP2 000002dd: JUMP 000002de: JUMPDEST 000002df: PUSH2 0x0162 000002e2: PUSH1 0x02 000002e4: SLOAD 000002e5: DUP2 000002e6: JUMP 000002e7: JUMPDEST 000002e8: PUSH1 0x01 000002ea: SLOAD 000002eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000300: AND 00000301: PUSH2 0x023a 00000304: JUMP 00000305: JUMPDEST 00000306: PUSH2 0x0185 00000309: PUSH2 0x0313 0000030c: CALLDATASIZE 0000030d: PUSH1 0x04 0000030f: PUSH2 0x0d65 00000312: JUMP 00000313: JUMPDEST 00000314: PUSH2 0x06e3 00000317: JUMP 00000318: JUMPDEST 00000319: PUSH1 0x00 0000031b: PUSH2 0x0322 0000031e: PUSH2 0x0793 00000321: JUMP 00000322: JUMPDEST 00000323: PUSH1 0x00 00000325: PUSH2 0x032d 00000328: CALLER 00000329: PUSH2 0x07e8 0000032c: JUMP 0000032d: JUMPDEST 0000032e: SWAP1 0000032f: POP 00000330: PUSH1 0x00 00000332: PUSH2 0x033b 00000335: CALLER 00000336: DUP4 00000337: PUSH2 0x091c 0000033a: JUMP 0000033b: JUMPDEST 0000033c: SWAP1 0000033d: POP 0000033e: DUP1 0000033f: PUSH1 0x00 00000341: SUB 00000342: PUSH2 0x0377 00000345: JUMPI 00000346: PUSH1 0x40 00000348: MLOAD 00000349: PUSH32 0x969bf72800000000000000000000000000000000000000000000000000000000 0000036a: DUP2 0000036b: MSTORE 0000036c: PUSH1 0x04 0000036e: ADD 0000036f: PUSH1 0x40 00000371: MLOAD 00000372: DUP1 00000373: SWAP2 00000374: SUB 00000375: SWAP1 00000376: REVERT 00000377: JUMPDEST 00000378: CALLER 00000379: PUSH1 0x00 0000037b: SWAP1 0000037c: DUP2 0000037d: MSTORE 0000037e: PUSH1 0x03 00000380: PUSH1 0x20 00000382: MSTORE 00000383: PUSH1 0x40 00000385: DUP2 00000386: KECCAK256 00000387: DUP1 00000388: SLOAD 00000389: DUP4 0000038a: SWAP3 0000038b: SWAP1 0000038c: PUSH2 0x0396 0000038f: SWAP1 00000390: DUP5 00000391: SWAP1 00000392: PUSH2 0x0e04 00000395: JUMP 00000396: JUMPDEST 00000397: SWAP1 00000398: SWAP2 00000399: SSTORE 0000039a: POP 0000039b: PUSH2 0x03dd 0000039e: SWAP1 0000039f: POP 000003a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003b5: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 000003d6: AND 000003d7: CALLER 000003d8: DUP4 000003d9: PUSH2 0x0992 000003dc: JUMP 000003dd: JUMPDEST 000003de: PUSH1 0x40 000003e0: MLOAD 000003e1: DUP2 000003e2: DUP2 000003e3: MSTORE 000003e4: CALLER 000003e5: SWAP1 000003e6: PUSH32 0xd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a 00000407: SWAP1 00000408: PUSH1 0x20 0000040a: ADD 0000040b: PUSH1 0x40 0000040d: MLOAD 0000040e: DUP1 0000040f: SWAP2 00000410: SUB 00000411: SWAP1 00000412: LOG2 00000413: SWAP2 00000414: POP 00000415: POP 00000416: SWAP1 00000417: JUMP 00000418: JUMPDEST 00000419: PUSH2 0x0420 0000041c: PUSH2 0x0a18 0000041f: JUMP 00000420: JUMPDEST 00000421: PUSH2 0x0428 00000424: PUSH2 0x0a6b 00000427: JUMP 00000428: JUMPDEST 00000429: JUMP 0000042a: JUMPDEST 0000042b: PUSH2 0x0432 0000042e: PUSH2 0x0a18 00000431: JUMP 00000432: JUMPDEST 00000433: PUSH2 0x0453 00000436: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000044b: DUP5 0000044c: AND 0000044d: DUP3 0000044e: DUP5 0000044f: PUSH2 0x0992 00000452: JUMP 00000453: JUMPDEST 00000454: DUP1 00000455: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000046a: AND 0000046b: DUP4 0000046c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000481: AND 00000482: PUSH32 0x457e4fe0c9f161a0c6f3bfb8d7809a4ac19f6291bd81b03b86b0d00f9af3717b 000004a3: DUP5 000004a4: PUSH1 0x40 000004a6: MLOAD 000004a7: PUSH2 0x04b2 000004aa: SWAP2 000004ab: DUP2 000004ac: MSTORE 000004ad: PUSH1 0x20 000004af: ADD 000004b0: SWAP1 000004b1: JUMP 000004b2: JUMPDEST 000004b3: PUSH1 0x40 000004b5: MLOAD 000004b6: DUP1 000004b7: SWAP2 000004b8: SUB 000004b9: SWAP1 000004ba: LOG3 000004bb: POP 000004bc: POP 000004bd: POP 000004be: JUMP 000004bf: JUMPDEST 000004c0: PUSH1 0x40 000004c2: MLOAD 000004c3: PUSH32 0x4ee2cd7e00000000000000000000000000000000000000000000000000000000 000004e4: DUP2 000004e5: MSTORE 000004e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004fb: DUP3 000004fc: DUP2 000004fd: AND 000004fe: PUSH1 0x04 00000500: DUP4 00000501: ADD 00000502: MSTORE 00000503: PUSH32 0x000000000000000000000000000000000000000000000000000000000160a885 00000524: PUSH1 0x24 00000526: DUP4 00000527: ADD 00000528: MSTORE 00000529: PUSH1 0x00 0000052b: SWAP2 0000052c: DUP3 0000052d: SWAP2 0000052e: PUSH32 0x0000000000000000000000000e42acbd23faee03249daff896b78d7e79fbd58e 0000054f: AND 00000550: SWAP1 00000551: PUSH4 0x4ee2cd7e 00000556: SWAP1 00000557: PUSH1 0x44 00000559: ADD 0000055a: PUSH1 0x20 0000055c: PUSH1 0x40 0000055e: MLOAD 0000055f: DUP1 00000560: DUP4 00000561: SUB 00000562: DUP2 00000563: DUP7 00000564: GAS 00000565: STATICCALL 00000566: ISZERO 00000567: DUP1 00000568: ISZERO 00000569: PUSH2 0x0576 0000056c: JUMPI 0000056d: RETURNDATASIZE 0000056e: PUSH1 0x00 00000570: DUP1 00000571: RETURNDATACOPY 00000572: RETURNDATASIZE 00000573: PUSH1 0x00 00000575: REVERT 00000576: JUMPDEST 00000577: POP 00000578: POP 00000579: POP 0000057a: POP 0000057b: PUSH1 0x40 0000057d: MLOAD 0000057e: RETURNDATASIZE 0000057f: PUSH1 0x1f 00000581: NOT 00000582: PUSH1 0x1f 00000584: DUP3 00000585: ADD 00000586: AND 00000587: DUP3 00000588: ADD 00000589: DUP1 0000058a: PUSH1 0x40 0000058c: MSTORE 0000058d: POP 0000058e: DUP2 0000058f: ADD 00000590: SWAP1 00000591: PUSH2 0x059a 00000594: SWAP2 00000595: SWAP1 00000596: PUSH2 0x0e17 00000599: JUMP 0000059a: JUMPDEST 0000059b: SWAP1 0000059c: POP 0000059d: PUSH2 0x05a6 000005a0: DUP4 000005a1: DUP3 000005a2: PUSH2 0x091c 000005a5: JUMP 000005a6: JUMPDEST 000005a7: SWAP4 000005a8: SWAP3 000005a9: POP 000005aa: POP 000005ab: POP 000005ac: JUMP 000005ad: JUMPDEST 000005ae: PUSH2 0x05b5 000005b1: PUSH2 0x0a18 000005b4: JUMP 000005b5: JUMPDEST 000005b6: PUSH2 0x0428 000005b9: PUSH1 0x00 000005bb: PUSH2 0x0ae8 000005be: JUMP 000005bf: JUMPDEST 000005c0: PUSH1 0x01 000005c2: SLOAD 000005c3: CALLER 000005c4: SWAP1 000005c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005da: AND 000005db: DUP2 000005dc: EQ 000005dd: PUSH2 0x062f 000005e0: JUMPI 000005e1: PUSH1 0x40 000005e3: MLOAD 000005e4: PUSH32 0x118cdaa700000000000000000000000000000000000000000000000000000000 00000605: DUP2 00000606: MSTORE 00000607: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000061c: DUP3 0000061d: AND 0000061e: PUSH1 0x04 00000620: DUP3 00000621: ADD 00000622: MSTORE 00000623: PUSH1 0x24 00000625: ADD 00000626: JUMPDEST 00000627: PUSH1 0x40 00000629: MLOAD 0000062a: DUP1 0000062b: SWAP2 0000062c: SUB 0000062d: SWAP1 0000062e: REVERT 0000062f: JUMPDEST 00000630: PUSH2 0x0638 00000633: DUP2 00000634: PUSH2 0x0ae8 00000637: JUMP 00000638: JUMPDEST 00000639: POP 0000063a: JUMP 0000063b: JUMPDEST 0000063c: PUSH2 0x0643 0000063f: PUSH2 0x0a18 00000642: JUMP 00000643: JUMPDEST 00000644: PUSH2 0x0428 00000647: PUSH2 0x0b19 0000064a: JUMP 0000064b: JUMPDEST 0000064c: PUSH2 0x0653 0000064f: PUSH2 0x0a18 00000652: JUMP 00000653: JUMPDEST 00000654: DUP1 00000655: PUSH1 0x02 00000657: PUSH1 0x00 00000659: DUP3 0000065a: DUP3 0000065b: SLOAD 0000065c: PUSH2 0x0665 0000065f: SWAP2 00000660: SWAP1 00000661: PUSH2 0x0e04 00000664: JUMP 00000665: JUMPDEST 00000666: SWAP1 00000667: SWAP2 00000668: SSTORE 00000669: POP 0000066a: PUSH2 0x06ad 0000066d: SWAP1 0000066e: POP 0000066f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000684: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 000006a5: AND 000006a6: CALLER 000006a7: ADDRESS 000006a8: DUP5 000006a9: PUSH2 0x0b88 000006ac: JUMP 000006ad: JUMPDEST 000006ae: PUSH1 0x40 000006b0: MLOAD 000006b1: DUP2 000006b2: DUP2 000006b3: MSTORE 000006b4: PUSH32 0xddc9c30275a04c48091f24199f9c405765de34d979d6847f5b9798a57232d2e5 000006d5: SWAP1 000006d6: PUSH1 0x20 000006d8: ADD 000006d9: PUSH1 0x40 000006db: MLOAD 000006dc: DUP1 000006dd: SWAP2 000006de: SUB 000006df: SWAP1 000006e0: LOG1 000006e1: POP 000006e2: JUMP 000006e3: JUMPDEST 000006e4: PUSH2 0x06eb 000006e7: PUSH2 0x0a18 000006ea: JUMP 000006eb: JUMPDEST 000006ec: PUSH1 0x01 000006ee: DUP1 000006ef: SLOAD 000006f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000705: DUP4 00000706: AND 00000707: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00000728: SWAP1 00000729: SWAP2 0000072a: AND 0000072b: DUP2 0000072c: OR 0000072d: SWAP1 0000072e: SWAP2 0000072f: SSTORE 00000730: PUSH2 0x074e 00000733: PUSH1 0x00 00000735: SLOAD 00000736: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000074b: AND 0000074c: SWAP1 0000074d: JUMP 0000074e: JUMPDEST 0000074f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000764: AND 00000765: PUSH32 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700 00000786: PUSH1 0x40 00000788: MLOAD 00000789: PUSH1 0x40 0000078b: MLOAD 0000078c: DUP1 0000078d: SWAP2 0000078e: SUB 0000078f: SWAP1 00000790: LOG3 00000791: POP 00000792: JUMP 00000793: JUMPDEST 00000794: PUSH1 0x01 00000796: SLOAD 00000797: PUSH21 0x010000000000000000000000000000000000000000 000007ad: SWAP1 000007ae: DIV 000007af: PUSH1 0xff 000007b1: AND 000007b2: ISZERO 000007b3: PUSH2 0x0428 000007b6: JUMPI 000007b7: PUSH1 0x40 000007b9: MLOAD 000007ba: PUSH32 0xd93c066500000000000000000000000000000000000000000000000000000000 000007db: DUP2 000007dc: MSTORE 000007dd: PUSH1 0x04 000007df: ADD 000007e0: PUSH1 0x40 000007e2: MLOAD 000007e3: DUP1 000007e4: SWAP2 000007e5: SUB 000007e6: SWAP1 000007e7: REVERT 000007e8: JUMPDEST 000007e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007fe: DUP2 000007ff: AND 00000800: PUSH1 0x00 00000802: SWAP1 00000803: DUP2 00000804: MSTORE 00000805: PUSH1 0x04 00000807: PUSH1 0x20 00000809: MSTORE 0000080a: PUSH1 0x40 0000080c: DUP2 0000080d: KECCAK256 0000080e: SLOAD 0000080f: SWAP1 00000810: DUP2 00000811: SWAP1 00000812: SUB 00000813: PUSH2 0x0917 00000816: JUMPI 00000817: PUSH1 0x40 00000819: MLOAD 0000081a: PUSH32 0x4ee2cd7e00000000000000000000000000000000000000000000000000000000 0000083b: DUP2 0000083c: MSTORE 0000083d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000852: DUP4 00000853: DUP2 00000854: AND 00000855: PUSH1 0x04 00000857: DUP4 00000858: ADD 00000859: MSTORE 0000085a: PUSH32 0x000000000000000000000000000000000000000000000000000000000160a885 0000087b: PUSH1 0x24 0000087d: DUP4 0000087e: ADD 0000087f: MSTORE 00000880: PUSH32 0x0000000000000000000000000e42acbd23faee03249daff896b78d7e79fbd58e 000008a1: AND 000008a2: SWAP1 000008a3: PUSH4 0x4ee2cd7e 000008a8: SWAP1 000008a9: PUSH1 0x44 000008ab: ADD 000008ac: PUSH1 0x20 000008ae: PUSH1 0x40 000008b0: MLOAD 000008b1: DUP1 000008b2: DUP4 000008b3: SUB 000008b4: DUP2 000008b5: DUP7 000008b6: GAS 000008b7: STATICCALL 000008b8: ISZERO 000008b9: DUP1 000008ba: ISZERO 000008bb: PUSH2 0x08c8 000008be: JUMPI 000008bf: RETURNDATASIZE 000008c0: PUSH1 0x00 000008c2: DUP1 000008c3: RETURNDATACOPY 000008c4: RETURNDATASIZE 000008c5: PUSH1 0x00 000008c7: REVERT 000008c8: JUMPDEST 000008c9: POP 000008ca: POP 000008cb: POP 000008cc: POP 000008cd: PUSH1 0x40 000008cf: MLOAD 000008d0: RETURNDATASIZE 000008d1: PUSH1 0x1f 000008d3: NOT 000008d4: PUSH1 0x1f 000008d6: DUP3 000008d7: ADD 000008d8: AND 000008d9: DUP3 000008da: ADD 000008db: DUP1 000008dc: PUSH1 0x40 000008de: MSTORE 000008df: POP 000008e0: DUP2 000008e1: ADD 000008e2: SWAP1 000008e3: PUSH2 0x08ec 000008e6: SWAP2 000008e7: SWAP1 000008e8: PUSH2 0x0e17 000008eb: JUMP 000008ec: JUMPDEST 000008ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000902: DUP4 00000903: AND 00000904: PUSH1 0x00 00000906: SWAP1 00000907: DUP2 00000908: MSTORE 00000909: PUSH1 0x04 0000090b: PUSH1 0x20 0000090d: MSTORE 0000090e: PUSH1 0x40 00000910: SWAP1 00000911: KECCAK256 00000912: DUP2 00000913: SWAP1 00000914: SSTORE 00000915: SWAP1 00000916: POP 00000917: JUMPDEST 00000918: SWAP2 00000919: SWAP1 0000091a: POP 0000091b: JUMP 0000091c: JUMPDEST 0000091d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000932: DUP3 00000933: AND 00000934: PUSH1 0x00 00000936: SWAP1 00000937: DUP2 00000938: MSTORE 00000939: PUSH1 0x03 0000093b: PUSH1 0x20 0000093d: MSTORE 0000093e: PUSH1 0x40 00000940: DUP2 00000941: KECCAK256 00000942: SLOAD 00000943: PUSH1 0x02 00000945: SLOAD 00000946: DUP2 00000947: SWAP1 00000948: PUSH32 0x000000000000000000000000000000000000000000079119295fd676ef080e25 00000969: SWAP1 0000096a: PUSH2 0x0974 0000096d: SWAP1 0000096e: DUP7 0000096f: SWAP1 00000970: PUSH2 0x0e30 00000973: JUMP 00000974: JUMPDEST 00000975: PUSH2 0x097e 00000978: SWAP2 00000979: SWAP1 0000097a: PUSH2 0x0e47 0000097d: JUMP 0000097e: JUMPDEST 0000097f: PUSH2 0x0988 00000982: SWAP2 00000983: SWAP1 00000984: PUSH2 0x0e82 00000987: JUMP 00000988: JUMPDEST 00000989: SWAP2 0000098a: POP 0000098b: POP 0000098c: JUMPDEST 0000098d: SWAP3 0000098e: SWAP2 0000098f: POP 00000990: POP 00000991: JUMP 00000992: JUMPDEST 00000993: PUSH1 0x40 00000995: MLOAD 00000996: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009ab: DUP4 000009ac: DUP2 000009ad: AND 000009ae: PUSH1 0x24 000009b0: DUP4 000009b1: ADD 000009b2: MSTORE 000009b3: PUSH1 0x44 000009b5: DUP3 000009b6: ADD 000009b7: DUP4 000009b8: SWAP1 000009b9: MSTORE 000009ba: PUSH2 0x0a13 000009bd: SWAP2 000009be: DUP6 000009bf: SWAP2 000009c0: DUP3 000009c1: AND 000009c2: SWAP1 000009c3: PUSH4 0xa9059cbb 000009c8: SWAP1 000009c9: PUSH1 0x64 000009cb: ADD 000009cc: JUMPDEST 000009cd: PUSH1 0x40 000009cf: MLOAD 000009d0: PUSH1 0x20 000009d2: DUP2 000009d3: DUP4 000009d4: SUB 000009d5: SUB 000009d6: DUP2 000009d7: MSTORE 000009d8: SWAP1 000009d9: PUSH1 0x40 000009db: MSTORE 000009dc: SWAP2 000009dd: POP 000009de: PUSH1 0xe0 000009e0: SHL 000009e1: PUSH1 0x20 000009e3: DUP3 000009e4: ADD 000009e5: DUP1 000009e6: MLOAD 000009e7: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000a04: DUP4 00000a05: DUP2 00000a06: DUP4 00000a07: AND 00000a08: OR 00000a09: DUP4 00000a0a: MSTORE 00000a0b: POP 00000a0c: POP 00000a0d: POP 00000a0e: POP 00000a0f: PUSH2 0x0bd4 00000a12: JUMP 00000a13: JUMPDEST 00000a14: POP 00000a15: POP 00000a16: POP 00000a17: JUMP 00000a18: JUMPDEST 00000a19: PUSH1 0x00 00000a1b: SLOAD 00000a1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a31: AND 00000a32: CALLER 00000a33: EQ 00000a34: PUSH2 0x0428 00000a37: JUMPI 00000a38: PUSH1 0x40 00000a3a: MLOAD 00000a3b: PUSH32 0x118cdaa700000000000000000000000000000000000000000000000000000000 00000a5c: DUP2 00000a5d: MSTORE 00000a5e: CALLER 00000a5f: PUSH1 0x04 00000a61: DUP3 00000a62: ADD 00000a63: MSTORE 00000a64: PUSH1 0x24 00000a66: ADD 00000a67: PUSH2 0x0626 00000a6a: JUMP 00000a6b: JUMPDEST 00000a6c: PUSH2 0x0a73 00000a6f: PUSH2 0x0c78 00000a72: JUMP 00000a73: JUMPDEST 00000a74: PUSH1 0x01 00000a76: DUP1 00000a77: SLOAD 00000a78: PUSH32 0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff 00000a99: AND 00000a9a: SWAP1 00000a9b: SSTORE 00000a9c: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa 00000abd: CALLER 00000abe: JUMPDEST 00000abf: PUSH1 0x40 00000ac1: MLOAD 00000ac2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ad7: SWAP1 00000ad8: SWAP2 00000ad9: AND 00000ada: DUP2 00000adb: MSTORE 00000adc: PUSH1 0x20 00000ade: ADD 00000adf: PUSH1 0x40 00000ae1: MLOAD 00000ae2: DUP1 00000ae3: SWAP2 00000ae4: SUB 00000ae5: SWAP1 00000ae6: LOG1 00000ae7: JUMP 00000ae8: JUMPDEST 00000ae9: PUSH1 0x01 00000aeb: DUP1 00000aec: SLOAD 00000aed: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00000b0e: AND 00000b0f: SWAP1 00000b10: SSTORE 00000b11: PUSH2 0x0638 00000b14: DUP2 00000b15: PUSH2 0x0ccc 00000b18: JUMP 00000b19: JUMPDEST 00000b1a: PUSH2 0x0b21 00000b1d: PUSH2 0x0793 00000b20: JUMP 00000b21: JUMPDEST 00000b22: PUSH1 0x01 00000b24: DUP1 00000b25: SLOAD 00000b26: PUSH32 0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff 00000b47: AND 00000b48: PUSH21 0x010000000000000000000000000000000000000000 00000b5e: OR 00000b5f: SWAP1 00000b60: SSTORE 00000b61: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258 00000b82: PUSH2 0x0abe 00000b85: CALLER 00000b86: SWAP1 00000b87: JUMP 00000b88: JUMPDEST 00000b89: PUSH1 0x40 00000b8b: MLOAD 00000b8c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ba1: DUP5 00000ba2: DUP2 00000ba3: AND 00000ba4: PUSH1 0x24 00000ba6: DUP4 00000ba7: ADD 00000ba8: MSTORE 00000ba9: DUP4 00000baa: DUP2 00000bab: AND 00000bac: PUSH1 0x44 00000bae: DUP4 00000baf: ADD 00000bb0: MSTORE 00000bb1: PUSH1 0x64 00000bb3: DUP3 00000bb4: ADD 00000bb5: DUP4 00000bb6: SWAP1 00000bb7: MSTORE 00000bb8: PUSH2 0x0bce 00000bbb: SWAP2 00000bbc: DUP7 00000bbd: SWAP2 00000bbe: DUP3 00000bbf: AND 00000bc0: SWAP1 00000bc1: PUSH4 0x23b872dd 00000bc6: SWAP1 00000bc7: PUSH1 0x84 00000bc9: ADD 00000bca: PUSH2 0x09cc 00000bcd: JUMP 00000bce: JUMPDEST 00000bcf: POP 00000bd0: POP 00000bd1: POP 00000bd2: POP 00000bd3: JUMP 00000bd4: JUMPDEST 00000bd5: PUSH1 0x00 00000bd7: DUP1 00000bd8: PUSH1 0x20 00000bda: PUSH1 0x00 00000bdc: DUP5 00000bdd: MLOAD 00000bde: PUSH1 0x20 00000be0: DUP7 00000be1: ADD 00000be2: PUSH1 0x00 00000be4: DUP9 00000be5: GAS 00000be6: CALL 00000be7: DUP1 00000be8: PUSH2 0x0bf7 00000beb: JUMPI 00000bec: PUSH1 0x40 00000bee: MLOAD 00000bef: RETURNDATASIZE 00000bf0: PUSH1 0x00 00000bf2: DUP3 00000bf3: RETURNDATACOPY 00000bf4: RETURNDATASIZE 00000bf5: DUP2 00000bf6: REVERT 00000bf7: JUMPDEST 00000bf8: POP 00000bf9: POP 00000bfa: PUSH1 0x00 00000bfc: MLOAD 00000bfd: RETURNDATASIZE 00000bfe: SWAP2 00000bff: POP 00000c00: DUP2 00000c01: ISZERO 00000c02: PUSH2 0x0c0f 00000c05: JUMPI 00000c06: DUP1 00000c07: PUSH1 0x01 00000c09: EQ 00000c0a: ISZERO 00000c0b: PUSH2 0x0c29 00000c0e: JUMP 00000c0f: JUMPDEST 00000c10: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c25: DUP5 00000c26: AND 00000c27: EXTCODESIZE 00000c28: ISZERO 00000c29: JUMPDEST 00000c2a: ISZERO 00000c2b: PUSH2 0x0bce 00000c2e: JUMPI 00000c2f: PUSH1 0x40 00000c31: MLOAD 00000c32: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000 00000c53: DUP2 00000c54: MSTORE 00000c55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c6a: DUP6 00000c6b: AND 00000c6c: PUSH1 0x04 00000c6e: DUP3 00000c6f: ADD 00000c70: MSTORE 00000c71: PUSH1 0x24 00000c73: ADD 00000c74: PUSH2 0x0626 00000c77: JUMP 00000c78: JUMPDEST 00000c79: PUSH1 0x01 00000c7b: SLOAD 00000c7c: PUSH21 0x010000000000000000000000000000000000000000 00000c92: SWAP1 00000c93: DIV 00000c94: PUSH1 0xff 00000c96: AND 00000c97: PUSH2 0x0428 00000c9a: JUMPI 00000c9b: PUSH1 0x40 00000c9d: MLOAD 00000c9e: PUSH32 0x8dfc202b00000000000000000000000000000000000000000000000000000000 00000cbf: DUP2 00000cc0: MSTORE 00000cc1: PUSH1 0x04 00000cc3: ADD 00000cc4: PUSH1 0x40 00000cc6: MLOAD 00000cc7: DUP1 00000cc8: SWAP2 00000cc9: SUB 00000cca: SWAP1 00000ccb: REVERT 00000ccc: JUMPDEST 00000ccd: PUSH1 0x00 00000ccf: DUP1 00000cd0: SLOAD 00000cd1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ce6: DUP4 00000ce7: DUP2 00000ce8: AND 00000ce9: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00000d0a: DUP4 00000d0b: AND 00000d0c: DUP2 00000d0d: OR 00000d0e: DUP5 00000d0f: SSTORE 00000d10: PUSH1 0x40 00000d12: MLOAD 00000d13: SWAP2 00000d14: SWAP1 00000d15: SWAP3 00000d16: AND 00000d17: SWAP3 00000d18: DUP4 00000d19: SWAP2 00000d1a: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000d3b: SWAP2 00000d3c: SWAP1 00000d3d: LOG3 00000d3e: POP 00000d3f: POP 00000d40: JUMP 00000d41: JUMPDEST 00000d42: DUP1 00000d43: CALLDATALOAD 00000d44: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d59: DUP2 00000d5a: AND 00000d5b: DUP2 00000d5c: EQ 00000d5d: PUSH2 0x0917 00000d60: JUMPI 00000d61: PUSH1 0x00 00000d63: DUP1 00000d64: REVERT 00000d65: JUMPDEST 00000d66: PUSH1 0x00 00000d68: PUSH1 0x20 00000d6a: DUP3 00000d6b: DUP5 00000d6c: SUB 00000d6d: SLT 00000d6e: ISZERO 00000d6f: PUSH2 0x0d77 00000d72: JUMPI 00000d73: PUSH1 0x00 00000d75: DUP1 00000d76: REVERT 00000d77: JUMPDEST 00000d78: PUSH2 0x05a6 00000d7b: DUP3 00000d7c: PUSH2 0x0d41 00000d7f: JUMP 00000d80: JUMPDEST 00000d81: PUSH1 0x00 00000d83: DUP1 00000d84: PUSH1 0x00 00000d86: PUSH1 0x60 00000d88: DUP5 00000d89: DUP7 00000d8a: SUB 00000d8b: SLT 00000d8c: ISZERO 00000d8d: PUSH2 0x0d95 00000d90: JUMPI 00000d91: PUSH1 0x00 00000d93: DUP1 00000d94: REVERT 00000d95: JUMPDEST 00000d96: PUSH2 0x0d9e 00000d99: DUP5 00000d9a: PUSH2 0x0d41 00000d9d: JUMP 00000d9e: JUMPDEST 00000d9f: SWAP3 00000da0: POP 00000da1: PUSH1 0x20 00000da3: DUP5 00000da4: ADD 00000da5: CALLDATALOAD 00000da6: SWAP2 00000da7: POP 00000da8: PUSH2 0x0db3 00000dab: PUSH1 0x40 00000dad: DUP6 00000dae: ADD 00000daf: PUSH2 0x0d41 00000db2: JUMP 00000db3: JUMPDEST 00000db4: SWAP1 00000db5: POP 00000db6: SWAP3 00000db7: POP 00000db8: SWAP3 00000db9: POP 00000dba: SWAP3 00000dbb: JUMP 00000dbc: JUMPDEST 00000dbd: PUSH1 0x00 00000dbf: PUSH1 0x20 00000dc1: DUP3 00000dc2: DUP5 00000dc3: SUB 00000dc4: SLT 00000dc5: ISZERO 00000dc6: PUSH2 0x0dce 00000dc9: JUMPI 00000dca: PUSH1 0x00 00000dcc: DUP1 00000dcd: REVERT 00000dce: JUMPDEST 00000dcf: POP 00000dd0: CALLDATALOAD 00000dd1: SWAP2 00000dd2: SWAP1 00000dd3: POP 00000dd4: JUMP 00000dd5: JUMPDEST 00000dd6: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00000df7: PUSH1 0x00 00000df9: MSTORE 00000dfa: PUSH1 0x11 00000dfc: PUSH1 0x04 00000dfe: MSTORE 00000dff: PUSH1 0x24 00000e01: PUSH1 0x00 00000e03: REVERT 00000e04: JUMPDEST 00000e05: DUP1 00000e06: DUP3 00000e07: ADD 00000e08: DUP1 00000e09: DUP3 00000e0a: GT 00000e0b: ISZERO 00000e0c: PUSH2 0x098c 00000e0f: JUMPI 00000e10: PUSH2 0x098c 00000e13: PUSH2 0x0dd5 00000e16: JUMP 00000e17: JUMPDEST 00000e18: PUSH1 0x00 00000e1a: PUSH1 0x20 00000e1c: DUP3 00000e1d: DUP5 00000e1e: SUB 00000e1f: SLT 00000e20: ISZERO 00000e21: PUSH2 0x0e29 00000e24: JUMPI 00000e25: PUSH1 0x00 00000e27: DUP1 00000e28: REVERT 00000e29: JUMPDEST 00000e2a: POP 00000e2b: MLOAD 00000e2c: SWAP2 00000e2d: SWAP1 00000e2e: POP 00000e2f: JUMP 00000e30: JUMPDEST 00000e31: DUP1 00000e32: DUP3 00000e33: MUL 00000e34: DUP2 00000e35: ISZERO 00000e36: DUP3 00000e37: DUP3 00000e38: DIV 00000e39: DUP5 00000e3a: EQ 00000e3b: OR 00000e3c: PUSH2 0x098c 00000e3f: JUMPI 00000e40: PUSH2 0x098c 00000e43: PUSH2 0x0dd5 00000e46: JUMP 00000e47: JUMPDEST 00000e48: PUSH1 0x00 00000e4a: DUP3 00000e4b: PUSH2 0x0e7d 00000e4e: JUMPI 00000e4f: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00000e70: PUSH1 0x00 00000e72: MSTORE 00000e73: PUSH1 0x12 00000e75: PUSH1 0x04 00000e77: MSTORE 00000e78: PUSH1 0x24 00000e7a: PUSH1 0x00 00000e7c: REVERT 00000e7d: JUMPDEST 00000e7e: POP 00000e7f: DIV 00000e80: SWAP1 00000e81: JUMP 00000e82: JUMPDEST 00000e83: DUP2 00000e84: DUP2 00000e85: SUB 00000e86: DUP2 00000e87: DUP2 00000e88: GT 00000e89: ISZERO 00000e8a: PUSH2 0x098c 00000e8d: JUMPI 00000e8e: PUSH2 0x098c 00000e91: PUSH2 0x0dd5 00000e94: JUMP 00000e95: INVALID 00000e96: LOG2 00000e97: PUSH5 0x6970667358 00000e9d: UNKNOWN(0x22) 00000e9e: SLT 00000e9f: KECCAK256 00000ea0: DUP10 00000ea1: DUP16 00000ea2: UNKNOWN(0xE0) 00000ea3: UNKNOWN(0xAC) 00000ea4: UNKNOWN(0xEC) 00000ea5: DUP1 00000ea6: DUP12 00000ea7: CODESIZE 00000ea8: DIV 00000ea9: UNKNOWN(0x24) 00000eaa: DUP16 00000eab: UNKNOWN(0xDD) 00000eac: UNKNOWN(0xC3) 00000ead: UNKNOWN(0xD0) 00000eae: MSTORE8 00000eaf: UNKNOWN(0xEF) 00000eb0: POP 00000eb1: UNKNOWN(0xDE) 00000eb2: BASEFEE 00000eb3: UNKNOWN(0x0C) 00000eb4: PUSH12 0x45f49d0037f65652a7095464 00000ec1: PUSH20
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x45b7d98d9415d042ff0fde11db5f1d9ad4bc8cfe56283b4bb47207081438f449
call_targets:
0x1e68be052a9a9ff04714582831457a9b319bcafe
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x45b7d98d9415d042ff0fde11db5f1d9ad4bc8cfe56283b4bb47207081438f449",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1e68be052a9a9ff04714582831457a9b319bcafe"
],
"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": "0xcf6adcb3",
"selector": "0xcf6adcb3",
"calldata_variants": [
"0xcf6adcb3",
"0xcf6adcb30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe30c3978",
"selector": "0xe30c3978",
"calldata_variants": [
"0xe30c3978",
"0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb743005c",
"selector": "0xb743005c",
"calldata_variants": [
"0xb743005c",
"0xb743005c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc863657d",
"selector": "0xc863657d",
"calldata_variants": [
"0xc863657d",
"0xc863657d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8456cb59",
"selector": "0x8456cb59",
"calldata_variants": [
"0x8456cb59",
"0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x89a30271",
"selector": "0x89a30271",
"calldata_variants": [
"0x89a30271",
"0x89a302710000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3046,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 1475,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x45b7d98d9415d042ff0fde11db5f1d9ad4bc8cfe56283b4bb47207081438f449
call_targets:
0x1e68be052a9a9ff04714582831457a9b319bcafe
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x45b7d98d9415d042ff0fde11db5f1d9ad4bc8cfe56283b4bb47207081438f449",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1e68be052a9a9ff04714582831457a9b319bcafe"
],
"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": "0xcf6adcb3",
"selector": "0xcf6adcb3",
"calldata_variants": [
"0xcf6adcb3",
"0xcf6adcb30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe30c3978",
"selector": "0xe30c3978",
"calldata_variants": [
"0xe30c3978",
"0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb743005c",
"selector": "0xb743005c",
"calldata_variants": [
"0xb743005c",
"0xb743005c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc863657d",
"selector": "0xc863657d",
"calldata_variants": [
"0xc863657d",
"0xc863657d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8456cb59",
"selector": "0x8456cb59",
"calldata_variants": [
"0x8456cb59",
"0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x89a30271",
"selector": "0x89a30271",
"calldata_variants": [
"0x89a30271",
"0x89a302710000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3046,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 1475,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|