67c06b51-395d-4f76-b746-2d3d1479f98b
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 |
|---|---|---|---|---|
| 30652 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 74908 | artifact.fetch | failed | 1 / 3 | 2 weeks ago |
| 74909 | tool.cast_disasm | complete | 1 / 3 | 2 weeks ago |
| 74910 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 74911 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 74912 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 74913 | validation.fork | complete | 1 / 3 | 2 weeks ago |
No slither job recorded yet.
[codex:1012117] OpenAI Codex v0.77.0 (research preview)
[codex:1012117] --------
[codex:1012117] workdir: /tmp/codex-multi-1mqi8ujm
[codex:1012117] model: gpt-5.2-codex
[codex:1012117] provider: openai
[codex:1012117] approval: never
[codex:1012117] sandbox: read-only
[codex:1012117] reasoning effort: xhigh
[codex:1012117] reasoning summaries: auto
[codex:1012117] session id: 019b6cf5-0570-7761-96e6-3b7ca2dcd1b6
[codex:1012117] --------
[codex:1012117] user
[codex:1012117] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1012117] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1012117] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1012117]
[codex:1012117] Scope rules:
[codex:1012117] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1012117] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1012117]
[codex:1012117] Output MUST be valid JSON matching the provided schema.
[codex:1012117] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1012117] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1012117]
[codex:1012117] Output constraints (IMPORTANT):
[codex:1012117] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1012117] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1012117] mcp startup: no servers
[codex:1012117]
[codex:1012117] thinking
[codex:1012117] **Reading AUDIT_BUNDLE file**
[codex:1012117] exec
[codex:1012117] /bin/bash -lc ls in /tmp/codex-multi-1mqi8ujm succeeded in 6ms:
[codex:1012117] AUDIT_BUNDLE.txt
[codex:1012117] codex-output-schema.json
[codex:1012117] contracts
[codex:1012117] exec
[codex:1012117] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-1mqi8ujm succeeded in 5ms:
[codex:1012117] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1012117]
[codex:1012117] ================================================================================
[codex:1012117] FILE: contracts/@openzeppelin/contracts/access/Ownable.sol
[codex:1012117] ================================================================================
[codex:1012117] // SPDX-License-Identifier: MIT
[codex:1012117] // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
[codex:1012117]
[codex:1012117] pragma solidity ^0.8.0;
[codex:1012117]
[codex:1012117] import "../utils/Context.sol";
[codex:1012117]
[codex:1012117] /**
[codex:1012117] * @dev Contract module which provides a basic access control mechanism, where
[codex:1012117] * there is an account (an owner) that can be granted exclusive access to
[codex:1012117] * specific functions.
[codex:1012117] *
[codex:1012117] * By default, the owner account will be the one that deploys the contract. This
[codex:1012117] * can later be changed with {transferOwnership}.
[codex:1012117] *
[codex:1012117]
[codex:1012117] thinking
[codex:1012117] **Preparing to read full audit bundle file**
[codex:1012117] exec
[codex:1012117] /bin/bash -lc 'wc -l AUDIT_BUNDLE.txt' in /tmp/codex-multi-1mqi8ujm succeeded in 5ms:
[codex:1012117] 906 AUDIT_BUNDLE.txt
[codex:1012117]
[codex:1012117] thinking
[codex:1012117] **Reading file in chunks**
[codex:1012117] exec
[codex:1012117] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-1mqi8ujm succeeded in 6ms:
[codex:1012117] * by making the `nonReentrant` function external, and making it call a
[codex:1012117] * `private` function that does the actual work.
[codex:1012117] */
[codex:1012117] modifier nonReentrant() {
[codex:1012117] _nonReentrantBefore();
[codex:1012117] _;
[codex:1012117] _nonReentrantAfter();
[codex:1012117] }
[codex:1012117]
[codex:1012117] function _nonReentrantBefore() private {
[codex:1012117] // On the first call to nonReentrant, _status will be _NOT_ENTERED
[codex:1012117] require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
[codex:1012117]
[codex:1012117] // Any calls to nonReentrant after this point will fail
[codex:1012117] _status = _ENTERED;
[codex:1012117] }
[codex:1012117]
[codex:1012117] function _nonReentrantAfter() private {
[codex:1012117] // By storing the original value once again, a refund is triggered (see
[codex:1012117] // https://eips.ethereum.org/EIPS/eip-2200)
[codex:1012117]
[codex:1012117] thinking
[codex:1012117] **Continuing to read full file**
[codex:1012117] exec
[codex:1012117] /bin/bash -lc "sed -n '400,600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-1mqi8ujm succeeded in 6ms:
[codex:1012117] using Address for address;
[codex:1012117]
[codex:1012117] /**
[codex:1012117] * @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,
[codex:1012117] * non-reverting calls are assumed to be successful.
[codex:1012117] */
[codex:1012117] function safeTransfer(IERC20 token, address to, uint256 value) internal {
[codex:1012117] _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
[codex:1012117] }
[codex:1012117]
[codex:1012117] /**
[codex:1012117] * @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the
[codex:1012117] * calling contract. If `token` returns no value, non-reverting calls are assumed to be successful.
[codex:1012117] */
[codex:1012117] function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
[codex:1012117] _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
[codex:1012117] }
[codex:1012117]
[codex:1012117] /**
[codex:1012117] * @dev Deprecated. This function has issues similar to the ones found in
[codex:1012117]
[codex:1012117] thinking
[codex:1012117] **Proceeding with task**
[codex:1012117] exec
[codex:1012117] /bin/bash -lc "sed -n '600,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-1mqi8ujm succeeded in 5ms:
[codex:1012117] * plain `call` is an unsafe replacement for a function call: use this
[codex:1012117] * function instead.
[codex:1012117] *
[codex:1012117] * If `target` reverts with a revert reason, it is bubbled up by this
[codex:1012117] * function (like regular Solidity function calls).
[codex:1012117] *
[codex:1012117] * Returns the raw returned data. To convert to the expected return value,
[codex:1012117] * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
[codex:1012117] *
[codex:1012117] * Requirements:
[codex:1012117] *
[codex:1012117] * - `target` must be a contract.
[codex:1012117] * - calling `target` with `data` must not revert.
[codex:1012117] *
[codex:1012117] * _Available since v3.1._
[codex:1012117] */
[codex:1012117] function functionCall(address target, bytes memory data) internal returns (bytes memory) {
[codex:1012117] return functionCallWithValue(target, data, 0, "Address: low-level call failed");
[codex:1012117] }
[codex:1012117]
[codex:1012117]
[codex:1012117] thinking
[codex:1012117] **Attempting direct contact**
[codex:1012117] exec
[codex:1012117] /bin/bash -lc "sed -n '800,906p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-1mqi8ujm succeeded in 5ms:
[codex:1012117]
[codex:1012117] ================================================================================
[codex:1012117] FILE: contracts/contracts/Governance/VTreasuryV8.sol
[codex:1012117] ================================================================================
[codex:1012117] //SPDX-License-Identifier: UNLICENSED
[codex:1012117] pragma solidity 0.8.20;
[codex:1012117]
[codex:1012117] import { SafeERC20, IERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1012117] import { Ownable2Step } from "@openzeppelin/contracts/access/Ownable2Step.sol";
[codex:1012117] import { ReentrancyGuard } from "@openzeppelin/contracts/security/ReentrancyGuard.sol";
[codex:1012117]
[codex:1012117] /**
[codex:1012117] * @title VTreasuryV8
[codex:1012117] * @author Venus
[codex:1012117] * @notice Protocol treasury that holds tokens owned by Venus
[codex:1012117] */
[codex:1012117] contract VTreasuryV8 is Ownable2Step, ReentrancyGuard {
[codex:1012117] using SafeERC20 for IERC20;
[codex:1012117]
[codex:1012117] // WithdrawTreasuryToken Event
[codex:1012117]
[codex:1012117] thinking
[codex:1012117] **Analyzing VTreasuryV8 for vulnerabilities**
[codex:1012117] exec
[codex:1012117] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-1mqi8ujm succeeded in 5ms:
[codex:1012117] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:1012117]
[codex:1012117] thinking
[codex:1012117] **Preparing JSON summary output**
[codex:1012117] codex
[codex:1012117] {"no_findings":true,"summary":"Reviewed first-party contract VTreasuryV8; no exploitable issues found in scope areas (access control, reentrancy, upgradeability, signature/oracle/ accounting).","findings":[]}
[codex:1012117] tokens used
[codex:1012117] 16,387
[codex:1012117] {"no_findings":true,"summary":"Reviewed first-party contract VTreasuryV8; no exploitable issues found in scope areas (access control, reentrancy, upgradeability, signature/oracle/ accounting).","findings":[]}
{
"codex": {
"ran_at": "2025-12-30T01:53:07.339621+00:00",
"returncode": 0
},
"summary": "Reviewed first-party contract VTreasuryV8; no exploitable issues found in scope areas (access control, reentrancy, upgradeability, signature/oracle/ accounting).",
"raw_final": {
"summary": "Reviewed first-party contract VTreasuryV8; no exploitable issues found in scope areas (access control, reentrancy, upgradeability, signature/oracle/ accounting).",
"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 0x006e 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x8da5cb5b 00000019: GT 0000001a: PUSH2 0x004b 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x8da5cb5b 00000024: EQ 00000025: PUSH2 0x00c1 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xe30c3978 0000002f: EQ 00000030: PUSH2 0x00f7 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xf2fde38b 0000003a: EQ 0000003b: PUSH2 0x0115 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xfed7036e 00000045: EQ 00000046: PUSH2 0x0135 00000049: JUMPI 0000004a: STOP 0000004b: JUMPDEST 0000004c: DUP1 0000004d: PUSH4 0x715018a6 00000052: EQ 00000053: PUSH2 0x0077 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0x74c17a35 0000005d: EQ 0000005e: PUSH2 0x008c 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0x79ba5097 00000068: EQ 00000069: PUSH2 0x00ac 0000006c: JUMPI 0000006d: STOP 0000006e: JUMPDEST 0000006f: CALLDATASIZE 00000070: PUSH2 0x0075 00000073: JUMPI 00000074: STOP 00000075: JUMPDEST 00000076: STOP 00000077: JUMPDEST 00000078: CALLVALUE 00000079: DUP1 0000007a: ISZERO 0000007b: PUSH2 0x0083 0000007e: JUMPI 0000007f: PUSH1 0x00 00000081: DUP1 00000082: REVERT 00000083: JUMPDEST 00000084: POP 00000085: PUSH2 0x0075 00000088: PUSH2 0x0148 0000008b: JUMP 0000008c: JUMPDEST 0000008d: CALLVALUE 0000008e: DUP1 0000008f: ISZERO 00000090: PUSH2 0x0098 00000093: JUMPI 00000094: PUSH1 0x00 00000096: DUP1 00000097: REVERT 00000098: JUMPDEST 00000099: POP 0000009a: PUSH2 0x0075 0000009d: PUSH2 0x00a7 000000a0: CALLDATASIZE 000000a1: PUSH1 0x04 000000a3: PUSH2 0x0914 000000a6: JUMP 000000a7: JUMPDEST 000000a8: PUSH2 0x015c 000000ab: JUMP 000000ac: JUMPDEST 000000ad: CALLVALUE 000000ae: DUP1 000000af: ISZERO 000000b0: PUSH2 0x00b8 000000b3: JUMPI 000000b4: PUSH1 0x00 000000b6: DUP1 000000b7: REVERT 000000b8: JUMPDEST 000000b9: POP 000000ba: PUSH2 0x0075 000000bd: PUSH2 0x02c0 000000c0: JUMP 000000c1: JUMPDEST 000000c2: CALLVALUE 000000c3: DUP1 000000c4: ISZERO 000000c5: PUSH2 0x00cd 000000c8: JUMPI 000000c9: PUSH1 0x00 000000cb: DUP1 000000cc: REVERT 000000cd: JUMPDEST 000000ce: POP 000000cf: PUSH1 0x00 000000d1: SLOAD 000000d2: PUSH1 0x01 000000d4: PUSH1 0x01 000000d6: PUSH1 0xa0 000000d8: SHL 000000d9: SUB 000000da: AND 000000db: JUMPDEST 000000dc: PUSH1 0x40 000000de: MLOAD 000000df: PUSH1 0x01 000000e1: PUSH1 0x01 000000e3: PUSH1 0xa0 000000e5: SHL 000000e6: SUB 000000e7: SWAP1 000000e8: SWAP2 000000e9: AND 000000ea: DUP2 000000eb: MSTORE 000000ec: PUSH1 0x20 000000ee: ADD 000000ef: PUSH1 0x40 000000f1: MLOAD 000000f2: DUP1 000000f3: SWAP2 000000f4: SUB 000000f5: SWAP1 000000f6: RETURN 000000f7: JUMPDEST 000000f8: CALLVALUE 000000f9: DUP1 000000fa: ISZERO 000000fb: PUSH2 0x0103 000000fe: JUMPI 000000ff: PUSH1 0x00 00000101: DUP1 00000102: REVERT 00000103: JUMPDEST 00000104: POP 00000105: PUSH1 0x01 00000107: SLOAD 00000108: PUSH1 0x01 0000010a: PUSH1 0x01 0000010c: PUSH1 0xa0 0000010e: SHL 0000010f: SUB 00000110: AND 00000111: PUSH2 0x00db 00000114: JUMP 00000115: JUMPDEST 00000116: CALLVALUE 00000117: DUP1 00000118: ISZERO 00000119: PUSH2 0x0121 0000011c: JUMPI 0000011d: PUSH1 0x00 0000011f: DUP1 00000120: REVERT 00000121: JUMPDEST 00000122: POP 00000123: PUSH2 0x0075 00000126: PUSH2 0x0130 00000129: CALLDATASIZE 0000012a: PUSH1 0x04 0000012c: PUSH2 0x0956 0000012f: JUMP 00000130: JUMPDEST 00000131: PUSH2 0x033a 00000134: JUMP 00000135: JUMPDEST 00000136: PUSH2 0x0075 00000139: PUSH2 0x0143 0000013c: CALLDATASIZE 0000013d: PUSH1 0x04 0000013f: PUSH2 0x097a 00000142: JUMP 00000143: JUMPDEST 00000144: PUSH2 0x03ab 00000147: JUMP 00000148: JUMPDEST 00000149: PUSH2 0x0150 0000014c: PUSH2 0x0507 0000014f: JUMP 00000150: JUMPDEST 00000151: PUSH2 0x015a 00000154: PUSH1 0x00 00000156: PUSH2 0x0561 00000159: JUMP 0000015a: JUMPDEST 0000015b: JUMP 0000015c: JUMPDEST 0000015d: PUSH2 0x0164 00000160: PUSH2 0x0507 00000163: JUMP 00000164: JUMPDEST 00000165: PUSH2 0x016c 00000168: PUSH2 0x057a 0000016b: JUMP 0000016c: JUMPDEST 0000016d: PUSH2 0x0175 00000170: DUP4 00000171: PUSH2 0x05d1 00000174: JUMP 00000175: JUMPDEST 00000176: PUSH2 0x017e 00000179: DUP2 0000017a: PUSH2 0x05d1 0000017d: JUMP 0000017e: JUMPDEST 0000017f: PUSH1 0x00 00000181: DUP3 00000182: GT 00000183: PUSH2 0x01d3 00000186: JUMPI 00000187: PUSH1 0x40 00000189: MLOAD 0000018a: PUSH3 0x461bcd 0000018e: PUSH1 0xe5 00000190: SHL 00000191: DUP2 00000192: MSTORE 00000193: PUSH1 0x20 00000195: PUSH1 0x04 00000197: DUP3 00000198: ADD 00000199: MSTORE 0000019a: PUSH1 0x1f 0000019c: PUSH1 0x24 0000019e: DUP3 0000019f: ADD 000001a0: MSTORE 000001a1: PUSH32 0x7769746864726177416d6f756e74206d757374206e6f74206265207a65726f00 000001c2: PUSH1 0x44 000001c4: DUP3 000001c5: ADD 000001c6: MSTORE 000001c7: PUSH1 0x64 000001c9: ADD 000001ca: JUMPDEST 000001cb: PUSH1 0x40 000001cd: MLOAD 000001ce: DUP1 000001cf: SWAP2 000001d0: SUB 000001d1: SWAP1 000001d2: REVERT 000001d3: JUMPDEST 000001d4: PUSH1 0x40 000001d6: MLOAD 000001d7: PUSH4 0x70a08231 000001dc: PUSH1 0xe0 000001de: SHL 000001df: DUP2 000001e0: MSTORE 000001e1: ADDRESS 000001e2: PUSH1 0x04 000001e4: DUP3 000001e5: ADD 000001e6: MSTORE 000001e7: DUP3 000001e8: SWAP1 000001e9: PUSH1 0x00 000001eb: SWAP1 000001ec: PUSH1 0x01 000001ee: PUSH1 0x01 000001f0: PUSH1 0xa0 000001f2: SHL 000001f3: SUB 000001f4: DUP7 000001f5: AND 000001f6: SWAP1 000001f7: PUSH4 0x70a08231 000001fc: SWAP1 000001fd: PUSH1 0x24 000001ff: ADD 00000200: PUSH1 0x20 00000202: PUSH1 0x40 00000204: MLOAD 00000205: DUP1 00000206: DUP4 00000207: SUB 00000208: DUP2 00000209: DUP7 0000020a: GAS 0000020b: STATICCALL 0000020c: ISZERO 0000020d: DUP1 0000020e: ISZERO 0000020f: PUSH2 0x021c 00000212: JUMPI 00000213: RETURNDATASIZE 00000214: PUSH1 0x00 00000216: DUP1 00000217: RETURNDATACOPY 00000218: RETURNDATASIZE 00000219: PUSH1 0x00 0000021b: REVERT 0000021c: JUMPDEST 0000021d: POP 0000021e: POP 0000021f: POP 00000220: POP 00000221: PUSH1 0x40 00000223: MLOAD 00000224: RETURNDATASIZE 00000225: PUSH1 0x1f 00000227: NOT 00000228: PUSH1 0x1f 0000022a: DUP3 0000022b: ADD 0000022c: AND 0000022d: DUP3 0000022e: ADD 0000022f: DUP1 00000230: PUSH1 0x40 00000232: MSTORE 00000233: POP 00000234: DUP2 00000235: ADD 00000236: SWAP1 00000237: PUSH2 0x0240 0000023a: SWAP2 0000023b: SWAP1 0000023c: PUSH2 0x09aa 0000023f: JUMP 00000240: JUMPDEST 00000241: SWAP1 00000242: POP 00000243: DUP1 00000244: DUP5 00000245: GT 00000246: ISZERO 00000247: PUSH2 0x024e 0000024a: JUMPI 0000024b: DUP1 0000024c: SWAP2 0000024d: POP 0000024e: JUMPDEST 0000024f: PUSH2 0x0262 00000252: PUSH1 0x01 00000254: PUSH1 0x01 00000256: PUSH1 0xa0 00000258: SHL 00000259: SUB 0000025a: DUP7 0000025b: AND 0000025c: DUP5 0000025d: DUP5 0000025e: PUSH2 0x05f8 00000261: JUMP 00000262: JUMPDEST 00000263: DUP3 00000264: PUSH1 0x01 00000266: PUSH1 0x01 00000268: PUSH1 0xa0 0000026a: SHL 0000026b: SUB 0000026c: AND 0000026d: DUP6 0000026e: PUSH1 0x01 00000270: PUSH1 0x01 00000272: PUSH1 0xa0 00000274: SHL 00000275: SUB 00000276: AND 00000277: PUSH32 0x6d043f5c542a67e836c8f8bdf640d0de840c85d79c130dcbda8d42c9c056980c 00000298: DUP5 00000299: PUSH1 0x40 0000029b: MLOAD 0000029c: PUSH2 0x02a7 0000029f: SWAP2 000002a0: DUP2 000002a1: MSTORE 000002a2: PUSH1 0x20 000002a4: ADD 000002a5: SWAP1 000002a6: JUMP 000002a7: JUMPDEST 000002a8: PUSH1 0x40 000002aa: MLOAD 000002ab: DUP1 000002ac: SWAP2 000002ad: SUB 000002ae: SWAP1 000002af: LOG3 000002b0: POP 000002b1: POP 000002b2: PUSH2 0x02bb 000002b5: PUSH1 0x01 000002b7: PUSH1 0x02 000002b9: SSTORE 000002ba: JUMP 000002bb: JUMPDEST 000002bc: POP 000002bd: POP 000002be: POP 000002bf: JUMP 000002c0: JUMPDEST 000002c1: PUSH1 0x01 000002c3: SLOAD 000002c4: CALLER 000002c5: SWAP1 000002c6: PUSH1 0x01 000002c8: PUSH1 0x01 000002ca: PUSH1 0xa0 000002cc: SHL 000002cd: SUB 000002ce: AND 000002cf: DUP2 000002d0: EQ 000002d1: PUSH2 0x032e 000002d4: JUMPI 000002d5: PUSH1 0x40 000002d7: MLOAD 000002d8: PUSH3 0x461bcd 000002dc: PUSH1 0xe5 000002de: SHL 000002df: DUP2 000002e0: MSTORE 000002e1: PUSH1 0x20 000002e3: PUSH1 0x04 000002e5: DUP3 000002e6: ADD 000002e7: MSTORE 000002e8: PUSH1 0x29 000002ea: PUSH1 0x24 000002ec: DUP3 000002ed: ADD 000002ee: MSTORE 000002ef: PUSH32 0x4f776e61626c6532537465703a2063616c6c6572206973206e6f742074686520 00000310: PUSH1 0x44 00000312: DUP3 00000313: ADD 00000314: MSTORE 00000315: PUSH9 0x3732bb9037bbb732b9 0000031f: PUSH1 0xb9 00000321: SHL 00000322: PUSH1 0x64 00000324: DUP3 00000325: ADD 00000326: MSTORE 00000327: PUSH1 0x84 00000329: ADD 0000032a: PUSH2 0x01ca 0000032d: JUMP 0000032e: JUMPDEST 0000032f: PUSH2 0x0337 00000332: DUP2 00000333: PUSH2 0x0561 00000336: JUMP 00000337: JUMPDEST 00000338: POP 00000339: JUMP 0000033a: JUMPDEST 0000033b: PUSH2 0x0342 0000033e: PUSH2 0x0507 00000341: JUMP 00000342: JUMPDEST 00000343: PUSH1 0x01 00000345: DUP1 00000346: SLOAD 00000347: PUSH1 0x01 00000349: PUSH1 0x01 0000034b: PUSH1 0xa0 0000034d: SHL 0000034e: SUB 0000034f: DUP4 00000350: AND 00000351: PUSH1 0x01 00000353: PUSH1 0x01 00000355: PUSH1 0xa0 00000357: SHL 00000358: SUB 00000359: NOT 0000035a: SWAP1 0000035b: SWAP2 0000035c: AND 0000035d: DUP2 0000035e: OR 0000035f: SWAP1 00000360: SWAP2 00000361: SSTORE 00000362: PUSH2 0x0373 00000365: PUSH1 0x00 00000367: SLOAD 00000368: PUSH1 0x01 0000036a: PUSH1 0x01 0000036c: PUSH1 0xa0 0000036e: SHL 0000036f: SUB 00000370: AND 00000371: SWAP1 00000372: JUMP 00000373: JUMPDEST 00000374: PUSH1 0x01 00000376: PUSH1 0x01 00000378: PUSH1 0xa0 0000037a: SHL 0000037b: SUB 0000037c: AND 0000037d: PUSH32 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700 0000039e: PUSH1 0x40 000003a0: MLOAD 000003a1: PUSH1 0x40 000003a3: MLOAD 000003a4: DUP1 000003a5: SWAP2 000003a6: SUB 000003a7: SWAP1 000003a8: LOG3 000003a9: POP 000003aa: JUMP 000003ab: JUMPDEST 000003ac: PUSH2 0x03b3 000003af: PUSH2 0x0507 000003b2: JUMP 000003b3: JUMPDEST 000003b4: PUSH2 0x03bb 000003b7: PUSH2 0x057a 000003ba: JUMP 000003bb: JUMPDEST 000003bc: PUSH2 0x03c4 000003bf: DUP2 000003c0: PUSH2 0x05d1 000003c3: JUMP 000003c4: JUMPDEST 000003c5: PUSH1 0x00 000003c7: DUP3 000003c8: GT 000003c9: PUSH2 0x0414 000003cc: JUMPI 000003cd: PUSH1 0x40 000003cf: MLOAD 000003d0: PUSH3 0x461bcd 000003d4: PUSH1 0xe5 000003d6: SHL 000003d7: DUP2 000003d8: MSTORE 000003d9: PUSH1 0x20 000003db: PUSH1 0x04 000003dd: DUP3 000003de: ADD 000003df: MSTORE 000003e0: PUSH1 0x1f 000003e2: PUSH1 0x24 000003e4: DUP3 000003e5: ADD 000003e6: MSTORE 000003e7: PUSH32 0x7769746864726177416d6f756e74206d757374206e6f74206265207a65726f00 00000408: PUSH1 0x44 0000040a: DUP3 0000040b: ADD 0000040c: MSTORE 0000040d: PUSH1 0x64 0000040f: ADD 00000410: PUSH2 0x01ca 00000413: JUMP 00000414: JUMPDEST 00000415: DUP2 00000416: SELFBALANCE 00000417: DUP1 00000418: DUP3 00000419: GT 0000041a: ISZERO 0000041b: PUSH2 0x0422 0000041e: JUMPI 0000041f: DUP1 00000420: SWAP2 00000421: POP 00000422: JUMPDEST 00000423: PUSH1 0x00 00000425: DUP4 00000426: PUSH1 0x01 00000428: PUSH1 0x01 0000042a: PUSH1 0xa0 0000042c: SHL 0000042d: SUB 0000042e: AND 0000042f: DUP4 00000430: PUSH1 0x40 00000432: MLOAD 00000433: PUSH1 0x00 00000435: PUSH1 0x40 00000437: MLOAD 00000438: DUP1 00000439: DUP4 0000043a: SUB 0000043b: DUP2 0000043c: DUP6 0000043d: DUP8 0000043e: GAS 0000043f: CALL 00000440: SWAP3 00000441: POP 00000442: POP 00000443: POP 00000444: RETURNDATASIZE 00000445: DUP1 00000446: PUSH1 0x00 00000448: DUP2 00000449: EQ 0000044a: PUSH2 0x046f 0000044d: JUMPI 0000044e: PUSH1 0x40 00000450: MLOAD 00000451: SWAP2 00000452: POP 00000453: PUSH1 0x1f 00000455: NOT 00000456: PUSH1 0x3f 00000458: RETURNDATASIZE 00000459: ADD 0000045a: AND 0000045b: DUP3 0000045c: ADD 0000045d: PUSH1 0x40 0000045f: MSTORE 00000460: RETURNDATASIZE 00000461: DUP3 00000462: MSTORE 00000463: RETURNDATASIZE 00000464: PUSH1 0x00 00000466: PUSH1 0x20 00000468: DUP5 00000469: ADD 0000046a: RETURNDATACOPY 0000046b: PUSH2 0x0474 0000046e: JUMP 0000046f: JUMPDEST 00000470: PUSH1 0x60 00000472: SWAP2 00000473: POP 00000474: JUMPDEST 00000475: POP 00000476: POP 00000477: SWAP1 00000478: POP 00000479: DUP1 0000047a: PUSH2 0x04b3 0000047d: JUMPI 0000047e: PUSH1 0x40 00000480: MLOAD 00000481: PUSH3 0x461bcd 00000485: PUSH1 0xe5 00000487: SHL 00000488: DUP2 00000489: MSTORE 0000048a: PUSH1 0x20 0000048c: PUSH1 0x04 0000048e: DUP3 0000048f: ADD 00000490: MSTORE 00000491: PUSH1 0x0b 00000493: PUSH1 0x24 00000495: DUP3 00000496: ADD 00000497: MSTORE 00000498: PUSH11 0x10d85b1b0819985a5b1959 000004a4: PUSH1 0xaa 000004a6: SHL 000004a7: PUSH1 0x44 000004a9: DUP3 000004aa: ADD 000004ab: MSTORE 000004ac: PUSH1 0x64 000004ae: ADD 000004af: PUSH2 0x01ca 000004b2: JUMP 000004b3: JUMPDEST 000004b4: DUP4 000004b5: PUSH1 0x01 000004b7: PUSH1 0x01 000004b9: PUSH1 0xa0 000004bb: SHL 000004bc: SUB 000004bd: AND 000004be: PUSH32 0x41448dfa44379fc602c636f8939b0b1b598c481af871c76fbdd8bdfcdaf30dfa 000004df: DUP5 000004e0: PUSH1 0x40 000004e2: MLOAD 000004e3: PUSH2 0x04ee 000004e6: SWAP2 000004e7: DUP2 000004e8: MSTORE 000004e9: PUSH1 0x20 000004eb: ADD 000004ec: SWAP1 000004ed: JUMP 000004ee: JUMPDEST 000004ef: PUSH1 0x40 000004f1: MLOAD 000004f2: DUP1 000004f3: SWAP2 000004f4: SUB 000004f5: SWAP1 000004f6: LOG2 000004f7: POP 000004f8: POP 000004f9: POP 000004fa: PUSH2 0x0503 000004fd: PUSH1 0x01 000004ff: PUSH1 0x02 00000501: SSTORE 00000502: JUMP 00000503: JUMPDEST 00000504: POP 00000505: POP 00000506: JUMP 00000507: JUMPDEST 00000508: PUSH1 0x00 0000050a: SLOAD 0000050b: PUSH1 0x01 0000050d: PUSH1 0x01 0000050f: PUSH1 0xa0 00000511: SHL 00000512: SUB 00000513: AND 00000514: CALLER 00000515: EQ 00000516: PUSH2 0x015a 00000519: JUMPI 0000051a: PUSH1 0x40 0000051c: MLOAD 0000051d: PUSH3 0x461bcd 00000521: PUSH1 0xe5 00000523: SHL 00000524: DUP2 00000525: MSTORE 00000526: PUSH1 0x20 00000528: PUSH1 0x04 0000052a: DUP3 0000052b: ADD 0000052c: DUP2 0000052d: SWAP1 0000052e: MSTORE 0000052f: PUSH1 0x24 00000531: DUP3 00000532: ADD 00000533: MSTORE 00000534: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00000555: PUSH1 0x44 00000557: DUP3 00000558: ADD 00000559: MSTORE 0000055a: PUSH1 0x64 0000055c: ADD 0000055d: PUSH2 0x01ca 00000560: JUMP 00000561: JUMPDEST 00000562: PUSH1 0x01 00000564: DUP1 00000565: SLOAD 00000566: PUSH1 0x01 00000568: PUSH1 0x01 0000056a: PUSH1 0xa0 0000056c: SHL 0000056d: SUB 0000056e: NOT 0000056f: AND 00000570: SWAP1 00000571: SSTORE 00000572: PUSH2 0x0337 00000575: DUP2 00000576: PUSH2 0x064a 00000579: JUMP 0000057a: JUMPDEST 0000057b: PUSH1 0x02 0000057d: DUP1 0000057e: SLOAD 0000057f: SUB 00000580: PUSH2 0x05cb 00000583: JUMPI 00000584: PUSH1 0x40 00000586: MLOAD 00000587: PUSH3 0x461bcd 0000058b: PUSH1 0xe5 0000058d: SHL 0000058e: DUP2 0000058f: MSTORE 00000590: PUSH1 0x20 00000592: PUSH1 0x04 00000594: DUP3 00000595: ADD 00000596: MSTORE 00000597: PUSH1 0x1f 00000599: PUSH1 0x24 0000059b: DUP3 0000059c: ADD 0000059d: MSTORE 0000059e: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 000005bf: PUSH1 0x44 000005c1: DUP3 000005c2: ADD 000005c3: MSTORE 000005c4: PUSH1 0x64 000005c6: ADD 000005c7: PUSH2 0x01ca 000005ca: JUMP 000005cb: JUMPDEST 000005cc: PUSH1 0x02 000005ce: DUP1 000005cf: SSTORE 000005d0: JUMP 000005d1: JUMPDEST 000005d2: PUSH1 0x01 000005d4: PUSH1 0x01 000005d6: PUSH1 0xa0 000005d8: SHL 000005d9: SUB 000005da: DUP2 000005db: AND 000005dc: PUSH2 0x0337 000005df: JUMPI 000005e0: PUSH1 0x40 000005e2: MLOAD 000005e3: PUSH4 0x42bcdf7f 000005e8: PUSH1 0xe1 000005ea: SHL 000005eb: DUP2 000005ec: MSTORE 000005ed: PUSH1 0x04 000005ef: ADD 000005f0: PUSH1 0x40 000005f2: MLOAD 000005f3: DUP1 000005f4: SWAP2 000005f5: SUB 000005f6: SWAP1 000005f7: REVERT 000005f8: JUMPDEST 000005f9: PUSH1 0x40 000005fb: DUP1 000005fc: MLOAD 000005fd: PUSH1 0x01 000005ff: PUSH1 0x01 00000601: PUSH1 0xa0 00000603: SHL 00000604: SUB 00000605: DUP5 00000606: AND 00000607: PUSH1 0x24 00000609: DUP3 0000060a: ADD 0000060b: MSTORE 0000060c: PUSH1 0x44 0000060e: DUP1 0000060f: DUP3 00000610: ADD 00000611: DUP5 00000612: SWAP1 00000613: MSTORE 00000614: DUP3 00000615: MLOAD 00000616: DUP1 00000617: DUP4 00000618: SUB 00000619: SWAP1 0000061a: SWAP2 0000061b: ADD 0000061c: DUP2 0000061d: MSTORE 0000061e: PUSH1 0x64 00000620: SWAP1 00000621: SWAP2 00000622: ADD 00000623: SWAP1 00000624: SWAP2 00000625: MSTORE 00000626: PUSH1 0x20 00000628: DUP2 00000629: ADD 0000062a: DUP1 0000062b: MLOAD 0000062c: PUSH1 0x01 0000062e: PUSH1 0x01 00000630: PUSH1 0xe0 00000632: SHL 00000633: SUB 00000634: AND 00000635: PUSH4 0xa9059cbb 0000063a: PUSH1 0xe0 0000063c: SHL 0000063d: OR 0000063e: SWAP1 0000063f: MSTORE 00000640: PUSH2 0x02bb 00000643: SWAP1 00000644: DUP5 00000645: SWAP1 00000646: PUSH2 0x069a 00000649: JUMP 0000064a: JUMPDEST 0000064b: PUSH1 0x00 0000064d: DUP1 0000064e: SLOAD 0000064f: PUSH1 0x01 00000651: PUSH1 0x01 00000653: PUSH1 0xa0 00000655: SHL 00000656: SUB 00000657: DUP4 00000658: DUP2 00000659: AND 0000065a: PUSH1 0x01 0000065c: PUSH1 0x01 0000065e: PUSH1 0xa0 00000660: SHL 00000661: SUB 00000662: NOT 00000663: DUP4 00000664: AND 00000665: DUP2 00000666: OR 00000667: DUP5 00000668: SSTORE 00000669: PUSH1 0x40 0000066b: MLOAD 0000066c: SWAP2 0000066d: SWAP1 0000066e: SWAP3 0000066f: AND 00000670: SWAP3 00000671: DUP4 00000672: SWAP2 00000673: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000694: SWAP2 00000695: SWAP1 00000696: LOG3 00000697: POP 00000698: POP 00000699: JUMP 0000069a: JUMPDEST 0000069b: PUSH1 0x00 0000069d: PUSH2 0x06ef 000006a0: DUP3 000006a1: PUSH1 0x40 000006a3: MLOAD 000006a4: DUP1 000006a5: PUSH1 0x40 000006a7: ADD 000006a8: PUSH1 0x40 000006aa: MSTORE 000006ab: DUP1 000006ac: PUSH1 0x20 000006ae: DUP2 000006af: MSTORE 000006b0: PUSH1 0x20 000006b2: ADD 000006b3: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 000006d4: DUP2 000006d5: MSTORE 000006d6: POP 000006d7: DUP6 000006d8: PUSH1 0x01 000006da: PUSH1 0x01 000006dc: PUSH1 0xa0 000006de: SHL 000006df: SUB 000006e0: AND 000006e1: PUSH2 0x076f 000006e4: SWAP1 000006e5: SWAP3 000006e6: SWAP2 000006e7: SWAP1 000006e8: PUSH4 0xffffffff 000006ed: AND 000006ee: JUMP 000006ef: JUMPDEST 000006f0: SWAP1 000006f1: POP 000006f2: DUP1 000006f3: MLOAD 000006f4: PUSH1 0x00 000006f6: EQ 000006f7: DUP1 000006f8: PUSH2 0x0710 000006fb: JUMPI 000006fc: POP 000006fd: DUP1 000006fe: DUP1 000006ff: PUSH1 0x20 00000701: ADD 00000702: SWAP1 00000703: MLOAD 00000704: DUP2 00000705: ADD 00000706: SWAP1 00000707: PUSH2 0x0710 0000070a: SWAP2 0000070b: SWAP1 0000070c: PUSH2 0x09c3 0000070f: JUMP 00000710: JUMPDEST 00000711: PUSH2 0x02bb 00000714: JUMPI 00000715: PUSH1 0x40 00000717: MLOAD 00000718: PUSH3 0x461bcd 0000071c: PUSH1 0xe5 0000071e: SHL 0000071f: DUP2 00000720: MSTORE 00000721: PUSH1 0x20 00000723: PUSH1 0x04 00000725: DUP3 00000726: ADD 00000727: MSTORE 00000728: PUSH1 0x2a 0000072a: PUSH1 0x24 0000072c: DUP3 0000072d: ADD 0000072e: MSTORE 0000072f: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 00000750: PUSH1 0x44 00000752: DUP3 00000753: ADD 00000754: MSTORE 00000755: PUSH10 0x1bdd081cdd58d8d95959 00000760: PUSH1 0xb2 00000762: SHL 00000763: PUSH1 0x64 00000765: DUP3 00000766: ADD 00000767: MSTORE 00000768: PUSH1 0x84 0000076a: ADD 0000076b: PUSH2 0x01ca 0000076e: JUMP 0000076f: JUMPDEST 00000770: PUSH1 0x60 00000772: PUSH2 0x077e 00000775: DUP5 00000776: DUP5 00000777: PUSH1 0x00 00000779: DUP6 0000077a: PUSH2 0x0786 0000077d: JUMP 0000077e: JUMPDEST 0000077f: SWAP5 00000780: SWAP4 00000781: POP 00000782: POP 00000783: POP 00000784: POP 00000785: JUMP 00000786: JUMPDEST 00000787: PUSH1 0x60 00000789: DUP3 0000078a: SELFBALANCE 0000078b: LT 0000078c: ISZERO 0000078d: PUSH2 0x07e7 00000790: JUMPI 00000791: PUSH1 0x40 00000793: MLOAD 00000794: PUSH3 0x461bcd 00000798: PUSH1 0xe5 0000079a: SHL 0000079b: DUP2 0000079c: MSTORE 0000079d: PUSH1 0x20 0000079f: PUSH1 0x04 000007a1: DUP3 000007a2: ADD 000007a3: MSTORE 000007a4: PUSH1 0x26 000007a6: PUSH1 0x24 000007a8: DUP3 000007a9: ADD 000007aa: MSTORE 000007ab: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 000007cc: PUSH1 0x44 000007ce: DUP3 000007cf: ADD 000007d0: MSTORE 000007d1: PUSH6 0x1c8818d85b1b 000007d8: PUSH1 0xd2 000007da: SHL 000007db: PUSH1 0x64 000007dd: DUP3 000007de: ADD 000007df: MSTORE 000007e0: PUSH1 0x84 000007e2: ADD 000007e3: PUSH2 0x01ca 000007e6: JUMP 000007e7: JUMPDEST 000007e8: PUSH1 0x00 000007ea: DUP1 000007eb: DUP7 000007ec: PUSH1 0x01 000007ee: PUSH1 0x01 000007f0: PUSH1 0xa0 000007f2: SHL 000007f3: SUB 000007f4: AND 000007f5: DUP6 000007f6: DUP8 000007f7: PUSH1 0x40 000007f9: MLOAD 000007fa: PUSH2 0x0803 000007fd: SWAP2 000007fe: SWAP1 000007ff: PUSH2 0x0a09 00000802: JUMP 00000803: JUMPDEST 00000804: PUSH1 0x00 00000806: PUSH1 0x40 00000808: MLOAD 00000809: DUP1 0000080a: DUP4 0000080b: SUB 0000080c: DUP2 0000080d: DUP6 0000080e: DUP8 0000080f: GAS 00000810: CALL 00000811: SWAP3 00000812: POP 00000813: POP 00000814: POP 00000815: RETURNDATASIZE 00000816: DUP1 00000817: PUSH1 0x00 00000819: DUP2 0000081a: EQ 0000081b: PUSH2 0x0840 0000081e: JUMPI 0000081f: PUSH1 0x40 00000821: MLOAD 00000822: SWAP2 00000823: POP 00000824: PUSH1 0x1f 00000826: NOT 00000827: PUSH1 0x3f 00000829: RETURNDATASIZE 0000082a: ADD 0000082b: AND 0000082c: DUP3 0000082d: ADD 0000082e: PUSH1 0x40 00000830: MSTORE 00000831: RETURNDATASIZE 00000832: DUP3 00000833: MSTORE 00000834: RETURNDATASIZE 00000835: PUSH1 0x00 00000837: PUSH1 0x20 00000839: DUP5 0000083a: ADD 0000083b: RETURNDATACOPY 0000083c: PUSH2 0x0845 0000083f: JUMP 00000840: JUMPDEST 00000841: PUSH1 0x60 00000843: SWAP2 00000844: POP 00000845: JUMPDEST 00000846: POP 00000847: SWAP2 00000848: POP 00000849: SWAP2 0000084a: POP 0000084b: PUSH2 0x0856 0000084e: DUP8 0000084f: DUP4 00000850: DUP4 00000851: DUP8 00000852: PUSH2 0x0861 00000855: JUMP 00000856: JUMPDEST 00000857: SWAP8 00000858: SWAP7 00000859: POP 0000085a: POP 0000085b: POP 0000085c: POP 0000085d: POP 0000085e: POP 0000085f: POP 00000860: JUMP 00000861: JUMPDEST 00000862: PUSH1 0x60 00000864: DUP4 00000865: ISZERO 00000866: PUSH2 0x08d0 00000869: JUMPI 0000086a: DUP3 0000086b: MLOAD 0000086c: PUSH1 0x00 0000086e: SUB 0000086f: PUSH2 0x08c9 00000872: JUMPI 00000873: PUSH1 0x01 00000875: PUSH1 0x01 00000877: PUSH1 0xa0 00000879: SHL 0000087a: SUB 0000087b: DUP6 0000087c: AND 0000087d: EXTCODESIZE 0000087e: PUSH2 0x08c9 00000881: JUMPI 00000882: PUSH1 0x40 00000884: MLOAD 00000885: PUSH3 0x461bcd 00000889: PUSH1 0xe5 0000088b: SHL 0000088c: DUP2 0000088d: MSTORE 0000088e: PUSH1 0x20 00000890: PUSH1 0x04 00000892: DUP3 00000893: ADD 00000894: MSTORE 00000895: PUSH1 0x1d 00000897: PUSH1 0x24 00000899: DUP3 0000089a: ADD 0000089b: MSTORE 0000089c: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 000008bd: PUSH1 0x44 000008bf: DUP3 000008c0: ADD 000008c1: MSTORE 000008c2: PUSH1 0x64 000008c4: ADD 000008c5: PUSH2 0x01ca 000008c8: JUMP 000008c9: JUMPDEST 000008ca: POP 000008cb: DUP2 000008cc: PUSH2 0x077e 000008cf: JUMP 000008d0: JUMPDEST 000008d1: PUSH2 0x077e 000008d4: DUP4 000008d5: DUP4 000008d6: DUP2 000008d7: MLOAD 000008d8: ISZERO 000008d9: PUSH2 0x08e5 000008dc: JUMPI 000008dd: DUP2 000008de: MLOAD 000008df: DUP1 000008e0: DUP4 000008e1: PUSH1 0x20 000008e3: ADD 000008e4: REVERT 000008e5: JUMPDEST 000008e6: DUP1 000008e7: PUSH1 0x40 000008e9: MLOAD 000008ea: PUSH3 0x461bcd 000008ee: PUSH1 0xe5 000008f0: SHL 000008f1: DUP2 000008f2: MSTORE 000008f3: PUSH1 0x04 000008f5: ADD 000008f6: PUSH2 0x01ca 000008f9: SWAP2 000008fa: SWAP1 000008fb: PUSH2 0x0a25 000008fe: JUMP 000008ff: JUMPDEST 00000900: PUSH1 0x01 00000902: PUSH1 0x01 00000904: PUSH1 0xa0 00000906: SHL 00000907: SUB 00000908: DUP2 00000909: AND 0000090a: DUP2 0000090b: EQ 0000090c: PUSH2 0x0337 0000090f: JUMPI 00000910: PUSH1 0x00 00000912: DUP1 00000913: REVERT 00000914: JUMPDEST 00000915: PUSH1 0x00 00000917: DUP1 00000918: PUSH1 0x00 0000091a: PUSH1 0x60 0000091c: DUP5 0000091d: DUP7 0000091e: SUB 0000091f: SLT 00000920: ISZERO 00000921: PUSH2 0x0929 00000924: JUMPI 00000925: PUSH1 0x00 00000927: DUP1 00000928: REVERT 00000929: JUMPDEST 0000092a: DUP4 0000092b: CALLDATALOAD 0000092c: PUSH2 0x0934 0000092f: DUP2 00000930: PUSH2 0x08ff 00000933: JUMP 00000934: JUMPDEST 00000935: SWAP3 00000936: POP 00000937: PUSH1 0x20 00000939: DUP5 0000093a: ADD 0000093b: CALLDATALOAD 0000093c: SWAP2 0000093d: POP 0000093e: PUSH1 0x40 00000940: DUP5 00000941: ADD 00000942: CALLDATALOAD 00000943: PUSH2 0x094b 00000946: DUP2 00000947: PUSH2 0x08ff 0000094a: JUMP 0000094b: JUMPDEST 0000094c: DUP1 0000094d: SWAP2 0000094e: POP 0000094f: POP 00000950: SWAP3 00000951: POP 00000952: SWAP3 00000953: POP 00000954: SWAP3 00000955: JUMP 00000956: JUMPDEST 00000957: PUSH1 0x00 00000959: PUSH1 0x20 0000095b: DUP3 0000095c: DUP5 0000095d: SUB 0000095e: SLT 0000095f: ISZERO 00000960: PUSH2 0x0968 00000963: JUMPI 00000964: PUSH1 0x00 00000966: DUP1 00000967: REVERT 00000968: JUMPDEST 00000969: DUP2 0000096a: CALLDATALOAD 0000096b: PUSH2 0x0973 0000096e: DUP2 0000096f: PUSH2 0x08ff 00000972: JUMP 00000973: JUMPDEST 00000974: SWAP4 00000975: SWAP3 00000976: POP 00000977: POP 00000978: POP 00000979: JUMP 0000097a: JUMPDEST 0000097b: PUSH1 0x00 0000097d: DUP1 0000097e: PUSH1 0x40 00000980: DUP4 00000981: DUP6 00000982: SUB 00000983: SLT 00000984: ISZERO 00000985: PUSH2 0x098d 00000988: JUMPI 00000989: PUSH1 0x00 0000098b: DUP1 0000098c: REVERT 0000098d: JUMPDEST 0000098e: DUP3 0000098f: CALLDATALOAD 00000990: SWAP2 00000991: POP 00000992: PUSH1 0x20 00000994: DUP4 00000995: ADD 00000996: CALLDATALOAD 00000997: PUSH2 0x099f 0000099a: DUP2 0000099b: PUSH2 0x08ff 0000099e: JUMP 0000099f: JUMPDEST 000009a0: DUP1 000009a1: SWAP2 000009a2: POP 000009a3: POP 000009a4: SWAP3 000009a5: POP 000009a6: SWAP3 000009a7: SWAP1 000009a8: POP 000009a9: JUMP 000009aa: JUMPDEST 000009ab: PUSH1 0x00 000009ad: PUSH1 0x20 000009af: DUP3 000009b0: DUP5 000009b1: SUB 000009b2: SLT 000009b3: ISZERO 000009b4: PUSH2 0x09bc 000009b7: JUMPI 000009b8: PUSH1 0x00 000009ba: DUP1 000009bb: REVERT 000009bc: JUMPDEST 000009bd: POP 000009be: MLOAD 000009bf: SWAP2 000009c0: SWAP1 000009c1: POP 000009c2: JUMP 000009c3: JUMPDEST 000009c4: PUSH1 0x00 000009c6: PUSH1 0x20 000009c8: DUP3 000009c9: DUP5 000009ca: SUB 000009cb: SLT 000009cc: ISZERO 000009cd: PUSH2 0x09d5 000009d0: JUMPI 000009d1: PUSH1 0x00 000009d3: DUP1 000009d4: REVERT 000009d5: JUMPDEST 000009d6: DUP2 000009d7: MLOAD 000009d8: DUP1 000009d9: ISZERO 000009da: ISZERO 000009db: DUP2 000009dc: EQ 000009dd: PUSH2 0x0973 000009e0: JUMPI 000009e1: PUSH1 0x00 000009e3: DUP1 000009e4: REVERT 000009e5: JUMPDEST 000009e6: PUSH1 0x00 000009e8: JUMPDEST 000009e9: DUP4 000009ea: DUP2 000009eb: LT 000009ec: ISZERO 000009ed: PUSH2 0x0a00 000009f0: JUMPI 000009f1: DUP2 000009f2: DUP2 000009f3: ADD 000009f4: MLOAD 000009f5: DUP4 000009f6: DUP3 000009f7: ADD 000009f8: MSTORE 000009f9: PUSH1 0x20 000009fb: ADD 000009fc: PUSH2 0x09e8 000009ff: JUMP 00000a00: JUMPDEST 00000a01: POP 00000a02: POP 00000a03: PUSH1 0x00 00000a05: SWAP2 00000a06: ADD 00000a07: MSTORE 00000a08: JUMP 00000a09: JUMPDEST 00000a0a: PUSH1 0x00 00000a0c: DUP3 00000a0d: MLOAD 00000a0e: PUSH2 0x0a1b 00000a11: DUP2 00000a12: DUP5 00000a13: PUSH1 0x20 00000a15: DUP8 00000a16: ADD 00000a17: PUSH2 0x09e5 00000a1a: JUMP 00000a1b: JUMPDEST 00000a1c: SWAP2 00000a1d: SWAP1 00000a1e: SWAP2 00000a1f: ADD 00000a20: SWAP3 00000a21: SWAP2 00000a22: POP 00000a23: POP 00000a24: JUMP 00000a25: JUMPDEST 00000a26: PUSH1 0x20 00000a28: DUP2 00000a29: MSTORE 00000a2a: PUSH1 0x00 00000a2c: DUP3 00000a2d: MLOAD 00000a2e: DUP1 00000a2f: PUSH1 0x20 00000a31: DUP5 00000a32: ADD 00000a33: MSTORE 00000a34: PUSH2 0x0a44 00000a37: DUP2 00000a38: PUSH1 0x40 00000a3a: DUP6 00000a3b: ADD 00000a3c: PUSH1 0x20 00000a3e: DUP8 00000a3f: ADD 00000a40: PUSH2 0x09e5 00000a43: JUMP 00000a44: JUMPDEST 00000a45: PUSH1 0x1f 00000a47: ADD 00000a48: PUSH1 0x1f 00000a4a: NOT 00000a4b: AND 00000a4c: SWAP2 00000a4d: SWAP1 00000a4e: SWAP2 00000a4f: ADD 00000a50: PUSH1 0x40 00000a52: ADD 00000a53: SWAP3 00000a54: SWAP2 00000a55: POP 00000a56: POP 00000a57: JUMP 00000a58: INVALID 00000a59: LOG2 00000a5a: PUSH5 0x6970667358 00000a60: UNKNOWN(0x22) 00000a61: SLT 00000a62: KECCAK256 00000a63: SWAP4 00000a64: UNKNOWN(0xD8) 00000a65: PUSH20 0x30f42b9bcbf754eefc1d04b5e948eb71f5034a72 00000a7a: ADDRESS 00000a7b: UNKNOWN(0xCD) 00000a7c: PUSH7 0xaec48234e18264 00000a84: PUSH20
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xdffa247c5847a06123df2b56e06d21363f01566453db02231ee3bbde7505f28e
call_targets:
0xfd9b071168bc27dbe16406ec3aba050ce8eb22fa
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xdffa247c5847a06123df2b56e06d21363f01566453db02231ee3bbde7505f28e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xfd9b071168bc27dbe16406ec3aba050ce8eb22fa"
],
"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": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe30c3978",
"selector": "0xe30c3978",
"calldata_variants": [
"0xe30c3978",
"0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfed7036e",
"selector": "0xfed7036e",
"calldata_variants": [
"0xfed7036e",
"0xfed7036e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x74c17a35",
"selector": "0x74c17a35",
"calldata_variants": [
"0x74c17a35",
"0x74c17a350000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x79ba5097",
"selector": "0x79ba5097",
"calldata_variants": [
"0x79ba5097",
"0x79ba50970000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1087,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2064,
"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: 0xdffa247c5847a06123df2b56e06d21363f01566453db02231ee3bbde7505f28e
call_targets:
0xfd9b071168bc27dbe16406ec3aba050ce8eb22fa
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xdffa247c5847a06123df2b56e06d21363f01566453db02231ee3bbde7505f28e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xfd9b071168bc27dbe16406ec3aba050ce8eb22fa"
],
"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": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe30c3978",
"selector": "0xe30c3978",
"calldata_variants": [
"0xe30c3978",
"0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfed7036e",
"selector": "0xfed7036e",
"calldata_variants": [
"0xfed7036e",
"0xfed7036e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x74c17a35",
"selector": "0x74c17a35",
"calldata_variants": [
"0x74c17a35",
"0x74c17a350000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x79ba5097",
"selector": "0x79ba5097",
"calldata_variants": [
"0x79ba5097",
"0x79ba50970000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1087,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2064,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|