TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

b59e20e2-a03b-4d08-831e-8d6c16484fe6

failed
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 2:40 AM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Verified
Review Backing
Not yet
Best current signal
Untrusted CALL target/value reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31194 report.consolidate complete 1 / 1 3 months ago
76978 artifact.fetch failed 1 / 3 2 weeks ago
76979 tool.cast_disasm complete 1 / 3 2 weeks ago
76980 analysis.bundle complete 1 / 3 2 weeks ago
76981 capability.graph complete 1 / 3 2 weeks ago
76982 detector.run complete 1 / 3 2 weeks ago
76983 validation.fork complete 1 / 3 2 weeks ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: yes

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable value-extraction path found in the provided sources.
View stderr
[codex:542617] OpenAI Codex v0.77.0 (research preview)
[codex:542617] --------
[codex:542617] workdir: /tmp/codex-multi-2k0ug8c9
[codex:542617] model: gpt-5.2-codex
[codex:542617] provider: openai
[codex:542617] approval: never
[codex:542617] sandbox: read-only
[codex:542617] reasoning effort: xhigh
[codex:542617] reasoning summaries: auto
[codex:542617] session id: 019b7c93-9842-70f2-98e5-49528d922418
[codex:542617] --------
[codex:542617] user
[codex:542617] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:542617] 
[codex:542617] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:542617] 
[codex:542617] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:542617] - Gas inefficiency, code quality, naming, or best practices
[codex:542617] - Theoretical vulnerabilities without a clear extraction path
[codex:542617] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:542617] - Front-running unless it enables theft beyond MEV
[codex:542617] - DoS, griefing, or issues that don't result in attacker profit
[codex:542617] - Missing events, view function issues, or informational findings
[codex:542617] 
[codex:542617] HIGH-VALUE PATTERNS TO HUNT:
[codex:542617] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:542617] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:542617] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:542617] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:542617] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:542617] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:542617] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:542617] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:542617] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:542617] 
[codex:542617] For each finding, you MUST provide:
[codex:542617] 1. Exact file and line numbers of vulnerable code
[codex:542617] 2. Step-by-step exploit transaction sequence
[codex:542617] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:542617] 
[codex:542617] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:542617] 
[codex:542617] Output MUST be valid JSON matching the provided schema.
[codex:542617] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:542617] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:542617] mcp startup: no servers
[codex:542617] 
[codex:542617] thinking
[codex:542617] **Preparing to read AUDIT_BUNDLE file**
[codex:542617] exec
[codex:542617] /bin/bash -lc ls in /tmp/codex-multi-2k0ug8c9 succeeded in 6ms:
[codex:542617] AUDIT_BUNDLE.txt
[codex:542617] codex-output-schema.json
[codex:542617] contracts
[codex:542617] exec
[codex:542617] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2k0ug8c9 succeeded in 5ms:
[codex:542617] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:542617] 
[codex:542617] ================================================================================
[codex:542617] FILE: contracts/contracts/CollSurplusPool.sol
[codex:542617] ================================================================================
[codex:542617] // SPDX-License-Identifier: MIT
[codex:542617] 
[codex:542617] pragma solidity 0.6.11;
[codex:542617] 
[codex:542617] import "./Interfaces/ICollSurplusPool.sol";
[codex:542617] import "./Dependencies/SafeMath.sol";
[codex:542617] import "./Dependencies/Ownable.sol";
[codex:542617] import "./Dependencies/CheckContract.sol";
[codex:542617] import "./Dependencies/console.sol";
[codex:542617] 
[codex:542617] 
[codex:542617] contract CollSurplusPool is Ownable, CheckContract, ICollSurplusPool {
[codex:542617]     using SafeMath for uint256;
[codex:542617] 
[codex:542617]     string constant public NAME = "CollSurplusPool";
[codex:542617] exec
[codex:542617] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2k0ug8c9 succeeded in 7ms:
[codex:542617]     /**
[codex:542617]      * @dev Returns true if the caller is the current owner.
[codex:542617]      */
[codex:542617]     function isOwner() public view returns (bool) {
[codex:542617]         return msg.sender == _owner;
[codex:542617]     }
[codex:542617] 
[codex:542617]     /**
[codex:542617]      * @dev Leaves the contract without owner. It will not be possible to call
[codex:542617]      * `onlyOwner` functions anymore.
[codex:542617]      *
[codex:542617]      * NOTE: Renouncing ownership will leave the contract without an owner,
[codex:542617]      * thereby removing any functionality that is only available to the owner.
[codex:542617]      *
[codex:542617]      * NOTE: This function is not safe, as it doesn’t check owner is calling it.
[codex:542617]      * Make sure you check it before calling it.
[codex:542617]      */
[codex:542617]     function _renounceOwnership() internal {
[codex:542617]         emit OwnershipTransferred(_owner, address(0));
[codex:542617]         _owner = address(0);
[codex:542617] exec
[codex:542617] /bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2k0ug8c9 succeeded in 5ms:
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log()"));
[codex:542617] 		ignored;
[codex:542617] 	}	function logInt(int p0) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(int)", p0));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function logUint(uint p0) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint)", p0));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function logString(string memory p0) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string)", p0));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function logBool(bool p0) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool)", p0));
[codex:542617] 		ignored;
[codex:542617] exec
[codex:542617] /bin/bash -lc "sed -n '800,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2k0ug8c9 succeeded in 6ms:
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(string memory p0, string memory p1, string memory p2) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,string)", p0, p1, p2));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(string memory p0, string memory p1, bool p2) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,bool)", p0, p1, p2));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(string memory p0, string memory p1, address p2) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,address)", p0, p1, p2));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(string memory p0, bool p1, uint p2) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,uint)", p0, p1, p2));
[codex:542617] 		ignored;
[codex:542617] exec
[codex:542617] /bin/bash -lc "sed -n '1200,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2k0ug8c9 succeeded in 5ms:
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(uint p0, bool p1, string memory p2, string memory p3) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,string,string)", p0, p1, p2, p3));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(uint p0, bool p1, string memory p2, bool p3) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,string,bool)", p0, p1, p2, p3));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(uint p0, bool p1, string memory p2, address p3) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,string,address)", p0, p1, p2, p3));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(uint p0, bool p1, bool p2, uint p3) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,bool,uint)", p0, p1, p2, p3));
[codex:542617] 		ignored;
[codex:542617] exec
[codex:542617] /bin/bash -lc "sed -n '1600,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2k0ug8c9 succeeded in 5ms:
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(string memory p0, address p1, string memory p2, string memory p3) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,string,string)", p0, p1, p2, p3));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(string memory p0, address p1, string memory p2, bool p3) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,string,bool)", p0, p1, p2, p3));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(string memory p0, address p1, string memory p2, address p3) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,string,address)", p0, p1, p2, p3));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(string memory p0, address p1, bool p2, uint p3) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,bool,uint)", p0, p1, p2, p3));
[codex:542617] 		ignored;
[codex:542617] 
[codex:542617] thinking
[codex:542617] **Searching for large bundles and markers**
[codex:542617] exec
[codex:542617] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-2k0ug8c9 succeeded in 8ms:
[codex:542617] 4:FILE: contracts/contracts/CollSurplusPool.sol
[codex:542617] 131:FILE: contracts/contracts/Dependencies/CheckContract.sol
[codex:542617] 154:FILE: contracts/contracts/Dependencies/Ownable.sol
[codex:542617] 224:FILE: contracts/contracts/Dependencies/SafeMath.sol
[codex:542617] 389:FILE: contracts/contracts/Dependencies/console.sol
[codex:542617] 2300:FILE: contracts/contracts/Interfaces/ICollSurplusPool.sol
[codex:542617] exec
[codex:542617] /bin/bash -lc "sed -n '2280,2360p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2k0ug8c9 succeeded in 5ms:
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(address p0, address p1, address p2, string memory p3) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,address,string)", p0, p1, p2, p3));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(address p0, address p1, address p2, bool p3) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,address,bool)", p0, p1, p2, p3));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] 	function log(address p0, address p1, address p2, address p3) internal view {
[codex:542617] 		(bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,address,address)", p0, p1, p2, p3));
[codex:542617] 		ignored;
[codex:542617] 	}
[codex:542617] 
[codex:542617] }
[codex:542617] 
[codex:542617] ================================================================================
[codex:542617] 
[codex:542617] thinking
[codex:542617] **Assessing CollSurplusPool security**
[codex:542617] codex
[codex:542617] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path found in the provided sources.","findings":[]}
[codex:542617] tokens used
[codex:542617] 29,290
[codex:542617] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path found in the provided sources.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T02:40:37.952434+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable value-extraction path found in the provided sources.",
    "raw_final": {
        "summary": "No concrete, exploitable value-extraction path found in the provided sources.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
1
EXT*/BALANCE
1
Total opcodes
1654
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x00a0
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x8f32d59b
00000019: GT
0000001a: PUSH2 0x0064
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x8f32d59b
00000024: EQ
00000025: PUSH2 0x01b7
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x9b56d6c9
0000002f: EQ
00000030: PUSH2 0x01e0
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xa3f4df7e
0000003a: EQ
0000003b: PUSH2 0x0213
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xb08bc722
00000045: EQ
00000046: PUSH2 0x029d
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xb32beb5b
00000050: EQ
00000051: PUSH2 0x02b2
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xb7f8cf9b
0000005b: EQ
0000005c: PUSH2 0x02e5
0000005f: JUMPI
00000060: PUSH2 0x00c5
00000063: JUMP
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0x14f6c3be
0000006b: EQ
0000006c: PUSH2 0x00ca
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x363bf964
00000076: EQ
00000077: PUSH2 0x00f1
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x3f10abab
00000081: EQ
00000082: PUSH2 0x0138
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x5a4d28bb
0000008c: EQ
0000008d: PUSH2 0x0171
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0x8da5cb5b
00000097: EQ
00000098: PUSH2 0x01a2
0000009b: JUMPI
0000009c: PUSH2 0x00c5
0000009f: JUMP
000000a0: JUMPDEST
000000a1: CALLDATASIZE
000000a2: PUSH2 0x00c5
000000a5: JUMPI
000000a6: PUSH2 0x00ad
000000a9: PUSH2 0x02fa
000000ac: JUMP
000000ad: JUMPDEST
000000ae: PUSH1 0x04
000000b0: SLOAD
000000b1: PUSH2 0x00c0
000000b4: SWAP1
000000b5: CALLVALUE
000000b6: PUSH4 0xffffffff
000000bb: PUSH2 0x0345
000000be: AND
000000bf: JUMP
000000c0: JUMPDEST
000000c1: PUSH1 0x04
000000c3: SSTORE
000000c4: STOP
000000c5: JUMPDEST
000000c6: PUSH1 0x00
000000c8: DUP1
000000c9: REVERT
000000ca: JUMPDEST
000000cb: CALLVALUE
000000cc: DUP1
000000cd: ISZERO
000000ce: PUSH2 0x00d6
000000d1: JUMPI
000000d2: PUSH1 0x00
000000d4: DUP1
000000d5: REVERT
000000d6: JUMPDEST
000000d7: POP
000000d8: PUSH2 0x00df
000000db: PUSH2 0x03a6
000000de: JUMP
000000df: JUMPDEST
000000e0: PUSH1 0x40
000000e2: DUP1
000000e3: MLOAD
000000e4: SWAP2
000000e5: DUP3
000000e6: MSTORE
000000e7: MLOAD
000000e8: SWAP1
000000e9: DUP2
000000ea: SWAP1
000000eb: SUB
000000ec: PUSH1 0x20
000000ee: ADD
000000ef: SWAP1
000000f0: RETURN
000000f1: JUMPDEST
000000f2: CALLVALUE
000000f3: DUP1
000000f4: ISZERO
000000f5: PUSH2 0x00fd
000000f8: JUMPI
000000f9: PUSH1 0x00
000000fb: DUP1
000000fc: REVERT
000000fd: JUMPDEST
000000fe: POP
000000ff: PUSH2 0x0136
00000102: PUSH1 0x04
00000104: DUP1
00000105: CALLDATASIZE
00000106: SUB
00000107: PUSH1 0x60
00000109: DUP2
0000010a: LT
0000010b: ISZERO
0000010c: PUSH2 0x0114
0000010f: JUMPI
00000110: PUSH1 0x00
00000112: DUP1
00000113: REVERT
00000114: JUMPDEST
00000115: POP
00000116: PUSH1 0x01
00000118: PUSH1 0x01
0000011a: PUSH1 0xa0
0000011c: SHL
0000011d: SUB
0000011e: DUP2
0000011f: CALLDATALOAD
00000120: DUP2
00000121: AND
00000122: SWAP2
00000123: PUSH1 0x20
00000125: DUP2
00000126: ADD
00000127: CALLDATALOAD
00000128: DUP3
00000129: AND
0000012a: SWAP2
0000012b: PUSH1 0x40
0000012d: SWAP1
0000012e: SWAP2
0000012f: ADD
00000130: CALLDATALOAD
00000131: AND
00000132: PUSH2 0x03ac
00000135: JUMP
00000136: JUMPDEST
00000137: STOP
00000138: JUMPDEST
00000139: CALLVALUE
0000013a: DUP1
0000013b: ISZERO
0000013c: PUSH2 0x0144
0000013f: JUMPI
00000140: PUSH1 0x00
00000142: DUP1
00000143: REVERT
00000144: JUMPDEST
00000145: POP
00000146: PUSH2 0x0136
00000149: PUSH1 0x04
0000014b: DUP1
0000014c: CALLDATASIZE
0000014d: SUB
0000014e: PUSH1 0x40
00000150: DUP2
00000151: LT
00000152: ISZERO
00000153: PUSH2 0x015b
00000156: JUMPI
00000157: PUSH1 0x00
00000159: DUP1
0000015a: REVERT
0000015b: JUMPDEST
0000015c: POP
0000015d: PUSH1 0x01
0000015f: PUSH1 0x01
00000161: PUSH1 0xa0
00000163: SHL
00000164: SUB
00000165: DUP2
00000166: CALLDATALOAD
00000167: AND
00000168: SWAP1
00000169: PUSH1 0x20
0000016b: ADD
0000016c: CALLDATALOAD
0000016d: PUSH2 0x0512
00000170: JUMP
00000171: JUMPDEST
00000172: CALLVALUE
00000173: DUP1
00000174: ISZERO
00000175: PUSH2 0x017d
00000178: JUMPI
00000179: PUSH1 0x00
0000017b: DUP1
0000017c: REVERT
0000017d: JUMPDEST
0000017e: POP
0000017f: PUSH2 0x0186
00000182: PUSH2 0x059e
00000185: JUMP
00000186: JUMPDEST
00000187: PUSH1 0x40
00000189: DUP1
0000018a: MLOAD
0000018b: PUSH1 0x01
0000018d: PUSH1 0x01
0000018f: PUSH1 0xa0
00000191: SHL
00000192: SUB
00000193: SWAP1
00000194: SWAP3
00000195: AND
00000196: DUP3
00000197: MSTORE
00000198: MLOAD
00000199: SWAP1
0000019a: DUP2
0000019b: SWAP1
0000019c: SUB
0000019d: PUSH1 0x20
0000019f: ADD
000001a0: SWAP1
000001a1: RETURN
000001a2: JUMPDEST
000001a3: CALLVALUE
000001a4: DUP1
000001a5: ISZERO
000001a6: PUSH2 0x01ae
000001a9: JUMPI
000001aa: PUSH1 0x00
000001ac: DUP1
000001ad: REVERT
000001ae: JUMPDEST
000001af: POP
000001b0: PUSH2 0x0186
000001b3: PUSH2 0x05ad
000001b6: JUMP
000001b7: JUMPDEST
000001b8: CALLVALUE
000001b9: DUP1
000001ba: ISZERO
000001bb: PUSH2 0x01c3
000001be: JUMPI
000001bf: PUSH1 0x00
000001c1: DUP1
000001c2: REVERT
000001c3: JUMPDEST
000001c4: POP
000001c5: PUSH2 0x01cc
000001c8: PUSH2 0x05bc
000001cb: JUMP
000001cc: JUMPDEST
000001cd: PUSH1 0x40
000001cf: DUP1
000001d0: MLOAD
000001d1: SWAP2
000001d2: ISZERO
000001d3: ISZERO
000001d4: DUP3
000001d5: MSTORE
000001d6: MLOAD
000001d7: SWAP1
000001d8: DUP2
000001d9: SWAP1
000001da: SUB
000001db: PUSH1 0x20
000001dd: ADD
000001de: SWAP1
000001df: RETURN
000001e0: JUMPDEST
000001e1: CALLVALUE
000001e2: DUP1
000001e3: ISZERO
000001e4: PUSH2 0x01ec
000001e7: JUMPI
000001e8: PUSH1 0x00
000001ea: DUP1
000001eb: REVERT
000001ec: JUMPDEST
000001ed: POP
000001ee: PUSH2 0x00df
000001f1: PUSH1 0x04
000001f3: DUP1
000001f4: CALLDATASIZE
000001f5: SUB
000001f6: PUSH1 0x20
000001f8: DUP2
000001f9: LT
000001fa: ISZERO
000001fb: PUSH2 0x0203
000001fe: JUMPI
000001ff: PUSH1 0x00
00000201: DUP1
00000202: REVERT
00000203: JUMPDEST
00000204: POP
00000205: CALLDATALOAD
00000206: PUSH1 0x01
00000208: PUSH1 0x01
0000020a: PUSH1 0xa0
0000020c: SHL
0000020d: SUB
0000020e: AND
0000020f: PUSH2 0x05cd
00000212: JUMP
00000213: JUMPDEST
00000214: CALLVALUE
00000215: DUP1
00000216: ISZERO
00000217: PUSH2 0x021f
0000021a: JUMPI
0000021b: PUSH1 0x00
0000021d: DUP1
0000021e: REVERT
0000021f: JUMPDEST
00000220: POP
00000221: PUSH2 0x0228
00000224: PUSH2 0x05e8
00000227: JUMP
00000228: JUMPDEST
00000229: PUSH1 0x40
0000022b: DUP1
0000022c: MLOAD
0000022d: PUSH1 0x20
0000022f: DUP1
00000230: DUP3
00000231: MSTORE
00000232: DUP4
00000233: MLOAD
00000234: DUP2
00000235: DUP4
00000236: ADD
00000237: MSTORE
00000238: DUP4
00000239: MLOAD
0000023a: SWAP2
0000023b: SWAP3
0000023c: DUP4
0000023d: SWAP3
0000023e: SWAP1
0000023f: DUP4
00000240: ADD
00000241: SWAP2
00000242: DUP6
00000243: ADD
00000244: SWAP1
00000245: DUP1
00000246: DUP4
00000247: DUP4
00000248: PUSH1 0x00
0000024a: JUMPDEST
0000024b: DUP4
0000024c: DUP2
0000024d: LT
0000024e: ISZERO
0000024f: PUSH2 0x0262
00000252: JUMPI
00000253: DUP2
00000254: DUP2
00000255: ADD
00000256: MLOAD
00000257: DUP4
00000258: DUP3
00000259: ADD
0000025a: MSTORE
0000025b: PUSH1 0x20
0000025d: ADD
0000025e: PUSH2 0x024a
00000261: JUMP
00000262: JUMPDEST
00000263: POP
00000264: POP
00000265: POP
00000266: POP
00000267: SWAP1
00000268: POP
00000269: SWAP1
0000026a: DUP2
0000026b: ADD
0000026c: SWAP1
0000026d: PUSH1 0x1f
0000026f: AND
00000270: DUP1
00000271: ISZERO
00000272: PUSH2 0x028f
00000275: JUMPI
00000276: DUP1
00000277: DUP3
00000278: SUB
00000279: DUP1
0000027a: MLOAD
0000027b: PUSH1 0x01
0000027d: DUP4
0000027e: PUSH1 0x20
00000280: SUB
00000281: PUSH2 0x0100
00000284: EXP
00000285: SUB
00000286: NOT
00000287: AND
00000288: DUP2
00000289: MSTORE
0000028a: PUSH1 0x20
0000028c: ADD
0000028d: SWAP2
0000028e: POP
0000028f: JUMPDEST
00000290: POP
00000291: SWAP3
00000292: POP
00000293: POP
00000294: POP
00000295: PUSH1 0x40
00000297: MLOAD
00000298: DUP1
00000299: SWAP2
0000029a: SUB
0000029b: SWAP1
0000029c: RETURN
0000029d: JUMPDEST
0000029e: CALLVALUE
0000029f: DUP1
000002a0: ISZERO
000002a1: PUSH2 0x02a9
000002a4: JUMPI
000002a5: PUSH1 0x00
000002a7: DUP1
000002a8: REVERT
000002a9: JUMPDEST
000002aa: POP
000002ab: PUSH2 0x0186
000002ae: PUSH2 0x0613
000002b1: JUMP
000002b2: JUMPDEST
000002b3: CALLVALUE
000002b4: DUP1
000002b5: ISZERO
000002b6: PUSH2 0x02be
000002b9: JUMPI
000002ba: PUSH1 0x00
000002bc: DUP1
000002bd: REVERT
000002be: JUMPDEST
000002bf: POP
000002c0: PUSH2 0x0136
000002c3: PUSH1 0x04
000002c5: DUP1
000002c6: CALLDATASIZE
000002c7: SUB
000002c8: PUSH1 0x20
000002ca: DUP2
000002cb: LT
000002cc: ISZERO
000002cd: PUSH2 0x02d5
000002d0: JUMPI
000002d1: PUSH1 0x00
000002d3: DUP1
000002d4: REVERT
000002d5: JUMPDEST
000002d6: POP
000002d7: CALLDATALOAD
000002d8: PUSH1 0x01
000002da: PUSH1 0x01
000002dc: PUSH1 0xa0
000002de: SHL
000002df: SUB
000002e0: AND
000002e1: PUSH2 0x0622
000002e4: JUMP
000002e5: JUMPDEST
000002e6: CALLVALUE
000002e7: DUP1
000002e8: ISZERO
000002e9: PUSH2 0x02f1
000002ec: JUMPI
000002ed: PUSH1 0x00
000002ef: DUP1
000002f0: REVERT
000002f1: JUMPDEST
000002f2: POP
000002f3: PUSH2 0x0186
000002f6: PUSH2 0x07b7
000002f9: JUMP
000002fa: JUMPDEST
000002fb: PUSH1 0x03
000002fd: SLOAD
000002fe: PUSH1 0x01
00000300: PUSH1 0x01
00000302: PUSH1 0xa0
00000304: SHL
00000305: SUB
00000306: AND
00000307: CALLER
00000308: EQ
00000309: PUSH2 0x0343
0000030c: JUMPI
0000030d: PUSH1 0x40
0000030f: MLOAD
00000310: PUSH3 0x461bcd
00000314: PUSH1 0xe5
00000316: SHL
00000317: DUP2
00000318: MSTORE
00000319: PUSH1 0x04
0000031b: ADD
0000031c: DUP1
0000031d: DUP1
0000031e: PUSH1 0x20
00000320: ADD
00000321: DUP3
00000322: DUP2
00000323: SUB
00000324: DUP3
00000325: MSTORE
00000326: PUSH1 0x2a
00000328: DUP2
00000329: MSTORE
0000032a: PUSH1 0x20
0000032c: ADD
0000032d: DUP1
0000032e: PUSH2 0x0a5b
00000331: PUSH1 0x2a
00000333: SWAP2
00000334: CODECOPY
00000335: PUSH1 0x40
00000337: ADD
00000338: SWAP2
00000339: POP
0000033a: POP
0000033b: PUSH1 0x40
0000033d: MLOAD
0000033e: DUP1
0000033f: SWAP2
00000340: SUB
00000341: SWAP1
00000342: REVERT
00000343: JUMPDEST
00000344: JUMP
00000345: JUMPDEST
00000346: PUSH1 0x00
00000348: DUP3
00000349: DUP3
0000034a: ADD
0000034b: DUP4
0000034c: DUP2
0000034d: LT
0000034e: ISZERO
0000034f: PUSH2 0x039f
00000352: JUMPI
00000353: PUSH1 0x40
00000355: DUP1
00000356: MLOAD
00000357: PUSH3 0x461bcd
0000035b: PUSH1 0xe5
0000035d: SHL
0000035e: DUP2
0000035f: MSTORE
00000360: PUSH1 0x20
00000362: PUSH1 0x04
00000364: DUP3
00000365: ADD
00000366: MSTORE
00000367: PUSH1 0x1b
00000369: PUSH1 0x24
0000036b: DUP3
0000036c: ADD
0000036d: MSTORE
0000036e: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
0000038f: PUSH1 0x44
00000391: DUP3
00000392: ADD
00000393: MSTORE
00000394: SWAP1
00000395: MLOAD
00000396: SWAP1
00000397: DUP2
00000398: SWAP1
00000399: SUB
0000039a: PUSH1 0x64
0000039c: ADD
0000039d: SWAP1
0000039e: REVERT
0000039f: JUMPDEST
000003a0: SWAP4
000003a1: SWAP3
000003a2: POP
000003a3: POP
000003a4: POP
000003a5: JUMP
000003a6: JUMPDEST
000003a7: PUSH1 0x04
000003a9: SLOAD
000003aa: SWAP1
000003ab: JUMP
000003ac: JUMPDEST
000003ad: PUSH2 0x03b4
000003b0: PUSH2 0x05bc
000003b3: JUMP
000003b4: JUMPDEST
000003b5: PUSH2 0x0405
000003b8: JUMPI
000003b9: PUSH1 0x40
000003bb: DUP1
000003bc: MLOAD
000003bd: PUSH3 0x461bcd
000003c1: PUSH1 0xe5
000003c3: SHL
000003c4: DUP2
000003c5: MSTORE
000003c6: PUSH1 0x20
000003c8: PUSH1 0x04
000003ca: DUP3
000003cb: ADD
000003cc: DUP2
000003cd: SWAP1
000003ce: MSTORE
000003cf: PUSH1 0x24
000003d1: DUP3
000003d2: ADD
000003d3: MSTORE
000003d4: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000003f5: PUSH1 0x44
000003f7: DUP3
000003f8: ADD
000003f9: MSTORE
000003fa: SWAP1
000003fb: MLOAD
000003fc: SWAP1
000003fd: DUP2
000003fe: SWAP1
000003ff: SUB
00000400: PUSH1 0x64
00000402: ADD
00000403: SWAP1
00000404: REVERT
00000405: JUMPDEST
00000406: PUSH2 0x040e
00000409: DUP4
0000040a: PUSH2 0x07c6
0000040d: JUMP
0000040e: JUMPDEST
0000040f: PUSH2 0x0417
00000412: DUP3
00000413: PUSH2 0x07c6
00000416: JUMP
00000417: JUMPDEST
00000418: PUSH2 0x0420
0000041b: DUP2
0000041c: PUSH2 0x07c6
0000041f: JUMP
00000420: JUMPDEST
00000421: PUSH1 0x01
00000423: DUP1
00000424: SLOAD
00000425: PUSH1 0x01
00000427: PUSH1 0x01
00000429: PUSH1 0xa0
0000042b: SHL
0000042c: SUB
0000042d: DUP1
0000042e: DUP7
0000042f: AND
00000430: PUSH1 0x01
00000432: PUSH1 0x01
00000434: PUSH1 0xa0
00000436: SHL
00000437: SUB
00000438: NOT
00000439: SWAP3
0000043a: DUP4
0000043b: AND
0000043c: DUP2
0000043d: OR
0000043e: SWAP1
0000043f: SWAP4
00000440: SSTORE
00000441: PUSH1 0x02
00000443: DUP1
00000444: SLOAD
00000445: DUP7
00000446: DUP4
00000447: AND
00000448: SWAP1
00000449: DUP5
0000044a: AND
0000044b: OR
0000044c: SWAP1
0000044d: SSTORE
0000044e: PUSH1 0x03
00000450: DUP1
00000451: SLOAD
00000452: SWAP2
00000453: DUP6
00000454: AND
00000455: SWAP2
00000456: SWAP1
00000457: SWAP3
00000458: AND
00000459: OR
0000045a: SWAP1
0000045b: SSTORE
0000045c: PUSH1 0x40
0000045e: DUP1
0000045f: MLOAD
00000460: SWAP2
00000461: DUP3
00000462: MSTORE
00000463: MLOAD
00000464: PUSH32 0x3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985
00000485: SWAP2
00000486: DUP2
00000487: SWAP1
00000488: SUB
00000489: PUSH1 0x20
0000048b: ADD
0000048c: SWAP1
0000048d: LOG1
0000048e: PUSH1 0x40
00000490: DUP1
00000491: MLOAD
00000492: PUSH1 0x01
00000494: PUSH1 0x01
00000496: PUSH1 0xa0
00000498: SHL
00000499: SUB
0000049a: DUP5
0000049b: AND
0000049c: DUP2
0000049d: MSTORE
0000049e: SWAP1
0000049f: MLOAD
000004a0: PUSH32 0x143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678
000004c1: SWAP2
000004c2: DUP2
000004c3: SWAP1
000004c4: SUB
000004c5: PUSH1 0x20
000004c7: ADD
000004c8: SWAP1
000004c9: LOG1
000004ca: PUSH1 0x40
000004cc: DUP1
000004cd: MLOAD
000004ce: PUSH1 0x01
000004d0: PUSH1 0x01
000004d2: PUSH1 0xa0
000004d4: SHL
000004d5: SUB
000004d6: DUP4
000004d7: AND
000004d8: DUP2
000004d9: MSTORE
000004da: SWAP1
000004db: MLOAD
000004dc: PUSH32 0x78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd882
000004fd: SWAP2
000004fe: DUP2
000004ff: SWAP1
00000500: SUB
00000501: PUSH1 0x20
00000503: ADD
00000504: SWAP1
00000505: LOG1
00000506: PUSH2 0x050d
00000509: PUSH2 0x0879
0000050c: JUMP
0000050d: JUMPDEST
0000050e: POP
0000050f: POP
00000510: POP
00000511: JUMP
00000512: JUMPDEST
00000513: PUSH2 0x051a
00000516: PUSH2 0x08c3
00000519: JUMP
0000051a: JUMPDEST
0000051b: PUSH1 0x01
0000051d: PUSH1 0x01
0000051f: PUSH1 0xa0
00000521: SHL
00000522: SUB
00000523: DUP3
00000524: AND
00000525: PUSH1 0x00
00000527: SWAP1
00000528: DUP2
00000529: MSTORE
0000052a: PUSH1 0x05
0000052c: PUSH1 0x20
0000052e: MSTORE
0000052f: PUSH1 0x40
00000531: DUP2
00000532: KECCAK256
00000533: SLOAD
00000534: PUSH2 0x0543
00000537: SWAP1
00000538: DUP4
00000539: PUSH4 0xffffffff
0000053e: PUSH2 0x0345
00000541: AND
00000542: JUMP
00000543: JUMPDEST
00000544: PUSH1 0x01
00000546: PUSH1 0x01
00000548: PUSH1 0xa0
0000054a: SHL
0000054b: SUB
0000054c: DUP5
0000054d: AND
0000054e: PUSH1 0x00
00000550: DUP2
00000551: DUP2
00000552: MSTORE
00000553: PUSH1 0x05
00000555: PUSH1 0x20
00000557: SWAP1
00000558: DUP2
00000559: MSTORE
0000055a: PUSH1 0x40
0000055c: SWAP2
0000055d: DUP3
0000055e: SWAP1
0000055f: KECCAK256
00000560: DUP5
00000561: SWAP1
00000562: SSTORE
00000563: DUP2
00000564: MLOAD
00000565: DUP5
00000566: DUP2
00000567: MSTORE
00000568: SWAP2
00000569: MLOAD
0000056a: SWAP4
0000056b: SWAP5
0000056c: POP
0000056d: SWAP2
0000056e: SWAP3
0000056f: PUSH32 0xf0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f20
00000590: SWAP3
00000591: SWAP2
00000592: DUP2
00000593: SWAP1
00000594: SUB
00000595: SWAP1
00000596: SWAP2
00000597: ADD
00000598: SWAP1
00000599: LOG2
0000059a: POP
0000059b: POP
0000059c: POP
0000059d: JUMP
0000059e: JUMPDEST
0000059f: PUSH1 0x02
000005a1: SLOAD
000005a2: PUSH1 0x01
000005a4: PUSH1 0x01
000005a6: PUSH1 0xa0
000005a8: SHL
000005a9: SUB
000005aa: AND
000005ab: DUP2
000005ac: JUMP
000005ad: JUMPDEST
000005ae: PUSH1 0x00
000005b0: SLOAD
000005b1: PUSH1 0x01
000005b3: PUSH1 0x01
000005b5: PUSH1 0xa0
000005b7: SHL
000005b8: SUB
000005b9: AND
000005ba: SWAP1
000005bb: JUMP
000005bc: JUMPDEST
000005bd: PUSH1 0x00
000005bf: SLOAD
000005c0: PUSH1 0x01
000005c2: PUSH1 0x01
000005c4: PUSH1 0xa0
000005c6: SHL
000005c7: SUB
000005c8: AND
000005c9: CALLER
000005ca: EQ
000005cb: SWAP1
000005cc: JUMP
000005cd: JUMPDEST
000005ce: PUSH1 0x01
000005d0: PUSH1 0x01
000005d2: PUSH1 0xa0
000005d4: SHL
000005d5: SUB
000005d6: AND
000005d7: PUSH1 0x00
000005d9: SWAP1
000005da: DUP2
000005db: MSTORE
000005dc: PUSH1 0x05
000005de: PUSH1 0x20
000005e0: MSTORE
000005e1: PUSH1 0x40
000005e3: SWAP1
000005e4: KECCAK256
000005e5: SLOAD
000005e6: SWAP1
000005e7: JUMP
000005e8: JUMPDEST
000005e9: PUSH1 0x40
000005eb: MLOAD
000005ec: DUP1
000005ed: PUSH1 0x40
000005ef: ADD
000005f0: PUSH1 0x40
000005f2: MSTORE
000005f3: DUP1
000005f4: PUSH1 0x0f
000005f6: DUP2
000005f7: MSTORE
000005f8: PUSH1 0x20
000005fa: ADD
000005fb: PUSH15 0x10dbdb1b14dd5c9c1b1d5cd41bdbdb
0000060b: PUSH1 0x8a
0000060d: SHL
0000060e: DUP2
0000060f: MSTORE
00000610: POP
00000611: DUP2
00000612: JUMP
00000613: JUMPDEST
00000614: PUSH1 0x03
00000616: SLOAD
00000617: PUSH1 0x01
00000619: PUSH1 0x01
0000061b: PUSH1 0xa0
0000061d: SHL
0000061e: SUB
0000061f: AND
00000620: DUP2
00000621: JUMP
00000622: JUMPDEST
00000623: PUSH2 0x062a
00000626: PUSH2 0x090c
00000629: JUMP
0000062a: JUMPDEST
0000062b: PUSH1 0x01
0000062d: PUSH1 0x01
0000062f: PUSH1 0xa0
00000631: SHL
00000632: SUB
00000633: DUP2
00000634: AND
00000635: PUSH1 0x00
00000637: SWAP1
00000638: DUP2
00000639: MSTORE
0000063a: PUSH1 0x05
0000063c: PUSH1 0x20
0000063e: MSTORE
0000063f: PUSH1 0x40
00000641: SWAP1
00000642: KECCAK256
00000643: SLOAD
00000644: DUP1
00000645: PUSH2 0x067f
00000648: JUMPI
00000649: PUSH1 0x40
0000064b: MLOAD
0000064c: PUSH3 0x461bcd
00000650: PUSH1 0xe5
00000652: SHL
00000653: DUP2
00000654: MSTORE
00000655: PUSH1 0x04
00000657: ADD
00000658: DUP1
00000659: DUP1
0000065a: PUSH1 0x20
0000065c: ADD
0000065d: DUP3
0000065e: DUP2
0000065f: SUB
00000660: DUP3
00000661: MSTORE
00000662: PUSH1 0x31
00000664: DUP2
00000665: MSTORE
00000666: PUSH1 0x20
00000668: ADD
00000669: DUP1
0000066a: PUSH2 0x0a2a
0000066d: PUSH1 0x31
0000066f: SWAP2
00000670: CODECOPY
00000671: PUSH1 0x40
00000673: ADD
00000674: SWAP2
00000675: POP
00000676: POP
00000677: PUSH1 0x40
00000679: MLOAD
0000067a: DUP1
0000067b: SWAP2
0000067c: SUB
0000067d: SWAP1
0000067e: REVERT
0000067f: JUMPDEST
00000680: PUSH1 0x01
00000682: PUSH1 0x01
00000684: PUSH1 0xa0
00000686: SHL
00000687: SUB
00000688: DUP3
00000689: AND
0000068a: PUSH1 0x00
0000068c: DUP2
0000068d: DUP2
0000068e: MSTORE
0000068f: PUSH1 0x05
00000691: PUSH1 0x20
00000693: SWAP1
00000694: DUP2
00000695: MSTORE
00000696: PUSH1 0x40
00000698: DUP1
00000699: DUP4
0000069a: KECCAK256
0000069b: DUP4
0000069c: SWAP1
0000069d: SSTORE
0000069e: DUP1
0000069f: MLOAD
000006a0: SWAP3
000006a1: DUP4
000006a2: MSTORE
000006a3: MLOAD
000006a4: PUSH32 0xf0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f20
000006c5: SWAP3
000006c6: DUP2
000006c7: SWAP1
000006c8: SUB
000006c9: SWAP1
000006ca: SWAP2
000006cb: ADD
000006cc: SWAP1
000006cd: LOG2
000006ce: PUSH1 0x04
000006d0: SLOAD
000006d1: PUSH2 0x06e0
000006d4: SWAP1
000006d5: DUP3
000006d6: PUSH4 0xffffffff
000006db: PUSH2 0x0955
000006de: AND
000006df: JUMP
000006e0: JUMPDEST
000006e1: PUSH1 0x04
000006e3: SSTORE
000006e4: PUSH1 0x40
000006e6: DUP1
000006e7: MLOAD
000006e8: PUSH1 0x01
000006ea: PUSH1 0x01
000006ec: PUSH1 0xa0
000006ee: SHL
000006ef: SUB
000006f0: DUP5
000006f1: AND
000006f2: DUP2
000006f3: MSTORE
000006f4: PUSH1 0x20
000006f6: DUP2
000006f7: ADD
000006f8: DUP4
000006f9: SWAP1
000006fa: MSTORE
000006fb: DUP2
000006fc: MLOAD
000006fd: PUSH32 0x6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12
0000071e: SWAP3
0000071f: SWAP2
00000720: DUP2
00000721: SWAP1
00000722: SUB
00000723: SWAP1
00000724: SWAP2
00000725: ADD
00000726: SWAP1
00000727: LOG1
00000728: PUSH1 0x40
0000072a: MLOAD
0000072b: PUSH1 0x00
0000072d: SWAP1
0000072e: PUSH1 0x01
00000730: PUSH1 0x01
00000732: PUSH1 0xa0
00000734: SHL
00000735: SUB
00000736: DUP5
00000737: AND
00000738: SWAP1
00000739: DUP4
0000073a: SWAP1
0000073b: DUP4
0000073c: DUP2
0000073d: DUP2
0000073e: DUP2
0000073f: DUP6
00000740: DUP8
00000741: GAS
00000742: CALL
00000743: SWAP3
00000744: POP
00000745: POP
00000746: POP
00000747: RETURNDATASIZE
00000748: DUP1
00000749: PUSH1 0x00
0000074b: DUP2
0000074c: EQ
0000074d: PUSH2 0x0772
00000750: JUMPI
00000751: PUSH1 0x40
00000753: MLOAD
00000754: SWAP2
00000755: POP
00000756: PUSH1 0x1f
00000758: NOT
00000759: PUSH1 0x3f
0000075b: RETURNDATASIZE
0000075c: ADD
0000075d: AND
0000075e: DUP3
0000075f: ADD
00000760: PUSH1 0x40
00000762: MSTORE
00000763: RETURNDATASIZE
00000764: DUP3
00000765: MSTORE
00000766: RETURNDATASIZE
00000767: PUSH1 0x00
00000769: PUSH1 0x20
0000076b: DUP5
0000076c: ADD
0000076d: RETURNDATACOPY
0000076e: PUSH2 0x0777
00000771: JUMP
00000772: JUMPDEST
00000773: PUSH1 0x60
00000775: SWAP2
00000776: POP
00000777: JUMPDEST
00000778: POP
00000779: POP
0000077a: SWAP1
0000077b: POP
0000077c: DUP1
0000077d: PUSH2 0x050d
00000780: JUMPI
00000781: PUSH1 0x40
00000783: MLOAD
00000784: PUSH3 0x461bcd
00000788: PUSH1 0xe5
0000078a: SHL
0000078b: DUP2
0000078c: MSTORE
0000078d: PUSH1 0x04
0000078f: ADD
00000790: DUP1
00000791: DUP1
00000792: PUSH1 0x20
00000794: ADD
00000795: DUP3
00000796: DUP2
00000797: SUB
00000798: DUP3
00000799: MSTORE
0000079a: PUSH1 0x23
0000079c: DUP2
0000079d: MSTORE
0000079e: PUSH1 0x20
000007a0: ADD
000007a1: DUP1
000007a2: PUSH2 0x0a85
000007a5: PUSH1 0x23
000007a7: SWAP2
000007a8: CODECOPY
000007a9: PUSH1 0x40
000007ab: ADD
000007ac: SWAP2
000007ad: POP
000007ae: POP
000007af: PUSH1 0x40
000007b1: MLOAD
000007b2: DUP1
000007b3: SWAP2
000007b4: SUB
000007b5: SWAP1
000007b6: REVERT
000007b7: JUMPDEST
000007b8: PUSH1 0x01
000007ba: SLOAD
000007bb: PUSH1 0x01
000007bd: PUSH1 0x01
000007bf: PUSH1 0xa0
000007c1: SHL
000007c2: SUB
000007c3: AND
000007c4: DUP2
000007c5: JUMP
000007c6: JUMPDEST
000007c7: PUSH1 0x01
000007c9: PUSH1 0x01
000007cb: PUSH1 0xa0
000007cd: SHL
000007ce: SUB
000007cf: DUP2
000007d0: AND
000007d1: PUSH2 0x0821
000007d4: JUMPI
000007d5: PUSH1 0x40
000007d7: DUP1
000007d8: MLOAD
000007d9: PUSH3 0x461bcd
000007dd: PUSH1 0xe5
000007df: SHL
000007e0: DUP2
000007e1: MSTORE
000007e2: PUSH1 0x20
000007e4: PUSH1 0x04
000007e6: DUP3
000007e7: ADD
000007e8: MSTORE
000007e9: PUSH1 0x1e
000007eb: PUSH1 0x24
000007ed: DUP3
000007ee: ADD
000007ef: MSTORE
000007f0: PUSH32 0x4163636f756e742063616e6e6f74206265207a65726f20616464726573730000
00000811: PUSH1 0x44
00000813: DUP3
00000814: ADD
00000815: MSTORE
00000816: SWAP1
00000817: MLOAD
00000818: SWAP1
00000819: DUP2
0000081a: SWAP1
0000081b: SUB
0000081c: PUSH1 0x64
0000081e: ADD
0000081f: SWAP1
00000820: REVERT
00000821: JUMPDEST
00000822: DUP1
00000823: EXTCODESIZE
00000824: DUP1
00000825: PUSH2 0x0875
00000828: JUMPI
00000829: PUSH1 0x40
0000082b: DUP1
0000082c: MLOAD
0000082d: PUSH3 0x461bcd
00000831: PUSH1 0xe5
00000833: SHL
00000834: DUP2
00000835: MSTORE
00000836: PUSH1 0x20
00000838: PUSH1 0x04
0000083a: DUP3
0000083b: ADD
0000083c: DUP2
0000083d: SWAP1
0000083e: MSTORE
0000083f: PUSH1 0x24
00000841: DUP3
00000842: ADD
00000843: MSTORE
00000844: PUSH32 0x4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f
00000865: PUSH1 0x44
00000867: DUP3
00000868: ADD
00000869: MSTORE
0000086a: SWAP1
0000086b: MLOAD
0000086c: SWAP1
0000086d: DUP2
0000086e: SWAP1
0000086f: SUB
00000870: PUSH1 0x64
00000872: ADD
00000873: SWAP1
00000874: REVERT
00000875: JUMPDEST
00000876: POP
00000877: POP
00000878: JUMP
00000879: JUMPDEST
0000087a: PUSH1 0x00
0000087c: DUP1
0000087d: SLOAD
0000087e: PUSH1 0x40
00000880: MLOAD
00000881: PUSH1 0x01
00000883: PUSH1 0x01
00000885: PUSH1 0xa0
00000887: SHL
00000888: SUB
00000889: SWAP1
0000088a: SWAP2
0000088b: AND
0000088c: SWAP1
0000088d: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000008ae: SWAP1
000008af: DUP4
000008b0: SWAP1
000008b1: LOG3
000008b2: PUSH1 0x00
000008b4: DUP1
000008b5: SLOAD
000008b6: PUSH1 0x01
000008b8: PUSH1 0x01
000008ba: PUSH1 0xa0
000008bc: SHL
000008bd: SUB
000008be: NOT
000008bf: AND
000008c0: SWAP1
000008c1: SSTORE
000008c2: JUMP
000008c3: JUMPDEST
000008c4: PUSH1 0x02
000008c6: SLOAD
000008c7: PUSH1 0x01
000008c9: PUSH1 0x01
000008cb: PUSH1 0xa0
000008cd: SHL
000008ce: SUB
000008cf: AND
000008d0: CALLER
000008d1: EQ
000008d2: PUSH2 0x0343
000008d5: JUMPI
000008d6: PUSH1 0x40
000008d8: MLOAD
000008d9: PUSH3 0x461bcd
000008dd: PUSH1 0xe5
000008df: SHL
000008e0: DUP2
000008e1: MSTORE
000008e2: PUSH1 0x04
000008e4: ADD
000008e5: DUP1
000008e6: DUP1
000008e7: PUSH1 0x20
000008e9: ADD
000008ea: DUP3
000008eb: DUP2
000008ec: SUB
000008ed: DUP3
000008ee: MSTORE
000008ef: PUSH1 0x2b
000008f1: DUP2
000008f2: MSTORE
000008f3: PUSH1 0x20
000008f5: ADD
000008f6: DUP1
000008f7: PUSH2 0x0ada
000008fa: PUSH1 0x2b
000008fc: SWAP2
000008fd: CODECOPY
000008fe: PUSH1 0x40
00000900: ADD
00000901: SWAP2
00000902: POP
00000903: POP
00000904: PUSH1 0x40
00000906: MLOAD
00000907: DUP1
00000908: SWAP2
00000909: SUB
0000090a: SWAP1
0000090b: REVERT
0000090c: JUMPDEST
0000090d: PUSH1 0x01
0000090f: SLOAD
00000910: PUSH1 0x01
00000912: PUSH1 0x01
00000914: PUSH1 0xa0
00000916: SHL
00000917: SUB
00000918: AND
00000919: CALLER
0000091a: EQ
0000091b: PUSH2 0x0343
0000091e: JUMPI
0000091f: PUSH1 0x40
00000921: MLOAD
00000922: PUSH3 0x461bcd
00000926: PUSH1 0xe5
00000928: SHL
00000929: DUP2
0000092a: MSTORE
0000092b: PUSH1 0x04
0000092d: ADD
0000092e: DUP1
0000092f: DUP1
00000930: PUSH1 0x20
00000932: ADD
00000933: DUP3
00000934: DUP2
00000935: SUB
00000936: DUP3
00000937: MSTORE
00000938: PUSH1 0x32
0000093a: DUP2
0000093b: MSTORE
0000093c: PUSH1 0x20
0000093e: ADD
0000093f: DUP1
00000940: PUSH2 0x0aa8
00000943: PUSH1 0x32
00000945: SWAP2
00000946: CODECOPY
00000947: PUSH1 0x40
00000949: ADD
0000094a: SWAP2
0000094b: POP
0000094c: POP
0000094d: PUSH1 0x40
0000094f: MLOAD
00000950: DUP1
00000951: SWAP2
00000952: SUB
00000953: SWAP1
00000954: REVERT
00000955: JUMPDEST
00000956: PUSH1 0x00
00000958: PUSH2 0x039f
0000095b: DUP4
0000095c: DUP4
0000095d: PUSH1 0x40
0000095f: MLOAD
00000960: DUP1
00000961: PUSH1 0x40
00000963: ADD
00000964: PUSH1 0x40
00000966: MSTORE
00000967: DUP1
00000968: PUSH1 0x1e
0000096a: DUP2
0000096b: MSTORE
0000096c: PUSH1 0x20
0000096e: ADD
0000096f: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
00000990: DUP2
00000991: MSTORE
00000992: POP
00000993: PUSH1 0x00
00000995: DUP2
00000996: DUP5
00000997: DUP5
00000998: GT
00000999: ISZERO
0000099a: PUSH2 0x0a21
0000099d: JUMPI
0000099e: PUSH1 0x40
000009a0: MLOAD
000009a1: PUSH3 0x461bcd
000009a5: PUSH1 0xe5
000009a7: SHL
000009a8: DUP2
000009a9: MSTORE
000009aa: PUSH1 0x04
000009ac: ADD
000009ad: DUP1
000009ae: DUP1
000009af: PUSH1 0x20
000009b1: ADD
000009b2: DUP3
000009b3: DUP2
000009b4: SUB
000009b5: DUP3
000009b6: MSTORE
000009b7: DUP4
000009b8: DUP2
000009b9: DUP2
000009ba: MLOAD
000009bb: DUP2
000009bc: MSTORE
000009bd: PUSH1 0x20
000009bf: ADD
000009c0: SWAP2
000009c1: POP
000009c2: DUP1
000009c3: MLOAD
000009c4: SWAP1
000009c5: PUSH1 0x20
000009c7: ADD
000009c8: SWAP1
000009c9: DUP1
000009ca: DUP4
000009cb: DUP4
000009cc: PUSH1 0x00
000009ce: JUMPDEST
000009cf: DUP4
000009d0: DUP2
000009d1: LT
000009d2: ISZERO
000009d3: PUSH2 0x09e6
000009d6: JUMPI
000009d7: DUP2
000009d8: DUP2
000009d9: ADD
000009da: MLOAD
000009db: DUP4
000009dc: DUP3
000009dd: ADD
000009de: MSTORE
000009df: PUSH1 0x20
000009e1: ADD
000009e2: PUSH2 0x09ce
000009e5: JUMP
000009e6: JUMPDEST
000009e7: POP
000009e8: POP
000009e9: POP
000009ea: POP
000009eb: SWAP1
000009ec: POP
000009ed: SWAP1
000009ee: DUP2
000009ef: ADD
000009f0: SWAP1
000009f1: PUSH1 0x1f
000009f3: AND
000009f4: DUP1
000009f5: ISZERO
000009f6: PUSH2 0x0a13
000009f9: JUMPI
000009fa: DUP1
000009fb: DUP3
000009fc: SUB
000009fd: DUP1
000009fe: MLOAD
000009ff: PUSH1 0x01
00000a01: DUP4
00000a02: PUSH1 0x20
00000a04: SUB
00000a05: PUSH2 0x0100
00000a08: EXP
00000a09: SUB
00000a0a: NOT
00000a0b: AND
00000a0c: DUP2
00000a0d: MSTORE
00000a0e: PUSH1 0x20
00000a10: ADD
00000a11: SWAP2
00000a12: POP
00000a13: JUMPDEST
00000a14: POP
00000a15: SWAP3
00000a16: POP
00000a17: POP
00000a18: POP
00000a19: PUSH1 0x40
00000a1b: MLOAD
00000a1c: DUP1
00000a1d: SWAP2
00000a1e: SUB
00000a1f: SWAP1
00000a20: REVERT
00000a21: JUMPDEST
00000a22: POP
00000a23: POP
00000a24: POP
00000a25: SWAP1
00000a26: SUB
00000a27: SWAP1
00000a28: JUMP
00000a29: INVALID
00000a2a: NUMBER
00000a2b: PUSH16 0x6c6c537572706c7573506f6f6c3a204e
00000a3c: PUSH16 0x20636f6c6c61746572616c2061766169
00000a4d: PUSH13 0x61626c6520746f20636c61696d
00000a5b: NUMBER
00000a5c: PUSH16 0x6c6c537572706c7573506f6f6c3a2043
00000a6d: PUSH2 0x6c6c
00000a70: PUSH6 0x72206973206e
00000a77: PUSH16 0x742041637469766520506f6f6c436f6c
00000a88: PUSH13 0x537572706c7573506f6f6c3a20
00000a96: PUSH20 0x656e64696e6720455448206661696c6564436f6c
00000aab: PUSH13 0x537572706c7573506f6f6c3a20
00000ab9: NUMBER
00000aba: PUSH2 0x6c6c
00000abd: PUSH6 0x72206973206e
00000ac4: PUSH16 0x7420426f72726f776572204f70657261
00000ad5: PUSH21 0x696f6e73436f6c6c537572706c7573506f6f6c3a20
00000aeb: NUMBER
00000aec: PUSH2 0x6c6c
00000aef: PUSH6 0x72206973206e
00000af6: PUSH16 0x742054726f76654d616e61676572a264
00000b07: PUSH10 0x706673582212205c62ec
00000b12: UNKNOWN(0xC9)
00000b13: PUSH32 0x9f5526b5db37b771d7b27f5d5eaff569e0c7a7fe163ab7926e627c64736f6c63
00000b34: NUMBER
00000b35: STOP
00000b36: MOD
00000b37: SIGNEXTEND
00000b38: STOP
00000b39: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x6009d7aed826cf27cc832171164669872232fae7830f56e0d1a133f28ed25ca1
call_targets: 0x3d32e8b97ed5881324241cf03b2da5e2ebce5521
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x6009d7aed826cf27cc832171164669872232fae7830f56e0d1a133f28ed25ca1",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3d32e8b97ed5881324241cf03b2da5e2ebce5521"
    ],
    "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": "0x8f32d59b",
            "selector": "0x8f32d59b",
            "calldata_variants": [
                "0x8f32d59b",
                "0x8f32d59b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9b56d6c9",
            "selector": "0x9b56d6c9",
            "calldata_variants": [
                "0x9b56d6c9",
                "0x9b56d6c90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa3f4df7e",
            "selector": "0xa3f4df7e",
            "calldata_variants": [
                "0xa3f4df7e",
                "0xa3f4df7e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb08bc722",
            "selector": "0xb08bc722",
            "calldata_variants": [
                "0xb08bc722",
                "0xb08bc7220000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb32beb5b",
            "selector": "0xb32beb5b",
            "calldata_variants": [
                "0xb32beb5b",
                "0xb32beb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb7f8cf9b",
            "selector": "0xb7f8cf9b",
            "calldata_variants": [
                "0xb7f8cf9b",
                "0xb7f8cf9b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14f6c3be",
            "selector": "0x14f6c3be",
            "calldata_variants": [
                "0x14f6c3be",
                "0x14f6c3be0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x363bf964",
            "selector": "0x363bf964",
            "calldata_variants": [
                "0x363bf964",
                "0x363bf9640000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1858,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [],
    "untrusted_call_count": 1
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x6009d7aed826cf27cc832171164669872232fae7830f56e0d1a133f28ed25ca1
call_targets: 0x3d32e8b97ed5881324241cf03b2da5e2ebce5521
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x6009d7aed826cf27cc832171164669872232fae7830f56e0d1a133f28ed25ca1",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3d32e8b97ed5881324241cf03b2da5e2ebce5521"
    ],
    "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": "0x8f32d59b",
            "selector": "0x8f32d59b",
            "calldata_variants": [
                "0x8f32d59b",
                "0x8f32d59b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9b56d6c9",
            "selector": "0x9b56d6c9",
            "calldata_variants": [
                "0x9b56d6c9",
                "0x9b56d6c90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa3f4df7e",
            "selector": "0xa3f4df7e",
            "calldata_variants": [
                "0xa3f4df7e",
                "0xa3f4df7e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb08bc722",
            "selector": "0xb08bc722",
            "calldata_variants": [
                "0xb08bc722",
                "0xb08bc7220000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb32beb5b",
            "selector": "0xb32beb5b",
            "calldata_variants": [
                "0xb32beb5b",
                "0xb32beb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb7f8cf9b",
            "selector": "0xb7f8cf9b",
            "calldata_variants": [
                "0xb7f8cf9b",
                "0xb7f8cf9b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14f6c3be",
            "selector": "0x14f6c3be",
            "calldata_variants": [
                "0x14f6c3be",
                "0x14f6c3be0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x363bf964",
            "selector": "0x363bf964",
            "calldata_variants": [
                "0x363bf964",
                "0x363bf9640000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1858,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": []
}