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

Analysis Run

c967b9a5-cd21-4a3c-8766-c598741798b9

failed
Chain ID
1
Address
Block Number
Created
Thu, Jan 1, 2026 9:28 PM
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 DELEGATECALL target reachable
crit 0 high 0 proxy context implementation known
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
31138 report.consolidate complete 1 / 1 3 months ago
76642 artifact.fetch failed 1 / 3 1 week ago
76643 tool.cast_disasm complete 1 / 3 1 week ago
76644 analysis.bundle complete 1 / 3 1 week ago
76645 capability.graph complete 1 / 3 1 week ago
76646 detector.run complete 1 / 3 1 week ago
76647 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
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 profit paths found in the provided contracts.
View stderr
[codex:1140603] OpenAI Codex v0.77.0 (research preview)
[codex:1140603] --------
[codex:1140603] workdir: /tmp/codex-multi-d6drff8g
[codex:1140603] model: gpt-5.2-codex
[codex:1140603] provider: openai
[codex:1140603] approval: never
[codex:1140603] sandbox: read-only
[codex:1140603] reasoning effort: xhigh
[codex:1140603] reasoning summaries: auto
[codex:1140603] session id: 019b7b76-36a2-75b1-8172-ad964929254a
[codex:1140603] --------
[codex:1140603] user
[codex:1140603] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1140603] 
[codex:1140603] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1140603] 
[codex:1140603] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1140603] - Gas inefficiency, code quality, naming, or best practices
[codex:1140603] - Theoretical vulnerabilities without a clear extraction path
[codex:1140603] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1140603] - Front-running unless it enables theft beyond MEV
[codex:1140603] - DoS, griefing, or issues that don't result in attacker profit
[codex:1140603] - Missing events, view function issues, or informational findings
[codex:1140603] 
[codex:1140603] HIGH-VALUE PATTERNS TO HUNT:
[codex:1140603] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1140603] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1140603] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1140603] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1140603] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1140603] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1140603] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1140603] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1140603] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1140603] 
[codex:1140603] For each finding, you MUST provide:
[codex:1140603] 1. Exact file and line numbers of vulnerable code
[codex:1140603] 2. Step-by-step exploit transaction sequence
[codex:1140603] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1140603] 
[codex:1140603] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1140603] 
[codex:1140603] Output MUST be valid JSON matching the provided schema.
[codex:1140603] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1140603] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1140603] mcp startup: no servers
[codex:1140603] 
[codex:1140603] thinking
[codex:1140603] **Reading AUDIT_BUNDLE file**
[codex:1140603] exec
[codex:1140603] /bin/bash -lc ls in /tmp/codex-multi-d6drff8g succeeded in 5ms:
[codex:1140603] AUDIT_BUNDLE.txt
[codex:1140603] codex-output-schema.json
[codex:1140603] contracts
[codex:1140603] exec
[codex:1140603] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-d6drff8g succeeded in 5ms:
[codex:1140603] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1140603] 
[codex:1140603] ================================================================================
[codex:1140603] FILE: contracts/src/v1/Treasury.sol
[codex:1140603] ================================================================================
[codex:1140603] // SPDX-License-Identifier: UNLICENSED 
[codex:1140603] pragma solidity 0.8.21;
[codex:1140603] 
[codex:1140603] import { Initializable } from "openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol";
[codex:1140603] import { UUPSUpgradeable } from "openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol";
[codex:1140603] import { AccessControlUpgradeable} from "openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol";
[codex:1140603] import { ReentrancyGuardUpgradeable } from 
[codex:1140603]     "openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol";
[codex:1140603] import { PausableUpgradeable } from "openzeppelin-contracts-upgradeable/contracts/utils/PausableUpgradeable.sol";
[codex:1140603] import { ITreasury } from "./interfaces/ITreasury.sol";
[codex:1140603] import { ISemVer } from "./interfaces/ISemVer.sol";
[codex:1140603] 
[codex:1140603] /// @title Treasury
[codex:1140603] /// @dev Stores ether from the ether bridge or the owner and allows for emergency withdraws by the owner.
[codex:1140603] contract Treasury is
[codex:1140603] 
[codex:1140603] thinking
[codex:1140603] **Analyzing treasury contract for vulnerabilities**
[codex:1140603] codex
[codex:1140603] {"no_findings":true,"summary":"No concrete, exploitable profit paths found in the provided contracts.","findings":[]}
[codex:1140603] tokens used
[codex:1140603] 12,811
[codex:1140603] {"no_findings":true,"summary":"No concrete, exploitable profit paths found in the provided contracts.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-01T21:28:42.230051+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable profit paths found in the provided contracts.",
    "raw_final": {
        "summary": "No concrete, exploitable profit paths found in the provided contracts.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
1
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
2
Total opcodes
2727
Flags
delegatecall_present selfdestruct_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: DUP2
00000005: DUP2
00000006: MSTORE
00000007: PUSH1 0x04
00000009: SWAP2
0000000a: DUP3
0000000b: CALLDATASIZE
0000000c: LT
0000000d: ISZERO
0000000e: PUSH2 0x0016
00000011: JUMPI
00000012: PUSH1 0x00
00000014: DUP1
00000015: REVERT
00000016: JUMPDEST
00000017: PUSH1 0x00
00000019: SWAP3
0000001a: DUP4
0000001b: CALLDATALOAD
0000001c: PUSH1 0xe0
0000001e: SHR
0000001f: SWAP2
00000020: DUP3
00000021: PUSH4 0x01ffc9a7
00000026: EQ
00000027: PUSH2 0x0efd
0000002a: JUMPI
0000002b: POP
0000002c: DUP2
0000002d: PUSH4 0x03cb8499
00000032: EQ
00000033: PUSH2 0x0ec2
00000036: JUMPI
00000037: DUP2
00000038: PUSH4 0x1b9a91a4
0000003d: EQ
0000003e: PUSH2 0x0d2c
00000041: JUMPI
00000042: DUP2
00000043: PUSH4 0x1be99953
00000048: EQ
00000049: PUSH2 0x0cf1
0000004c: JUMPI
0000004d: DUP2
0000004e: PUSH4 0x20df4359
00000053: EQ
00000054: PUSH2 0x0cb6
00000057: JUMPI
00000058: DUP2
00000059: PUSH4 0x248a9ca3
0000005e: EQ
0000005f: PUSH2 0x0c7e
00000062: JUMPI
00000063: DUP2
00000064: PUSH4 0x2f2ff15d
00000069: EQ
0000006a: PUSH2 0x0c54
0000006d: JUMPI
0000006e: DUP2
0000006f: PUSH4 0x36568abe
00000074: EQ
00000075: PUSH2 0x0bf5
00000078: JUMPI
00000079: DUP2
0000007a: PUSH4 0x3f4ba83a
0000007f: EQ
00000080: PUSH2 0x0b0e
00000083: JUMPI
00000084: DUP2
00000085: PUSH4 0x439370b1
0000008a: EQ
0000008b: PUSH2 0x0a7f
0000008e: JUMPI
0000008f: DUP2
00000090: PUSH4 0x4442eab2
00000095: EQ
00000096: PUSH2 0x0a1b
00000099: JUMPI
0000009a: DUP2
0000009b: PUSH4 0x4f1ef286
000000a0: EQ
000000a1: PUSH2 0x0720
000000a4: JUMPI
000000a5: DUP2
000000a6: PUSH4 0x52d1902d
000000ab: EQ
000000ac: PUSH2 0x06a4
000000af: JUMPI
000000b0: DUP2
000000b1: PUSH4 0x5312ea8e
000000b6: EQ
000000b7: PUSH2 0x05da
000000ba: JUMPI
000000bb: DUP2
000000bc: PUSH4 0x5c975abb
000000c1: EQ
000000c2: PUSH2 0x0597
000000c5: JUMPI
000000c6: DUP2
000000c7: PUSH4 0x6c2eb350
000000cc: EQ
000000cd: PUSH2 0x042b
000000d0: JUMPI
000000d1: DUP2
000000d2: PUSH4 0x8456cb59
000000d7: EQ
000000d8: PUSH2 0x0352
000000db: JUMPI
000000dc: DUP2
000000dd: PUSH4 0x91d14854
000000e2: EQ
000000e3: PUSH2 0x02ff
000000e6: JUMPI
000000e7: DUP2
000000e8: PUSH4 0xa217fddf
000000ed: EQ
000000ee: PUSH2 0x02e4
000000f1: JUMPI
000000f2: DUP2
000000f3: PUSH4 0xa3b0b5a3
000000f8: EQ
000000f9: PUSH2 0x02a9
000000fc: JUMPI
000000fd: DUP2
000000fe: PUSH4 0xad3cb1cc
00000103: EQ
00000104: PUSH2 0x01f5
00000107: JUMPI
00000108: DUP2
00000109: PUSH4 0xd547741f
0000010e: EQ
0000010f: PUSH2 0x01a4
00000112: JUMPI
00000113: POP
00000114: DUP1
00000115: PUSH4 0xe63ab1e9
0000011a: EQ
0000011b: PUSH2 0x016a
0000011e: JUMPI
0000011f: PUSH4 0xf72c0d8b
00000124: EQ
00000125: PUSH2 0x012d
00000128: JUMPI
00000129: PUSH1 0x00
0000012b: DUP1
0000012c: REVERT
0000012d: JUMPDEST
0000012e: CALLVALUE
0000012f: PUSH2 0x0166
00000132: JUMPI
00000133: DUP2
00000134: PUSH1 0x03
00000136: NOT
00000137: CALLDATASIZE
00000138: ADD
00000139: SLT
0000013a: PUSH2 0x0166
0000013d: JUMPI
0000013e: PUSH1 0x20
00000140: SWAP1
00000141: MLOAD
00000142: PUSH32 0x0fb7166d9f681d2bd296a45a1a2e81365c392be30b6156d73b45df44e85cdb9f
00000163: DUP2
00000164: MSTORE
00000165: RETURN
00000166: JUMPDEST
00000167: POP
00000168: DUP1
00000169: REVERT
0000016a: JUMPDEST
0000016b: POP
0000016c: CALLVALUE
0000016d: PUSH2 0x0166
00000170: JUMPI
00000171: DUP2
00000172: PUSH1 0x03
00000174: NOT
00000175: CALLDATASIZE
00000176: ADD
00000177: SLT
00000178: PUSH2 0x0166
0000017b: JUMPI
0000017c: PUSH1 0x20
0000017e: SWAP1
0000017f: MLOAD
00000180: PUSH32 0x39935d86204acf3d77da26425d7a46606d2550568c6b1876f3a2e76c804c7626
000001a1: DUP2
000001a2: MSTORE
000001a3: RETURN
000001a4: JUMPDEST
000001a5: SWAP2
000001a6: SWAP1
000001a7: POP
000001a8: CALLVALUE
000001a9: PUSH2 0x01f1
000001ac: JUMPI
000001ad: DUP1
000001ae: PUSH1 0x03
000001b0: NOT
000001b1: CALLDATASIZE
000001b2: ADD
000001b3: SLT
000001b4: PUSH2 0x01f1
000001b7: JUMPI
000001b8: PUSH2 0x01ed
000001bb: SWAP2
000001bc: CALLDATALOAD
000001bd: PUSH2 0x01e8
000001c0: PUSH1 0x01
000001c2: PUSH2 0x01c9
000001c5: PUSH2 0x0fb6
000001c8: JUMP
000001c9: JUMPDEST
000001ca: SWAP4
000001cb: DUP4
000001cc: DUP8
000001cd: MSTORE
000001ce: PUSH1 0x00
000001d0: DUP1
000001d1: MLOAD
000001d2: PUSH1 0x20
000001d4: PUSH2 0x1648
000001d7: DUP4
000001d8: CODECOPY
000001d9: DUP2
000001da: MLOAD
000001db: SWAP2
000001dc: MSTORE
000001dd: PUSH1 0x20
000001df: MSTORE
000001e0: DUP7
000001e1: KECCAK256
000001e2: ADD
000001e3: SLOAD
000001e4: PUSH2 0x103c
000001e7: JUMP
000001e8: JUMPDEST
000001e9: PUSH2 0x14ab
000001ec: JUMP
000001ed: JUMPDEST
000001ee: POP
000001ef: DUP1
000001f0: RETURN
000001f1: JUMPDEST
000001f2: DUP3
000001f3: DUP1
000001f4: REVERT
000001f5: JUMPDEST
000001f6: SWAP1
000001f7: POP
000001f8: CALLVALUE
000001f9: PUSH2 0x01f1
000001fc: JUMPI
000001fd: DUP3
000001fe: PUSH1 0x03
00000200: NOT
00000201: CALLDATASIZE
00000202: ADD
00000203: SLT
00000204: PUSH2 0x01f1
00000207: JUMPI
00000208: DUP2
00000209: MLOAD
0000020a: SWAP1
0000020b: DUP3
0000020c: DUP3
0000020d: ADD
0000020e: SWAP1
0000020f: DUP3
00000210: DUP3
00000211: LT
00000212: PUSH8 0xffffffffffffffff
0000021b: DUP4
0000021c: GT
0000021d: OR
0000021e: PUSH2 0x0296
00000221: JUMPI
00000222: POP
00000223: DUP3
00000224: MSTORE
00000225: PUSH1 0x05
00000227: DUP2
00000228: MSTORE
00000229: PUSH1 0x20
0000022b: SWAP1
0000022c: PUSH32 0x352e302e30000000000000000000000000000000000000000000000000000000
0000024d: DUP3
0000024e: DUP3
0000024f: ADD
00000250: MSTORE
00000251: DUP3
00000252: MLOAD
00000253: SWAP4
00000254: DUP3
00000255: DUP6
00000256: SWAP4
00000257: DUP5
00000258: MSTORE
00000259: DUP3
0000025a: MLOAD
0000025b: SWAP3
0000025c: DUP4
0000025d: DUP3
0000025e: DUP7
0000025f: ADD
00000260: MSTORE
00000261: DUP3
00000262: JUMPDEST
00000263: DUP5
00000264: DUP2
00000265: LT
00000266: PUSH2 0x0280
00000269: JUMPI
0000026a: POP
0000026b: POP
0000026c: POP
0000026d: DUP3
0000026e: DUP3
0000026f: ADD
00000270: DUP5
00000271: ADD
00000272: MSTORE
00000273: PUSH1 0x1f
00000275: ADD
00000276: PUSH1 0x1f
00000278: NOT
00000279: AND
0000027a: DUP2
0000027b: ADD
0000027c: SUB
0000027d: ADD
0000027e: SWAP1
0000027f: RETURN
00000280: JUMPDEST
00000281: DUP2
00000282: DUP2
00000283: ADD
00000284: DUP4
00000285: ADD
00000286: MLOAD
00000287: DUP9
00000288: DUP3
00000289: ADD
0000028a: DUP9
0000028b: ADD
0000028c: MSTORE
0000028d: DUP8
0000028e: SWAP6
0000028f: POP
00000290: DUP3
00000291: ADD
00000292: PUSH2 0x0262
00000295: JUMP
00000296: JUMPDEST
00000297: DUP5
00000298: PUSH1 0x41
0000029a: PUSH1 0x24
0000029c: SWAP3
0000029d: PUSH4 0x4e487b71
000002a2: PUSH1 0xe0
000002a4: SHL
000002a5: DUP4
000002a6: MSTORE
000002a7: MSTORE
000002a8: REVERT
000002a9: JUMPDEST
000002aa: POP
000002ab: POP
000002ac: CALLVALUE
000002ad: PUSH2 0x0166
000002b0: JUMPI
000002b1: DUP2
000002b2: PUSH1 0x03
000002b4: NOT
000002b5: CALLDATASIZE
000002b6: ADD
000002b7: SLT
000002b8: PUSH2 0x0166
000002bb: JUMPI
000002bc: PUSH1 0x20
000002be: SWAP1
000002bf: MLOAD
000002c0: PUSH32 0xd50fd8c1b5fa5213a5974932fcc33d2992a99225bc9319caf7cf652d0d2b9acf
000002e1: DUP2
000002e2: MSTORE
000002e3: RETURN
000002e4: JUMPDEST
000002e5: POP
000002e6: POP
000002e7: CALLVALUE
000002e8: PUSH2 0x0166
000002eb: JUMPI
000002ec: DUP2
000002ed: PUSH1 0x03
000002ef: NOT
000002f0: CALLDATASIZE
000002f1: ADD
000002f2: SLT
000002f3: PUSH2 0x0166
000002f6: JUMPI
000002f7: MLOAD
000002f8: SWAP1
000002f9: DUP2
000002fa: MSTORE
000002fb: PUSH1 0x20
000002fd: SWAP1
000002fe: RETURN
000002ff: JUMPDEST
00000300: SWAP1
00000301: POP
00000302: CALLVALUE
00000303: PUSH2 0x01f1
00000306: JUMPI
00000307: DUP2
00000308: PUSH1 0x03
0000030a: NOT
0000030b: CALLDATASIZE
0000030c: ADD
0000030d: SLT
0000030e: PUSH2 0x01f1
00000311: JUMPI
00000312: DUP2
00000313: PUSH1 0x20
00000315: SWAP4
00000316: PUSH1 0xff
00000318: SWAP3
00000319: PUSH2 0x0320
0000031c: PUSH2 0x0fb6
0000031f: JUMP
00000320: JUMPDEST
00000321: SWAP1
00000322: CALLDATALOAD
00000323: DUP3
00000324: MSTORE
00000325: PUSH1 0x00
00000327: DUP1
00000328: MLOAD
00000329: PUSH1 0x20
0000032b: PUSH2 0x1648
0000032e: DUP4
0000032f: CODECOPY
00000330: DUP2
00000331: MLOAD
00000332: SWAP2
00000333: MSTORE
00000334: DUP7
00000335: MSTORE
00000336: PUSH1 0x01
00000338: PUSH1 0x01
0000033a: PUSH1 0xa0
0000033c: SHL
0000033d: SUB
0000033e: DUP4
0000033f: DUP4
00000340: KECCAK256
00000341: SWAP2
00000342: AND
00000343: DUP3
00000344: MSTORE
00000345: DUP6
00000346: MSTORE
00000347: KECCAK256
00000348: SLOAD
00000349: AND
0000034a: SWAP1
0000034b: MLOAD
0000034c: SWAP1
0000034d: ISZERO
0000034e: ISZERO
0000034f: DUP2
00000350: MSTORE
00000351: RETURN
00000352: JUMPDEST
00000353: SWAP1
00000354: POP
00000355: CALLVALUE
00000356: PUSH2 0x01f1
00000359: JUMPI
0000035a: DUP3
0000035b: PUSH1 0x03
0000035d: NOT
0000035e: CALLDATASIZE
0000035f: ADD
00000360: SLT
00000361: PUSH2 0x01f1
00000364: JUMPI
00000365: PUSH32 0x39935d86204acf3d77da26425d7a46606d2550568c6b1876f3a2e76c804c7626
00000386: DUP1
00000387: DUP5
00000388: MSTORE
00000389: PUSH1 0x00
0000038b: DUP1
0000038c: MLOAD
0000038d: PUSH1 0x20
0000038f: PUSH2 0x1648
00000392: DUP4
00000393: CODECOPY
00000394: DUP2
00000395: MLOAD
00000396: SWAP2
00000397: MSTORE
00000398: PUSH1 0x20
0000039a: MSTORE
0000039b: DUP3
0000039c: DUP5
0000039d: KECCAK256
0000039e: CALLER
0000039f: DUP6
000003a0: MSTORE
000003a1: PUSH1 0x20
000003a3: MSTORE
000003a4: PUSH1 0xff
000003a6: DUP4
000003a7: DUP6
000003a8: KECCAK256
000003a9: SLOAD
000003aa: AND
000003ab: ISZERO
000003ac: PUSH2 0x0410
000003af: JUMPI
000003b0: DUP4
000003b1: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
000003d2: PUSH1 0x20
000003d4: DUP6
000003d5: PUSH2 0x03dc
000003d8: PUSH2 0x15f2
000003db: JUMP
000003dc: JUMPDEST
000003dd: PUSH32 0xcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300
000003fe: DUP1
000003ff: SLOAD
00000400: PUSH1 0xff
00000402: NOT
00000403: AND
00000404: PUSH1 0x01
00000406: OR
00000407: SWAP1
00000408: SSTORE
00000409: MLOAD
0000040a: CALLER
0000040b: DUP2
0000040c: MSTORE
0000040d: LOG1
0000040e: DUP1
0000040f: RETURN
00000410: JUMPDEST
00000411: PUSH1 0x44
00000413: SWAP3
00000414: MLOAD
00000415: SWAP2
00000416: PUSH4 0xe2517d3f
0000041b: PUSH1 0xe0
0000041d: SHL
0000041e: DUP4
0000041f: MSTORE
00000420: CALLER
00000421: SWAP1
00000422: DUP4
00000423: ADD
00000424: MSTORE
00000425: PUSH1 0x24
00000427: DUP3
00000428: ADD
00000429: MSTORE
0000042a: REVERT
0000042b: JUMPDEST
0000042c: SWAP1
0000042d: POP
0000042e: CALLVALUE
0000042f: PUSH2 0x01f1
00000432: JUMPI
00000433: DUP3
00000434: PUSH1 0x03
00000436: NOT
00000437: CALLDATASIZE
00000438: ADD
00000439: SLT
0000043a: PUSH2 0x01f1
0000043d: JUMPI
0000043e: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
0000045f: SWAP1
00000460: DUP2
00000461: SLOAD
00000462: PUSH1 0xff
00000464: DUP2
00000465: DUP6
00000466: SHR
00000467: AND
00000468: DUP1
00000469: ISZERO
0000046a: PUSH2 0x0582
0000046d: JUMPI
0000046e: JUMPDEST
0000046f: PUSH2 0x0573
00000472: JUMPI
00000473: PUSH9 0xffffffffffffffffff
0000047d: NOT
0000047e: AND
0000047f: PUSH9 0x010000000000000002
00000489: OR
0000048a: DUP3
0000048b: SSTORE
0000048c: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300
000004ad: SLOAD
000004ae: PUSH1 0x01
000004b0: PUSH1 0x01
000004b2: PUSH1 0xa0
000004b4: SHL
000004b5: SUB
000004b6: AND
000004b7: SWAP1
000004b8: DUP2
000004b9: ISZERO
000004ba: PUSH2 0x0565
000004bd: JUMPI
000004be: POP
000004bf: SWAP2
000004c0: PUSH1 0x20
000004c2: SWAP2
000004c3: PUSH2 0x0541
000004c6: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2
000004e7: SWAP5
000004e8: PUSH32 0xea56cfeef65597111833653b9053542ffbcb86637a9920cc21664295169040fd
00000509: DUP5
0000050a: DUP1
0000050b: MLOAD
0000050c: CALLER
0000050d: DUP2
0000050e: MSTORE
0000050f: DUP4
00000510: DUP9
00000511: DUP3
00000512: ADD
00000513: MSTORE
00000514: LOG1
00000515: PUSH2 0x051d
00000518: DUP2
00000519: PUSH2 0x108d
0000051c: JUMP
0000051d: JUMPDEST
0000051e: POP
0000051f: PUSH2 0x0527
00000522: DUP2
00000523: PUSH2 0x112d
00000526: JUMP
00000527: JUMPDEST
00000528: POP
00000529: PUSH2 0x0531
0000052c: DUP2
0000052d: PUSH2 0x11ef
00000530: JUMP
00000531: JUMPDEST
00000532: POP
00000533: PUSH2 0x053b
00000536: DUP2
00000537: PUSH2 0x12ab
0000053a: JUMP
0000053b: JUMPDEST
0000053c: POP
0000053d: PUSH2 0x1367
00000540: JUMP
00000541: JUMPDEST
00000542: POP
00000543: PUSH2 0x054b
00000546: CALLER
00000547: PUSH2 0x108d
0000054a: JUMP
0000054b: JUMPDEST
0000054c: POP
0000054d: DUP1
0000054e: SLOAD
0000054f: PUSH9 0xff0000000000000000
00000559: NOT
0000055a: AND
0000055b: SWAP1
0000055c: SSTORE
0000055d: MLOAD
0000055e: PUSH1 0x02
00000560: DUP2
00000561: MSTORE
00000562: LOG1
00000563: DUP1
00000564: RETURN
00000565: JUMPDEST
00000566: DUP4
00000567: MLOAD
00000568: PUSH4 0xf92ee8a9
0000056d: PUSH1 0xe0
0000056f: SHL
00000570: DUP2
00000571: MSTORE
00000572: REVERT
00000573: JUMPDEST
00000574: POP
00000575: DUP3
00000576: MLOAD
00000577: PUSH4 0xf92ee8a9
0000057c: PUSH1 0xe0
0000057e: SHL
0000057f: DUP2
00000580: MSTORE
00000581: REVERT
00000582: JUMPDEST
00000583: POP
00000584: PUSH1 0x02
00000586: PUSH8 0xffffffffffffffff
0000058f: DUP3
00000590: AND
00000591: LT
00000592: ISZERO
00000593: PUSH2 0x046e
00000596: JUMP
00000597: JUMPDEST
00000598: POP
00000599: POP
0000059a: CALLVALUE
0000059b: PUSH2 0x0166
0000059e: JUMPI
0000059f: DUP2
000005a0: PUSH1 0x03
000005a2: NOT
000005a3: CALLDATASIZE
000005a4: ADD
000005a5: SLT
000005a6: PUSH2 0x0166
000005a9: JUMPI
000005aa: PUSH1 0x20
000005ac: SWAP1
000005ad: PUSH1 0xff
000005af: PUSH32 0xcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300
000005d0: SLOAD
000005d1: AND
000005d2: SWAP1
000005d3: MLOAD
000005d4: SWAP1
000005d5: ISZERO
000005d6: ISZERO
000005d7: DUP2
000005d8: MSTORE
000005d9: RETURN
000005da: JUMPDEST
000005db: SWAP2
000005dc: SWAP1
000005dd: POP
000005de: CALLVALUE
000005df: PUSH2 0x01f1
000005e2: JUMPI
000005e3: PUSH1 0x20
000005e5: CALLDATASIZE
000005e6: PUSH1 0x03
000005e8: NOT
000005e9: ADD
000005ea: SLT
000005eb: PUSH2 0x01f1
000005ee: JUMPI
000005ef: DUP2
000005f0: CALLDATALOAD
000005f1: SWAP2
000005f2: PUSH32 0x9e97963c33348a1cae64c3216747be51682ee42f36d1ed282cb81018cdb30e3d
00000613: DUP1
00000614: DUP6
00000615: MSTORE
00000616: PUSH1 0x00
00000618: DUP1
00000619: MLOAD
0000061a: PUSH1 0x20
0000061c: PUSH2 0x1648
0000061f: DUP4
00000620: CODECOPY
00000621: DUP2
00000622: MLOAD
00000623: SWAP2
00000624: MSTORE
00000625: PUSH1 0x20
00000627: MSTORE
00000628: DUP3
00000629: DUP6
0000062a: KECCAK256
0000062b: CALLER
0000062c: DUP7
0000062d: MSTORE
0000062e: PUSH1 0x20
00000630: MSTORE
00000631: PUSH1 0xff
00000633: DUP4
00000634: DUP7
00000635: KECCAK256
00000636: SLOAD
00000637: AND
00000638: ISZERO
00000639: PUSH2 0x0410
0000063c: JUMPI
0000063d: POP
0000063e: DUP3
0000063f: SELFBALANCE
00000640: LT
00000641: PUSH2 0x0696
00000644: JUMPI
00000645: DUP4
00000646: DUP1
00000647: DUP1
00000648: DUP1
00000649: DUP7
0000064a: CALLER
0000064b: GAS
0000064c: CALL
0000064d: PUSH2 0x0654
00000650: PUSH2 0x152f
00000653: JUMP
00000654: JUMPDEST
00000655: POP
00000656: ISZERO
00000657: PUSH2 0x0688
0000065a: JUMPI
0000065b: POP
0000065c: MLOAD
0000065d: SWAP1
0000065e: DUP2
0000065f: MSTORE
00000660: PUSH32 0x8bc1e000092be4d2cfc113dc7fd97b390d3459e1491c422f8ac30e572f364f47
00000681: PUSH1 0x20
00000683: CALLER
00000684: SWAP3
00000685: LOG2
00000686: DUP1
00000687: RETURN
00000688: JUMPDEST
00000689: SWAP1
0000068a: MLOAD
0000068b: PUSH4 0x01c6e79f
00000690: PUSH1 0xe3
00000692: SHL
00000693: DUP2
00000694: MSTORE
00000695: REVERT
00000696: JUMPDEST
00000697: SWAP1
00000698: MLOAD
00000699: PUSH4 0x356680b7
0000069e: PUSH1 0xe0
000006a0: SHL
000006a1: DUP2
000006a2: MSTORE
000006a3: REVERT
000006a4: JUMPDEST
000006a5: DUP3
000006a6: DUP5
000006a7: CALLVALUE
000006a8: PUSH2 0x071d
000006ab: JUMPI
000006ac: DUP1
000006ad: PUSH1 0x03
000006af: NOT
000006b0: CALLDATASIZE
000006b1: ADD
000006b2: SLT
000006b3: PUSH2 0x071d
000006b6: JUMPI
000006b7: POP
000006b8: PUSH1 0x01
000006ba: PUSH1 0x01
000006bc: PUSH1 0xa0
000006be: SHL
000006bf: SUB
000006c0: PUSH32 0x000000000000000000000000f1f7a359c3f33ee8a66bdcbf4c897d25caf90978
000006e1: AND
000006e2: ADDRESS
000006e3: SUB
000006e4: PUSH2 0x0710
000006e7: JUMPI
000006e8: PUSH1 0x20
000006ea: SWAP1
000006eb: MLOAD
000006ec: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
0000070d: DUP2
0000070e: MSTORE
0000070f: RETURN
00000710: JUMPDEST
00000711: MLOAD
00000712: PUSH4 0x703e46dd
00000717: PUSH1 0xe1
00000719: SHL
0000071a: DUP2
0000071b: MSTORE
0000071c: REVERT
0000071d: JUMPDEST
0000071e: DUP1
0000071f: REVERT
00000720: JUMPDEST
00000721: SWAP2
00000722: DUP1
00000723: SWAP2
00000724: POP
00000725: PUSH1 0x03
00000727: NOT
00000728: CALLDATASIZE
00000729: ADD
0000072a: SLT
0000072b: PUSH2 0x01f1
0000072e: JUMPI
0000072f: PUSH2 0x0736
00000732: PUSH2 0x0f9b
00000735: JUMP
00000736: JUMPDEST
00000737: SWAP1
00000738: PUSH1 0x24
0000073a: SWAP4
0000073b: DUP5
0000073c: CALLDATALOAD
0000073d: PUSH8 0xffffffffffffffff
00000746: DUP2
00000747: GT
00000748: PUSH2 0x0166
0000074b: JUMPI
0000074c: CALLDATASIZE
0000074d: PUSH1 0x23
0000074f: DUP3
00000750: ADD
00000751: SLT
00000752: ISZERO
00000753: PUSH2 0x0166
00000756: JUMPI
00000757: DUP1
00000758: DUP6
00000759: ADD
0000075a: CALLDATALOAD
0000075b: SWAP4
0000075c: PUSH2 0x0764
0000075f: DUP6
00000760: PUSH2 0x1020
00000763: JUMP
00000764: JUMPDEST
00000765: PUSH2 0x0770
00000768: DUP6
00000769: MLOAD
0000076a: SWAP2
0000076b: DUP3
0000076c: PUSH2 0x0ffe
0000076f: JUMP
00000770: JUMPDEST
00000771: DUP6
00000772: DUP2
00000773: MSTORE
00000774: PUSH1 0x20
00000776: SWAP6
00000777: DUP7
00000778: DUP3
00000779: ADD
0000077a: SWAP4
0000077b: CALLDATASIZE
0000077c: DUP11
0000077d: DUP4
0000077e: DUP4
0000077f: ADD
00000780: ADD
00000781: GT
00000782: PUSH2 0x09b7
00000785: JUMPI
00000786: DUP2
00000787: DUP7
00000788: SWAP3
00000789: DUP12
0000078a: DUP11
0000078b: SWAP4
0000078c: ADD
0000078d: DUP8
0000078e: CALLDATACOPY
0000078f: DUP4
00000790: ADD
00000791: ADD
00000792: MSTORE
00000793: PUSH1 0x01
00000795: PUSH1 0x01
00000797: PUSH1 0xa0
00000799: SHL
0000079a: SUB
0000079b: DUP1
0000079c: PUSH32 0x000000000000000000000000f1f7a359c3f33ee8a66bdcbf4c897d25caf90978
000007bd: AND
000007be: DUP1
000007bf: ADDRESS
000007c0: EQ
000007c1: SWAP1
000007c2: DUP2
000007c3: ISZERO
000007c4: PUSH2 0x09ed
000007c7: JUMPI
000007c8: JUMPDEST
000007c9: POP
000007ca: PUSH2 0x09de
000007cd: JUMPI
000007ce: PUSH32 0x0fb7166d9f681d2bd296a45a1a2e81365c392be30b6156d73b45df44e85cdb9f
000007ef: DUP1
000007f0: DUP7
000007f1: MSTORE
000007f2: PUSH1 0x00
000007f4: DUP1
000007f5: MLOAD
000007f6: PUSH1 0x20
000007f8: PUSH2 0x1648
000007fb: DUP4
000007fc: CODECOPY
000007fd: DUP2
000007fe: MLOAD
000007ff: SWAP2
00000800: MSTORE
00000801: DUP9
00000802: MSTORE
00000803: DUP7
00000804: DUP7
00000805: KECCAK256
00000806: CALLER
00000807: DUP8
00000808: MSTORE
00000809: DUP9
0000080a: MSTORE
0000080b: PUSH1 0xff
0000080d: DUP8
0000080e: DUP8
0000080f: KECCAK256
00000810: SLOAD
00000811: AND
00000812: ISZERO
00000813: PUSH2 0x09c2
00000816: JUMPI
00000817: POP
00000818: DUP3
00000819: AND
0000081a: SWAP6
0000081b: DUP6
0000081c: MLOAD
0000081d: SWAP1
0000081e: PUSH32 0x52d1902d00000000000000000000000000000000000000000000000000000000
0000083f: DUP3
00000840: MSTORE
00000841: DUP1
00000842: DUP3
00000843: DUP11
00000844: DUP2
00000845: DUP12
00000846: GAS
00000847: STATICCALL
00000848: SWAP2
00000849: DUP3
0000084a: SWAP2
0000084b: DUP8
0000084c: SWAP4
0000084d: PUSH2 0x098e
00000850: JUMPI
00000851: JUMPDEST
00000852: POP
00000853: POP
00000854: PUSH2 0x086d
00000857: JUMPI
00000858: POP
00000859: POP
0000085a: POP
0000085b: POP
0000085c: POP
0000085d: MLOAD
0000085e: SWAP2
0000085f: PUSH4 0x4c9c8ce3
00000864: PUSH1 0xe0
00000866: SHL
00000867: DUP4
00000868: MSTORE
00000869: DUP3
0000086a: ADD
0000086b: MSTORE
0000086c: REVERT
0000086d: JUMPDEST
0000086e: DUP7
0000086f: DUP10
00000870: SWAP7
00000871: DUP10
00000872: SWAP3
00000873: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00000894: SWAP1
00000895: DUP2
00000896: DUP2
00000897: SUB
00000898: PUSH2 0x0960
0000089b: JUMPI
0000089c: POP
0000089d: DUP6
0000089e: EXTCODESIZE
0000089f: ISZERO
000008a0: PUSH2 0x094b
000008a3: JUMPI
000008a4: DUP1
000008a5: SLOAD
000008a6: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000008c7: AND
000008c8: DUP4
000008c9: OR
000008ca: SWAP1
000008cb: SSTORE
000008cc: MLOAD
000008cd: DUP7
000008ce: SWAP4
000008cf: SWAP3
000008d0: SWAP2
000008d1: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
000008f2: DUP6
000008f3: DUP1
000008f4: LOG2
000008f5: DUP3
000008f6: MLOAD
000008f7: ISZERO
000008f8: PUSH2 0x0916
000008fb: JUMPI
000008fc: POP
000008fd: POP
000008fe: PUSH2 0x01ed
00000901: SWAP4
00000902: DUP3
00000903: SWAP2
00000904: MLOAD
00000905: SWAP1
00000906: DUP5
00000907: GAS
00000908: DELEGATECALL
00000909: PUSH2 0x0910
0000090c: PUSH2 0x152f
0000090f: JUMP
00000910: JUMPDEST
00000911: SWAP2
00000912: PUSH2 0x155f
00000915: JUMP
00000916: JUMPDEST
00000917: SWAP4
00000918: POP
00000919: SWAP4
0000091a: POP
0000091b: POP
0000091c: POP
0000091d: CALLVALUE
0000091e: PUSH2 0x0926
00000921: JUMPI
00000922: POP
00000923: POP
00000924: DUP1
00000925: RETURN
00000926: JUMPDEST
00000927: PUSH32 0xb398979f00000000000000000000000000000000000000000000000000000000
00000948: DUP2
00000949: MSTORE
0000094a: REVERT
0000094b: JUMPDEST
0000094c: POP
0000094d: DUP8
0000094e: SWAP4
0000094f: POP
00000950: MLOAD
00000951: SWAP2
00000952: PUSH4 0x4c9c8ce3
00000957: PUSH1 0xe0
00000959: SHL
0000095a: DUP4
0000095b: MSTORE
0000095c: DUP3
0000095d: ADD
0000095e: MSTORE
0000095f: REVERT
00000960: JUMPDEST
00000961: DUP5
00000962: DUP11
00000963: SWAP2
00000964: DUP5
00000965: MLOAD
00000966: SWAP2
00000967: PUSH32 0xaa1d49a400000000000000000000000000000000000000000000000000000000
00000988: DUP4
00000989: MSTORE
0000098a: DUP3
0000098b: ADD
0000098c: MSTORE
0000098d: REVERT
0000098e: JUMPDEST
0000098f: SWAP1
00000990: DUP1
00000991: SWAP3
00000992: SWAP4
00000993: POP
00000994: DUP2
00000995: RETURNDATASIZE
00000996: DUP4
00000997: GT
00000998: PUSH2 0x09bb
0000099b: JUMPI
0000099c: JUMPDEST
0000099d: PUSH2 0x09a6
000009a0: DUP2
000009a1: DUP4
000009a2: PUSH2 0x0ffe
000009a5: JUMP
000009a6: JUMPDEST
000009a7: DUP2
000009a8: ADD
000009a9: SUB
000009aa: SLT
000009ab: PUSH2 0x09b7
000009ae: JUMPI
000009af: MLOAD
000009b0: SWAP1
000009b1: CODESIZE
000009b2: DUP1
000009b3: PUSH2 0x0851
000009b6: JUMP
000009b7: JUMPDEST
000009b8: DUP6
000009b9: DUP1
000009ba: REVERT
000009bb: JUMPDEST
000009bc: POP
000009bd: RETURNDATASIZE
000009be: PUSH2 0x099c
000009c1: JUMP
000009c2: JUMPDEST
000009c3: DUP9
000009c4: PUSH1 0x44
000009c6: SWAP2
000009c7: DUP12
000009c8: DUP10
000009c9: MLOAD
000009ca: SWAP3
000009cb: PUSH4 0xe2517d3f
000009d0: PUSH1 0xe0
000009d2: SHL
000009d3: DUP5
000009d4: MSTORE
000009d5: CALLER
000009d6: SWAP1
000009d7: DUP5
000009d8: ADD
000009d9: MSTORE
000009da: DUP3
000009db: ADD
000009dc: MSTORE
000009dd: REVERT
000009de: JUMPDEST
000009df: DUP8
000009e0: DUP7
000009e1: MLOAD
000009e2: PUSH4 0x703e46dd
000009e7: PUSH1 0xe1
000009e9: SHL
000009ea: DUP2
000009eb: MSTORE
000009ec: REVERT
000009ed: JUMPDEST
000009ee: SWAP1
000009ef: POP
000009f0: DUP2
000009f1: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00000a12: SLOAD
00000a13: AND
00000a14: EQ
00000a15: ISZERO
00000a16: CODESIZE
00000a17: PUSH2 0x07c8
00000a1a: JUMP
00000a1b: JUMPDEST
00000a1c: POP
00000a1d: POP
00000a1e: CALLVALUE
00000a1f: PUSH2 0x0166
00000a22: JUMPI
00000a23: DUP2
00000a24: PUSH1 0x03
00000a26: NOT
00000a27: CALLDATASIZE
00000a28: ADD
00000a29: SLT
00000a2a: PUSH2 0x0166
00000a2d: JUMPI
00000a2e: SWAP1
00000a2f: DUP2
00000a30: DUP2
00000a31: DUP2
00000a32: PUSH1 0x60
00000a34: SWAP5
00000a35: MLOAD
00000a36: PUSH2 0x0a3e
00000a39: DUP2
00000a3a: PUSH2 0x0fcc
00000a3d: JUMP
00000a3e: JUMPDEST
00000a3f: DUP3
00000a40: DUP2
00000a41: MSTORE
00000a42: DUP3
00000a43: PUSH1 0x20
00000a45: DUP3
00000a46: ADD
00000a47: MSTORE
00000a48: ADD
00000a49: MSTORE
00000a4a: PUSH1 0xff
00000a4c: DUP2
00000a4d: MLOAD
00000a4e: SWAP3
00000a4f: PUSH2 0x0a57
00000a52: DUP5
00000a53: PUSH2 0x0fcc
00000a56: JUMP
00000a57: JUMPDEST
00000a58: PUSH1 0x02
00000a5a: DUP5
00000a5b: MSTORE
00000a5c: DUP3
00000a5d: PUSH1 0x20
00000a5f: DUP6
00000a60: ADD
00000a61: SWAP5
00000a62: DUP3
00000a63: DUP7
00000a64: MSTORE
00000a65: ADD
00000a66: SWAP1
00000a67: DUP2
00000a68: MSTORE
00000a69: DUP2
00000a6a: DUP4
00000a6b: MLOAD
00000a6c: SWAP5
00000a6d: PUSH1 0x02
00000a6f: DUP7
00000a70: MSTORE
00000a71: MLOAD
00000a72: AND
00000a73: PUSH1 0x20
00000a75: DUP6
00000a76: ADD
00000a77: MSTORE
00000a78: MLOAD
00000a79: AND
00000a7a: SWAP1
00000a7b: DUP3
00000a7c: ADD
00000a7d: MSTORE
00000a7e: RETURN
00000a7f: JUMPDEST
00000a80: SWAP1
00000a81: POP
00000a82: DUP3
00000a83: PUSH1 0x03
00000a85: NOT
00000a86: CALLDATASIZE
00000a87: ADD
00000a88: SLT
00000a89: PUSH2 0x01f1
00000a8c: JUMPI
00000a8d: PUSH2 0x0a94
00000a90: PUSH2 0x15f2
00000a93: JUMP
00000a94: JUMPDEST
00000a95: PUSH32 0xd50fd8c1b5fa5213a5974932fcc33d2992a99225bc9319caf7cf652d0d2b9acf
00000ab6: DUP1
00000ab7: DUP5
00000ab8: MSTORE
00000ab9: PUSH1 0x00
00000abb: DUP1
00000abc: MLOAD
00000abd: PUSH1 0x20
00000abf: PUSH2 0x1648
00000ac2: DUP4
00000ac3: CODECOPY
00000ac4: DUP2
00000ac5: MLOAD
00000ac6: SWAP2
00000ac7: MSTORE
00000ac8: PUSH1 0x20
00000aca: MSTORE
00000acb: DUP3
00000acc: DUP5
00000acd: KECCAK256
00000ace: CALLER
00000acf: DUP6
00000ad0: MSTORE
00000ad1: PUSH1 0x20
00000ad3: MSTORE
00000ad4: PUSH1 0xff
00000ad6: DUP4
00000ad7: DUP6
00000ad8: KECCAK256
00000ad9: SLOAD
00000ada: AND
00000adb: ISZERO
00000adc: PUSH2 0x0410
00000adf: JUMPI
00000ae0: POP
00000ae1: POP
00000ae2: MLOAD
00000ae3: CALLVALUE
00000ae4: DUP2
00000ae5: MSTORE
00000ae6: PUSH32 0xe3407208b14fa025330ca187030f118a1c0cdb604aba93ba45c862e6095aee27
00000b07: PUSH1 0x20
00000b09: CALLER
00000b0a: SWAP3
00000b0b: LOG2
00000b0c: DUP1
00000b0d: RETURN
00000b0e: JUMPDEST
00000b0f: SWAP1
00000b10: POP
00000b11: CALLVALUE
00000b12: PUSH2 0x01f1
00000b15: JUMPI
00000b16: DUP3
00000b17: PUSH1 0x03
00000b19: NOT
00000b1a: CALLDATASIZE
00000b1b: ADD
00000b1c: SLT
00000b1d: PUSH2 0x01f1
00000b20: JUMPI
00000b21: PUSH32 0xac6a94bcd1ac2877eda181de9748e5972fc07f76d4864cecf836b3fca185e53c
00000b42: DUP1
00000b43: DUP5
00000b44: MSTORE
00000b45: PUSH1 0x00
00000b47: DUP1
00000b48: MLOAD
00000b49: PUSH1 0x20
00000b4b: PUSH2 0x1648
00000b4e: DUP4
00000b4f: CODECOPY
00000b50: DUP2
00000b51: MLOAD
00000b52: SWAP2
00000b53: MSTORE
00000b54: PUSH1 0x20
00000b56: MSTORE
00000b57: DUP3
00000b58: DUP5
00000b59: KECCAK256
00000b5a: CALLER
00000b5b: DUP6
00000b5c: MSTORE
00000b5d: PUSH1 0x20
00000b5f: MSTORE
00000b60: PUSH1 0xff
00000b62: DUP4
00000b63: DUP6
00000b64: KECCAK256
00000b65: SLOAD
00000b66: AND
00000b67: ISZERO
00000b68: PUSH2 0x0410
00000b6b: JUMPI
00000b6c: POP
00000b6d: PUSH32 0xcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300
00000b8e: SWAP1
00000b8f: DUP2
00000b90: SLOAD
00000b91: SWAP1
00000b92: PUSH1 0xff
00000b94: DUP3
00000b95: AND
00000b96: ISZERO
00000b97: PUSH2 0x0bce
00000b9a: JUMPI
00000b9b: POP
00000b9c: PUSH1 0xff
00000b9e: NOT
00000b9f: AND
00000ba0: SWAP1
00000ba1: SSTORE
00000ba2: MLOAD
00000ba3: CALLER
00000ba4: DUP2
00000ba5: MSTORE
00000ba6: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
00000bc7: SWAP1
00000bc8: PUSH1 0x20
00000bca: SWAP1
00000bcb: LOG1
00000bcc: DUP1
00000bcd: RETURN
00000bce: JUMPDEST
00000bcf: DUP4
00000bd0: MLOAD
00000bd1: PUSH32 0x8dfc202b00000000000000000000000000000000000000000000000000000000
00000bf2: DUP2
00000bf3: MSTORE
00000bf4: REVERT
00000bf5: JUMPDEST
00000bf6: DUP4
00000bf7: DUP4
00000bf8: CALLVALUE
00000bf9: PUSH2 0x0166
00000bfc: JUMPI
00000bfd: DUP1
00000bfe: PUSH1 0x03
00000c00: NOT
00000c01: CALLDATASIZE
00000c02: ADD
00000c03: SLT
00000c04: PUSH2 0x0166
00000c07: JUMPI
00000c08: PUSH2 0x0c0f
00000c0b: PUSH2 0x0fb6
00000c0e: JUMP
00000c0f: JUMPDEST
00000c10: SWAP1
00000c11: CALLER
00000c12: PUSH1 0x01
00000c14: PUSH1 0x01
00000c16: PUSH1 0xa0
00000c18: SHL
00000c19: SUB
00000c1a: DUP4
00000c1b: AND
00000c1c: SUB
00000c1d: PUSH2 0x0c2c
00000c20: JUMPI
00000c21: POP
00000c22: PUSH2 0x01ed
00000c25: SWAP2
00000c26: SWAP3
00000c27: CALLDATALOAD
00000c28: PUSH2 0x14ab
00000c2b: JUMP
00000c2c: JUMPDEST
00000c2d: DUP4
00000c2e: SWAP1
00000c2f: MLOAD
00000c30: PUSH32 0x6697b23200000000000000000000000000000000000000000000000000000000
00000c51: DUP2
00000c52: MSTORE
00000c53: REVERT
00000c54: JUMPDEST
00000c55: SWAP2
00000c56: SWAP1
00000c57: POP
00000c58: CALLVALUE
00000c59: PUSH2 0x01f1
00000c5c: JUMPI
00000c5d: DUP1
00000c5e: PUSH1 0x03
00000c60: NOT
00000c61: CALLDATASIZE
00000c62: ADD
00000c63: SLT
00000c64: PUSH2 0x01f1
00000c67: JUMPI
00000c68: PUSH2 0x01ed
00000c6b: SWAP2
00000c6c: CALLDATALOAD
00000c6d: PUSH2 0x0c79
00000c70: PUSH1 0x01
00000c72: PUSH2 0x01c9
00000c75: PUSH2 0x0fb6
00000c78: JUMP
00000c79: JUMPDEST
00000c7a: PUSH2 0x1423
00000c7d: JUMP
00000c7e: JUMPDEST
00000c7f: SWAP1
00000c80: POP
00000c81: CALLVALUE
00000c82: PUSH2 0x01f1
00000c85: JUMPI
00000c86: PUSH1 0x20
00000c88: CALLDATASIZE
00000c89: PUSH1 0x03
00000c8b: NOT
00000c8c: ADD
00000c8d: SLT
00000c8e: PUSH2 0x01f1
00000c91: JUMPI
00000c92: DUP2
00000c93: PUSH1 0x20
00000c95: SWAP4
00000c96: PUSH1 0x01
00000c98: SWAP3
00000c99: CALLDATALOAD
00000c9a: DUP2
00000c9b: MSTORE
00000c9c: PUSH1 0x00
00000c9e: DUP1
00000c9f: MLOAD
00000ca0: PUSH1 0x20
00000ca2: PUSH2 0x1648
00000ca5: DUP4
00000ca6: CODECOPY
00000ca7: DUP2
00000ca8: MLOAD
00000ca9: SWAP2
00000caa: MSTORE
00000cab: DUP6
00000cac: MSTORE
00000cad: KECCAK256
00000cae: ADD
00000caf: SLOAD
00000cb0: SWAP1
00000cb1: MLOAD
00000cb2: SWAP1
00000cb3: DUP2
00000cb4: MSTORE
00000cb5: RETURN
00000cb6: JUMPDEST
00000cb7: POP
00000cb8: POP
00000cb9: CALLVALUE
00000cba: PUSH2 0x0166
00000cbd: JUMPI
00000cbe: DUP2
00000cbf: PUSH1 0x03
00000cc1: NOT
00000cc2: CALLDATASIZE
00000cc3: ADD
00000cc4: SLT
00000cc5: PUSH2 0x0166
00000cc8: JUMPI
00000cc9: PUSH1 0x20
00000ccb: SWAP1
00000ccc: MLOAD
00000ccd: PUSH32 0x9e97963c33348a1cae64c3216747be51682ee42f36d1ed282cb81018cdb30e3d
00000cee: DUP2
00000cef: MSTORE
00000cf0: RETURN
00000cf1: JUMPDEST
00000cf2: POP
00000cf3: POP
00000cf4: CALLVALUE
00000cf5: PUSH2 0x0166
00000cf8: JUMPI
00000cf9: DUP2
00000cfa: PUSH1 0x03
00000cfc: NOT
00000cfd: CALLDATASIZE
00000cfe: ADD
00000cff: SLT
00000d00: PUSH2 0x0166
00000d03: JUMPI
00000d04: PUSH1 0x20
00000d06: SWAP1
00000d07: MLOAD
00000d08: PUSH32 0xac6a94bcd1ac2877eda181de9748e5972fc07f76d4864cecf836b3fca185e53c
00000d29: DUP2
00000d2a: MSTORE
00000d2b: RETURN
00000d2c: JUMPDEST
00000d2d: DUP3
00000d2e: DUP5
00000d2f: CALLVALUE
00000d30: PUSH2 0x071d
00000d33: JUMPI
00000d34: DUP2
00000d35: PUSH1 0x03
00000d37: NOT
00000d38: CALLDATASIZE
00000d39: ADD
00000d3a: SLT
00000d3b: PUSH2 0x071d
00000d3e: JUMPI
00000d3f: PUSH2 0x0d46
00000d42: PUSH2 0x0f9b
00000d45: JUMP
00000d46: JUMPDEST
00000d47: SWAP3
00000d48: PUSH1 0x24
00000d4a: CALLDATALOAD
00000d4b: SWAP1
00000d4c: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00
00000d6d: SWAP5
00000d6e: PUSH1 0x02
00000d70: DUP7
00000d71: SLOAD
00000d72: EQ
00000d73: PUSH2 0x0e9a
00000d76: JUMPI
00000d77: PUSH1 0x01
00000d79: PUSH1 0x01
00000d7b: PUSH1 0xa0
00000d7d: SHL
00000d7e: SUB
00000d7f: SWAP1
00000d80: PUSH1 0x02
00000d82: DUP8
00000d83: SSTORE
00000d84: PUSH2 0x0d8b
00000d87: PUSH2 0x15f2
00000d8a: JUMP
00000d8b: JUMPDEST
00000d8c: AND
00000d8d: SWAP3
00000d8e: DUP4
00000d8f: ISZERO
00000d90: PUSH2 0x0e72
00000d93: JUMPI
00000d94: PUSH32 0xfe482b7b16acc2ea6eda181934b481a09d50ed8e3579b43c531bc57b84336c53
00000db5: DUP1
00000db6: DUP3
00000db7: MSTORE
00000db8: PUSH1 0x00
00000dba: DUP1
00000dbb: MLOAD
00000dbc: PUSH1 0x20
00000dbe: PUSH2 0x1648
00000dc1: DUP4
00000dc2: CODECOPY
00000dc3: DUP2
00000dc4: MLOAD
00000dc5: SWAP2
00000dc6: MSTORE
00000dc7: PUSH1 0x20
00000dc9: MSTORE
00000dca: DUP6
00000dcb: DUP3
00000dcc: KECCAK256
00000dcd: CALLER
00000dce: DUP4
00000dcf: MSTORE
00000dd0: PUSH1 0x20
00000dd2: MSTORE
00000dd3: PUSH1 0xff
00000dd5: DUP7
00000dd6: DUP4
00000dd7: KECCAK256
00000dd8: SLOAD
00000dd9: AND
00000dda: ISZERO
00000ddb: PUSH2 0x0e55
00000dde: JUMPI
00000ddf: POP
00000de0: DUP3
00000de1: SELFBALANCE
00000de2: LT
00000de3: PUSH2 0x0e46
00000de6: JUMPI
00000de7: DUP1
00000de8: DUP1
00000de9: DUP1
00000dea: DUP6
00000deb: DUP8
00000dec: GAS
00000ded: CALL
00000dee: PUSH2 0x0df5
00000df1: PUSH2 0x152f
00000df4: JUMP
00000df5: JUMPDEST
00000df6: POP
00000df7: ISZERO
00000df8: PUSH2 0x0e38
00000dfb: JUMPI
00000dfc: POP
00000dfd: SWAP3
00000dfe: PUSH1 0x01
00000e00: SWAP2
00000e01: PUSH32 0xa9186eec1c1f118aa187d90aecd4ff2bf3d2e5412f3750362412ac6f7f572147
00000e22: DUP5
00000e23: PUSH1 0x20
00000e25: SWAP7
00000e26: DUP2
00000e27: MLOAD
00000e28: SWAP1
00000e29: CALLER
00000e2a: DUP3
00000e2b: MSTORE
00000e2c: DUP9
00000e2d: DUP3
00000e2e: ADD
00000e2f: MSTORE
00000e30: LOG2
00000e31: SSTORE
00000e32: MLOAD
00000e33: PUSH1 0x01
00000e35: DUP2
00000e36: MSTORE
00000e37: RETURN
00000e38: JUMPDEST
00000e39: DUP4
00000e3a: MLOAD
00000e3b: PUSH4 0x01c6e79f
00000e40: PUSH1 0xe3
00000e42: SHL
00000e43: DUP2
00000e44: MSTORE
00000e45: REVERT
00000e46: JUMPDEST
00000e47: POP
00000e48: DUP4
00000e49: MLOAD
00000e4a: PUSH4 0x356680b7
00000e4f: PUSH1 0xe0
00000e51: SHL
00000e52: DUP2
00000e53: MSTORE
00000e54: REVERT
00000e55: JUMPDEST
00000e56: DUP3
00000e57: PUSH1 0x44
00000e59: SWAP2
00000e5a: DUP8
00000e5b: MLOAD
00000e5c: SWAP2
00000e5d: PUSH4 0xe2517d3f
00000e62: PUSH1 0xe0
00000e64: SHL
00000e65: DUP4
00000e66: MSTORE
00000e67: CALLER
00000e68: SWAP1
00000e69: DUP4
00000e6a: ADD
00000e6b: MSTORE
00000e6c: PUSH1 0x24
00000e6e: DUP3
00000e6f: ADD
00000e70: MSTORE
00000e71: REVERT
00000e72: JUMPDEST
00000e73: POP
00000e74: DUP4
00000e75: MLOAD
00000e76: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000
00000e97: DUP2
00000e98: MSTORE
00000e99: REVERT
00000e9a: JUMPDEST
00000e9b: POP
00000e9c: DUP4
00000e9d: MLOAD
00000e9e: PUSH32 0x3ee5aeb500000000000000000000000000000000000000000000000000000000
00000ebf: DUP2
00000ec0: MSTORE
00000ec1: REVERT
00000ec2: JUMPDEST
00000ec3: POP
00000ec4: POP
00000ec5: CALLVALUE
00000ec6: PUSH2 0x0166
00000ec9: JUMPI
00000eca: DUP2
00000ecb: PUSH1 0x03
00000ecd: NOT
00000ece: CALLDATASIZE
00000ecf: ADD
00000ed0: SLT
00000ed1: PUSH2 0x0166
00000ed4: JUMPI
00000ed5: PUSH1 0x20
00000ed7: SWAP1
00000ed8: MLOAD
00000ed9: PUSH32 0xfe482b7b16acc2ea6eda181934b481a09d50ed8e3579b43c531bc57b84336c53
00000efa: DUP2
00000efb: MSTORE
00000efc: RETURN
00000efd: JUMPDEST
00000efe: DUP5
00000eff: SWAP2
00000f00: CALLVALUE
00000f01: PUSH2 0x01f1
00000f04: JUMPI
00000f05: PUSH1 0x20
00000f07: CALLDATASIZE
00000f08: PUSH1 0x03
00000f0a: NOT
00000f0b: ADD
00000f0c: SLT
00000f0d: PUSH2 0x01f1
00000f10: JUMPI
00000f11: CALLDATALOAD
00000f12: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00000f33: DUP2
00000f34: AND
00000f35: DUP1
00000f36: SWAP2
00000f37: SUB
00000f38: PUSH2 0x01f1
00000f3b: JUMPI
00000f3c: PUSH1 0x20
00000f3e: SWAP3
00000f3f: POP
00000f40: PUSH32 0x7965db0b00000000000000000000000000000000000000000000000000000000
00000f61: DUP2
00000f62: EQ
00000f63: SWAP1
00000f64: DUP2
00000f65: ISZERO
00000f66: PUSH2 0x0f71
00000f69: JUMPI
00000f6a: JUMPDEST
00000f6b: POP
00000f6c: ISZERO
00000f6d: ISZERO
00000f6e: DUP2
00000f6f: MSTORE
00000f70: RETURN
00000f71: JUMPDEST
00000f72: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
00000f93: SWAP2
00000f94: POP
00000f95: EQ
00000f96: DUP4
00000f97: PUSH2 0x0f6a
00000f9a: JUMP
00000f9b: JUMPDEST
00000f9c: PUSH1 0x04
00000f9e: CALLDATALOAD
00000f9f: SWAP1
00000fa0: PUSH1 0x01
00000fa2: PUSH1 0x01
00000fa4: PUSH1 0xa0
00000fa6: SHL
00000fa7: SUB
00000fa8: DUP3
00000fa9: AND
00000faa: DUP3
00000fab: SUB
00000fac: PUSH2 0x0fb1
00000faf: JUMPI
00000fb0: JUMP
00000fb1: JUMPDEST
00000fb2: PUSH1 0x00
00000fb4: DUP1
00000fb5: REVERT
00000fb6: JUMPDEST
00000fb7: PUSH1 0x24
00000fb9: CALLDATALOAD
00000fba: SWAP1
00000fbb: PUSH1 0x01
00000fbd: PUSH1 0x01
00000fbf: PUSH1 0xa0
00000fc1: SHL
00000fc2: SUB
00000fc3: DUP3
00000fc4: AND
00000fc5: DUP3
00000fc6: SUB
00000fc7: PUSH2 0x0fb1
00000fca: JUMPI
00000fcb: JUMP
00000fcc: JUMPDEST
00000fcd: PUSH1 0x60
00000fcf: DUP2
00000fd0: ADD
00000fd1: SWAP1
00000fd2: DUP2
00000fd3: LT
00000fd4: PUSH8 0xffffffffffffffff
00000fdd: DUP3
00000fde: GT
00000fdf: OR
00000fe0: PUSH2 0x0fe8
00000fe3: JUMPI
00000fe4: PUSH1 0x40
00000fe6: MSTORE
00000fe7: JUMP
00000fe8: JUMPDEST
00000fe9: PUSH4 0x4e487b71
00000fee: PUSH1 0xe0
00000ff0: SHL
00000ff1: PUSH1 0x00
00000ff3: MSTORE
00000ff4: PUSH1 0x41
00000ff6: PUSH1 0x04
00000ff8: MSTORE
00000ff9: PUSH1 0x24
00000ffb: PUSH1 0x00
00000ffd: REVERT
00000ffe: JUMPDEST
00000fff: SWAP1
00001000: PUSH1 0x1f
00001002: DUP1
00001003: NOT
00001004: SWAP2
00001005: ADD
00001006: AND
00001007: DUP2
00001008: ADD
00001009: SWAP1
0000100a: DUP2
0000100b: LT
0000100c: PUSH8 0xffffffffffffffff
00001015: DUP3
00001016: GT
00001017: OR
00001018: PUSH2 0x0fe8
0000101b: JUMPI
0000101c: PUSH1 0x40
0000101e: MSTORE
0000101f: JUMP
00001020: JUMPDEST
00001021: PUSH8 0xffffffffffffffff
0000102a: DUP2
0000102b: GT
0000102c: PUSH2 0x0fe8
0000102f: JUMPI
00001030: PUSH1 0x1f
00001032: ADD
00001033: PUSH1 0x1f
00001035: NOT
00001036: AND
00001037: PUSH1 0x20
00001039: ADD
0000103a: SWAP1
0000103b: JUMP
0000103c: JUMPDEST
0000103d: DUP1
0000103e: PUSH1 0x00
00001040: MSTORE
00001041: PUSH1 0x00
00001043: DUP1
00001044: MLOAD
00001045: PUSH1 0x20
00001047: PUSH2 0x1648
0000104a: DUP4
0000104b: CODECOPY
0000104c: DUP2
0000104d: MLOAD
0000104e: SWAP2
0000104f: MSTORE
00001050: PUSH1 0x20
00001052: MSTORE
00001053: PUSH1 0x40
00001055: PUSH1 0x00
00001057: KECCAK256
00001058: CALLER
00001059: PUSH1 0x00
0000105b: MSTORE
0000105c: PUSH1 0x20
0000105e: MSTORE
0000105f: PUSH1 0xff
00001061: PUSH1 0x40
00001063: PUSH1 0x00
00001065: KECCAK256
00001066: SLOAD
00001067: AND
00001068: ISZERO
00001069: PUSH2 0x106f
0000106c: JUMPI
0000106d: POP
0000106e: JUMP
0000106f: JUMPDEST
00001070: PUSH1 0x44
00001072: SWAP1
00001073: PUSH1 0x40
00001075: MLOAD
00001076: SWAP1
00001077: PUSH4 0xe2517d3f
0000107c: PUSH1 0xe0
0000107e: SHL
0000107f: DUP3
00001080: MSTORE
00001081: CALLER
00001082: PUSH1 0x04
00001084: DUP4
00001085: ADD
00001086: MSTORE
00001087: PUSH1 0x24
00001089: DUP3
0000108a: ADD
0000108b: MSTORE
0000108c: REVERT
0000108d: JUMPDEST
0000108e: PUSH1 0x01
00001090: PUSH1 0x01
00001092: PUSH1 0xa0
00001094: SHL
00001095: SUB
00001096: AND
00001097: PUSH1 0x00
00001099: DUP2
0000109a: DUP2
0000109b: MSTORE
0000109c: PUSH32 0xb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d
000010bd: PUSH1 0x20
000010bf: MSTORE
000010c0: PUSH1 0x40
000010c2: DUP2
000010c3: KECCAK256
000010c4: SLOAD
000010c5: SWAP1
000010c6: SWAP2
000010c7: SWAP1
000010c8: PUSH1 0x00
000010ca: DUP1
000010cb: MLOAD
000010cc: PUSH1 0x20
000010ce: PUSH2 0x1648
000010d1: DUP4
000010d2: CODECOPY
000010d3: DUP2
000010d4: MLOAD
000010d5: SWAP2
000010d6: MSTORE
000010d7: SWAP1
000010d8: PUSH1 0xff
000010da: AND
000010db: PUSH2 0x1128
000010de: JUMPI
000010df: DUP3
000010e0: DUP1
000010e1: MSTORE
000010e2: PUSH1 0x20
000010e4: MSTORE
000010e5: PUSH1 0x40
000010e7: DUP3
000010e8: KECCAK256
000010e9: DUP2
000010ea: DUP4
000010eb: MSTORE
000010ec: PUSH1 0x20
000010ee: MSTORE
000010ef: PUSH1 0x40
000010f1: DUP3
000010f2: KECCAK256
000010f3: PUSH1 0x01
000010f5: PUSH1 0xff
000010f7: NOT
000010f8: DUP3
000010f9: SLOAD
000010fa: AND
000010fb: OR
000010fc: SWAP1
000010fd: SSTORE
000010fe: CALLER
000010ff: SWAP2
00001100: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
00001121: DUP2
00001122: DUP1
00001123: LOG4
00001124: PUSH1 0x01
00001126: SWAP1
00001127: JUMP
00001128: JUMPDEST
00001129: POP
0000112a: POP
0000112b: SWAP1
0000112c: JUMP
0000112d: JUMPDEST
0000112e: PUSH1 0x01
00001130: PUSH1 0x01
00001132: PUSH1 0xa0
00001134: SHL
00001135: SUB
00001136: AND
00001137: PUSH1 0x00
00001139: DUP2
0000113a: DUP2
0000113b: MSTORE
0000113c: PUSH32 0xe0f9959cce911b05a02b0433a842226f1a4c34a56deea85cd75fa55de7071634
0000115d: PUSH1 0x20
0000115f: MSTORE
00001160: PUSH1 0x40
00001162: DUP2
00001163: KECCAK256
00001164: SLOAD
00001165: SWAP1
00001166: SWAP2
00001167: SWAP1
00001168: PUSH32 0x39935d86204acf3d77da26425d7a46606d2550568c6b1876f3a2e76c804c7626
00001189: SWAP1
0000118a: PUSH1 0x00
0000118c: DUP1
0000118d: MLOAD
0000118e: PUSH1 0x20
00001190: PUSH2 0x1648
00001193: DUP4
00001194: CODECOPY
00001195: DUP2
00001196: MLOAD
00001197: SWAP2
00001198: MSTORE
00001199: SWAP1
0000119a: PUSH1 0xff
0000119c: AND
0000119d: PUSH2 0x11e9
000011a0: JUMPI
000011a1: DUP2
000011a2: DUP5
000011a3: MSTORE
000011a4: PUSH1 0x20
000011a6: MSTORE
000011a7: PUSH1 0x40
000011a9: DUP4
000011aa: KECCAK256
000011ab: DUP3
000011ac: DUP5
000011ad: MSTORE
000011ae: PUSH1 0x20
000011b0: MSTORE
000011b1: PUSH1 0x40
000011b3: DUP4
000011b4: KECCAK256
000011b5: PUSH1 0x01
000011b7: PUSH1 0xff
000011b9: NOT
000011ba: DUP3
000011bb: SLOAD
000011bc: AND
000011bd: OR
000011be: SWAP1
000011bf: SSTORE
000011c0: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
000011e1: CALLER
000011e2: SWAP4
000011e3: DUP1
000011e4: LOG4
000011e5: PUSH1 0x01
000011e7: SWAP1
000011e8: JUMP
000011e9: JUMPDEST
000011ea: POP
000011eb: POP
000011ec: POP
000011ed: SWAP1
000011ee: JUMP
000011ef: JUMPDEST
000011f0: PUSH1 0x01
000011f2: PUSH1 0x01
000011f4: PUSH1 0xa0
000011f6: SHL
000011f7: SUB
000011f8: AND
000011f9: PUSH1 0x00
000011fb: DUP2
000011fc: DUP2
000011fd: MSTORE
000011fe: PUSH32 0x9d787a8ef967941e2ac1ec14a98f40d3cbad7674d14133e0435fee7b34ae8bdd
0000121f: PUSH1 0x20
00001221: MSTORE
00001222: PUSH1 0x40
00001224: DUP2
00001225: KECCAK256
00001226: SLOAD
00001227: SWAP1
00001228: SWAP2
00001229: SWAP1
0000122a: PUSH32 0xac6a94bcd1ac2877eda181de9748e5972fc07f76d4864cecf836b3fca185e53c
0000124b: SWAP1
0000124c: PUSH1 0x00
0000124e: DUP1
0000124f: MLOAD
00001250: PUSH1 0x20
00001252: PUSH2 0x1648
00001255: DUP4
00001256: CODECOPY
00001257: DUP2
00001258: MLOAD
00001259: SWAP2
0000125a: MSTORE
0000125b: SWAP1
0000125c: PUSH1 0xff
0000125e: AND
0000125f: PUSH2 0x11e9
00001262: JUMPI
00001263: DUP2
00001264: DUP5
00001265: MSTORE
00001266: PUSH1 0x20
00001268: MSTORE
00001269: PUSH1 0x40
0000126b: DUP4
0000126c: KECCAK256
0000126d: DUP3
0000126e: DUP5
0000126f: MSTORE
00001270: PUSH1 0x20
00001272: MSTORE
00001273: PUSH1 0x40
00001275: DUP4
00001276: KECCAK256
00001277: PUSH1 0x01
00001279: PUSH1 0xff
0000127b: NOT
0000127c: DUP3
0000127d: SLOAD
0000127e: AND
0000127f: OR
00001280: SWAP1
00001281: SSTORE
00001282: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
000012a3: CALLER
000012a4: SWAP4
000012a5: DUP1
000012a6: LOG4
000012a7: PUSH1 0x01
000012a9: SWAP1
000012aa: JUMP
000012ab: JUMPDEST
000012ac: PUSH1 0x01
000012ae: PUSH1 0x01
000012b0: PUSH1 0xa0
000012b2: SHL
000012b3: SUB
000012b4: AND
000012b5: PUSH1 0x00
000012b7: DUP2
000012b8: DUP2
000012b9: MSTORE
000012ba: PUSH32 0xdc84749acaefa4f441da0300f9bbd06b8e40bf3c5a4edaefcb0c80a52b778819
000012db: PUSH1 0x20
000012dd: MSTORE
000012de: PUSH1 0x40
000012e0: DUP2
000012e1: KECCAK256
000012e2: SLOAD
000012e3: SWAP1
000012e4: SWAP2
000012e5: SWAP1
000012e6: PUSH32 0x0fb7166d9f681d2bd296a45a1a2e81365c392be30b6156d73b45df44e85cdb9f
00001307: SWAP1
00001308: PUSH1 0x00
0000130a: DUP1
0000130b: MLOAD
0000130c: PUSH1 0x20
0000130e: PUSH2 0x1648
00001311: DUP4
00001312: CODECOPY
00001313: DUP2
00001314: MLOAD
00001315: SWAP2
00001316: MSTORE
00001317: SWAP1
00001318: PUSH1 0xff
0000131a: AND
0000131b: PUSH2 0x11e9
0000131e: JUMPI
0000131f: DUP2
00001320: DUP5
00001321: MSTORE
00001322: PUSH1 0x20
00001324: MSTORE
00001325: PUSH1 0x40
00001327: DUP4
00001328: KECCAK256
00001329: DUP3
0000132a: DUP5
0000132b: MSTORE
0000132c: PUSH1 0x20
0000132e: MSTORE
0000132f: PUSH1 0x40
00001331: DUP4
00001332: KECCAK256
00001333: PUSH1 0x01
00001335: PUSH1 0xff
00001337: NOT
00001338: DUP3
00001339: SLOAD
0000133a: AND
0000133b: OR
0000133c: SWAP1
0000133d: SSTORE
0000133e: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
0000135f: CALLER
00001360: SWAP4
00001361: DUP1
00001362: LOG4
00001363: PUSH1 0x01
00001365: SWAP1
00001366: JUMP
00001367: JUMPDEST
00001368: PUSH1 0x01
0000136a: PUSH1 0x01
0000136c: PUSH1 0xa0
0000136e: SHL
0000136f: SUB
00001370: AND
00001371: PUSH1 0x00
00001373: DUP2
00001374: DUP2
00001375: MSTORE
00001376: PUSH32 0x39cde51a7e084cb6184b2841b8e1fbae3fd3a3c6cda71063ac67f5974ff1e178
00001397: PUSH1 0x20
00001399: MSTORE
0000139a: PUSH1 0x40
0000139c: DUP2
0000139d: KECCAK256
0000139e: SLOAD
0000139f: SWAP1
000013a0: SWAP2
000013a1: SWAP1
000013a2: PUSH32 0x9e97963c33348a1cae64c3216747be51682ee42f36d1ed282cb81018cdb30e3d
000013c3: SWAP1
000013c4: PUSH1 0x00
000013c6: DUP1
000013c7: MLOAD
000013c8: PUSH1 0x20
000013ca: PUSH2 0x1648
000013cd: DUP4
000013ce: CODECOPY
000013cf: DUP2
000013d0: MLOAD
000013d1: SWAP2
000013d2: MSTORE
000013d3: SWAP1
000013d4: PUSH1 0xff
000013d6: AND
000013d7: PUSH2 0x11e9
000013da: JUMPI
000013db: DUP2
000013dc: DUP5
000013dd: MSTORE
000013de: PUSH1 0x20
000013e0: MSTORE
000013e1: PUSH1 0x40
000013e3: DUP4
000013e4: KECCAK256
000013e5: DUP3
000013e6: DUP5
000013e7: MSTORE
000013e8: PUSH1 0x20
000013ea: MSTORE
000013eb: PUSH1 0x40
000013ed: DUP4
000013ee: KECCAK256
000013ef: PUSH1 0x01
000013f1: PUSH1 0xff
000013f3: NOT
000013f4: DUP3
000013f5: SLOAD
000013f6: AND
000013f7: OR
000013f8: SWAP1
000013f9: SSTORE
000013fa: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
0000141b: CALLER
0000141c: SWAP4
0000141d: DUP1
0000141e: LOG4
0000141f: PUSH1 0x01
00001421: SWAP1
00001422: JUMP
00001423: JUMPDEST
00001424: SWAP1
00001425: PUSH1 0x00
00001427: SWAP2
00001428: DUP1
00001429: DUP4
0000142a: MSTORE
0000142b: PUSH1 0x00
0000142d: DUP1
0000142e: MLOAD
0000142f: PUSH1 0x20
00001431: PUSH2 0x1648
00001434: DUP4
00001435: CODECOPY
00001436: DUP2
00001437: MLOAD
00001438: SWAP2
00001439: MSTORE
0000143a: DUP1
0000143b: PUSH1 0x20
0000143d: MSTORE
0000143e: PUSH1 0x01
00001440: PUSH1 0x01
00001442: PUSH1 0xa0
00001444: SHL
00001445: SUB
00001446: PUSH1 0x40
00001448: DUP6
00001449: KECCAK256
0000144a: SWAP4
0000144b: AND
0000144c: SWAP3
0000144d: DUP4
0000144e: DUP6
0000144f: MSTORE
00001450: PUSH1 0x20
00001452: MSTORE
00001453: PUSH1 0xff
00001455: PUSH1 0x40
00001457: DUP6
00001458: KECCAK256
00001459: SLOAD
0000145a: AND
0000145b: ISZERO
0000145c: PUSH1 0x00
0000145e: EQ
0000145f: PUSH2 0x11e9
00001462: JUMPI
00001463: DUP2
00001464: DUP5
00001465: MSTORE
00001466: PUSH1 0x20
00001468: MSTORE
00001469: PUSH1 0x40
0000146b: DUP4
0000146c: KECCAK256
0000146d: DUP3
0000146e: DUP5
0000146f: MSTORE
00001470: PUSH1 0x20
00001472: MSTORE
00001473: PUSH1 0x40
00001475: DUP4
00001476: KECCAK256
00001477: PUSH1 0x01
00001479: PUSH1 0xff
0000147b: NOT
0000147c: DUP3
0000147d: SLOAD
0000147e: AND
0000147f: OR
00001480: SWAP1
00001481: SSTORE
00001482: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
000014a3: CALLER
000014a4: SWAP4
000014a5: DUP1
000014a6: LOG4
000014a7: PUSH1 0x01
000014a9: SWAP1
000014aa: JUMP
000014ab: JUMPDEST
000014ac: SWAP1
000014ad: PUSH1 0x00
000014af: SWAP2
000014b0: DUP1
000014b1: DUP4
000014b2: MSTORE
000014b3: PUSH1 0x00
000014b5: DUP1
000014b6: MLOAD
000014b7: PUSH1 0x20
000014b9: PUSH2 0x1648
000014bc: DUP4
000014bd: CODECOPY
000014be: DUP2
000014bf: MLOAD
000014c0: SWAP2
000014c1: MSTORE
000014c2: DUP1
000014c3: PUSH1 0x20
000014c5: MSTORE
000014c6: PUSH1 0x01
000014c8: PUSH1 0x01
000014ca: PUSH1 0xa0
000014cc: SHL
000014cd: SUB
000014ce: PUSH1 0x40
000014d0: DUP6
000014d1: KECCAK256
000014d2: SWAP4
000014d3: AND
000014d4: SWAP3
000014d5: DUP4
000014d6: DUP6
000014d7: MSTORE
000014d8: PUSH1 0x20
000014da: MSTORE
000014db: PUSH1 0xff
000014dd: PUSH1 0x40
000014df: DUP6
000014e0: KECCAK256
000014e1: SLOAD
000014e2: AND
000014e3: PUSH1 0x00
000014e5: EQ
000014e6: PUSH2 0x11e9
000014e9: JUMPI
000014ea: DUP2
000014eb: DUP5
000014ec: MSTORE
000014ed: PUSH1 0x20
000014ef: MSTORE
000014f0: PUSH1 0x40
000014f2: DUP4
000014f3: KECCAK256
000014f4: DUP3
000014f5: DUP5
000014f6: MSTORE
000014f7: PUSH1 0x20
000014f9: MSTORE
000014fa: PUSH1 0x40
000014fc: DUP4
000014fd: KECCAK256
000014fe: PUSH1 0xff
00001500: NOT
00001501: DUP2
00001502: SLOAD
00001503: AND
00001504: SWAP1
00001505: SSTORE
00001506: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
00001527: CALLER
00001528: SWAP4
00001529: DUP1
0000152a: LOG4
0000152b: PUSH1 0x01
0000152d: SWAP1
0000152e: JUMP
0000152f: JUMPDEST
00001530: RETURNDATASIZE
00001531: ISZERO
00001532: PUSH2 0x155a
00001535: JUMPI
00001536: RETURNDATASIZE
00001537: SWAP1
00001538: PUSH2 0x1540
0000153b: DUP3
0000153c: PUSH2 0x1020
0000153f: JUMP
00001540: JUMPDEST
00001541: SWAP2
00001542: PUSH2 0x154e
00001545: PUSH1 0x40
00001547: MLOAD
00001548: SWAP4
00001549: DUP5
0000154a: PUSH2 0x0ffe
0000154d: JUMP
0000154e: JUMPDEST
0000154f: DUP3
00001550: MSTORE
00001551: RETURNDATASIZE
00001552: PUSH1 0x00
00001554: PUSH1 0x20
00001556: DUP5
00001557: ADD
00001558: RETURNDATACOPY
00001559: JUMP
0000155a: JUMPDEST
0000155b: PUSH1 0x60
0000155d: SWAP1
0000155e: JUMP
0000155f: JUMPDEST
00001560: SWAP1
00001561: PUSH2 0x159e
00001564: JUMPI
00001565: POP
00001566: DUP1
00001567: MLOAD
00001568: ISZERO
00001569: PUSH2 0x1574
0000156c: JUMPI
0000156d: DUP1
0000156e: MLOAD
0000156f: SWAP1
00001570: PUSH1 0x20
00001572: ADD
00001573: REVERT
00001574: JUMPDEST
00001575: PUSH1 0x04
00001577: PUSH1 0x40
00001579: MLOAD
0000157a: PUSH32 0x1425ea4200000000000000000000000000000000000000000000000000000000
0000159b: DUP2
0000159c: MSTORE
0000159d: REVERT
0000159e: JUMPDEST
0000159f: DUP2
000015a0: MLOAD
000015a1: ISZERO
000015a2: DUP1
000015a3: PUSH2 0x15e9
000015a6: JUMPI
000015a7: JUMPDEST
000015a8: PUSH2 0x15af
000015ab: JUMPI
000015ac: POP
000015ad: SWAP1
000015ae: JUMP
000015af: JUMPDEST
000015b0: PUSH1 0x24
000015b2: SWAP1
000015b3: PUSH1 0x01
000015b5: PUSH1 0x01
000015b7: PUSH1 0xa0
000015b9: SHL
000015ba: SUB
000015bb: PUSH1 0x40
000015bd: MLOAD
000015be: SWAP2
000015bf: PUSH32 0x9996b31500000000000000000000000000000000000000000000000000000000
000015e0: DUP4
000015e1: MSTORE
000015e2: AND
000015e3: PUSH1 0x04
000015e5: DUP3
000015e6: ADD
000015e7: MSTORE
000015e8: REVERT
000015e9: JUMPDEST
000015ea: POP
000015eb: DUP1
000015ec: EXTCODESIZE
000015ed: ISZERO
000015ee: PUSH2 0x15a7
000015f1: JUMP
000015f2: JUMPDEST
000015f3: PUSH1 0xff
000015f5: PUSH32 0xcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300
00001616: SLOAD
00001617: AND
00001618: PUSH2 0x161d
0000161b: JUMPI
0000161c: JUMP
0000161d: JUMPDEST
0000161e: PUSH1 0x04
00001620: PUSH1 0x40
00001622: MLOAD
00001623: PUSH32 0xd93c066500000000000000000000000000000000000000000000000000000000
00001644: DUP2
00001645: MSTORE
00001646: REVERT
00001647: INVALID
00001648: MUL
00001649: UNKNOWN(0xDD)
0000164a: PUSH28 0xc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268
00001667: STOP
00001668: LOG2
00001669: PUSH5 0x6970667358
0000166f: UNKNOWN(0x22)
00001670: SLT
00001671: KECCAK256
00001672: UNKNOWN(0xBC)
00001673: GT
00001674: UNKNOWN(0xD6)
00001675: SELFDESTRUCT
00001676: PUSH19 0x8a40948dbf33bbf95b911e54b54fca63c48ec1
0000168a: UNKNOWN(0xE0)
0000168b: GASLIMIT
0000168c: UNKNOWN(0xA7)
0000168d: MSTORE
0000168e: AND
0000168f: ADD
00001690: UNKNOWN(0xC5)
00001691: PUSH27

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x79652e5855dc1d3d8c5a7ce42d8c1124975b3394462fb973bbdd1663bcf47906
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x79652e5855dc1d3d8c5a7ce42d8c1124975b3394462fb973bbdd1663bcf47906",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x03cb8499",
            "selector": "0x03cb8499",
            "calldata_variants": [
                "0x03cb8499",
                "0x03cb84990000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1b9a91a4",
            "selector": "0x1b9a91a4",
            "calldata_variants": [
                "0x1b9a91a4",
                "0x1b9a91a40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1be99953",
            "selector": "0x1be99953",
            "calldata_variants": [
                "0x1be99953",
                "0x1be999530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x20df4359",
            "selector": "0x20df4359",
            "calldata_variants": [
                "0x20df4359",
                "0x20df43590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x248a9ca3",
            "selector": "0x248a9ca3",
            "calldata_variants": [
                "0x248a9ca3",
                "0x248a9ca30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f2ff15d",
            "selector": "0x2f2ff15d",
            "calldata_variants": [
                "0x2f2ff15d",
                "0x2f2ff15d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x36568abe",
            "selector": "0x36568abe",
            "calldata_variants": [
                "0x36568abe",
                "0x36568abe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2312,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high other cast SELFDESTRUCT present 85 no
view
evidence_json
{
    "notes": "selfdestruct can remove contract code and send funds; review reachability",
    "selfdestruct_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xd51bbb6df69d4bb8fed810247d4c701322bf4110d637ce4e19f9a3d86f60097a
call_targets: 0xf1f7a359c3f33ee8a66bdcbf4c897d25caf90978
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd51bbb6df69d4bb8fed810247d4c701322bf4110d637ce4e19f9a3d86f60097a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf1f7a359c3f33ee8a66bdcbf4c897d25caf90978"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x03cb8499",
            "selector": "0x03cb8499",
            "calldata_variants": [
                "0x03cb8499",
                "0x03cb84990000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1b9a91a4",
            "selector": "0x1b9a91a4",
            "calldata_variants": [
                "0x1b9a91a4",
                "0x1b9a91a40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1be99953",
            "selector": "0x1be99953",
            "calldata_variants": [
                "0x1be99953",
                "0x1be999530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x20df4359",
            "selector": "0x20df4359",
            "calldata_variants": [
                "0x20df4359",
                "0x20df43590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x248a9ca3",
            "selector": "0x248a9ca3",
            "calldata_variants": [
                "0x248a9ca3",
                "0x248a9ca30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f2ff15d",
            "selector": "0x2f2ff15d",
            "calldata_variants": [
                "0x2f2ff15d",
                "0x2f2ff15d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x36568abe",
            "selector": "0x36568abe",
            "calldata_variants": [
                "0x36568abe",
                "0x36568abe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1612,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3565,
            "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
view
trace_id: 0xd51bbb6df69d4bb8fed810247d4c701322bf4110d637ce4e19f9a3d86f60097a
call_targets: 0xf1f7a359c3f33ee8a66bdcbf4c897d25caf90978
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd51bbb6df69d4bb8fed810247d4c701322bf4110d637ce4e19f9a3d86f60097a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf1f7a359c3f33ee8a66bdcbf4c897d25caf90978"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x03cb8499",
            "selector": "0x03cb8499",
            "calldata_variants": [
                "0x03cb8499",
                "0x03cb84990000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1b9a91a4",
            "selector": "0x1b9a91a4",
            "calldata_variants": [
                "0x1b9a91a4",
                "0x1b9a91a40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1be99953",
            "selector": "0x1be99953",
            "calldata_variants": [
                "0x1be99953",
                "0x1be999530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x20df4359",
            "selector": "0x20df4359",
            "calldata_variants": [
                "0x20df4359",
                "0x20df43590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x248a9ca3",
            "selector": "0x248a9ca3",
            "calldata_variants": [
                "0x248a9ca3",
                "0x248a9ca30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f2ff15d",
            "selector": "0x2f2ff15d",
            "calldata_variants": [
                "0x2f2ff15d",
                "0x2f2ff15d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x36568abe",
            "selector": "0x36568abe",
            "calldata_variants": [
                "0x36568abe",
                "0x36568abe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1612,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3565,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": []
}
high other detector SELFDESTRUCT reachable 65 no no
view
trace_id: 0x25089c78f1079e797346fda1ad8d70cc00131f61d2e3003707c9c8edc0aeb4b4
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x25089c78f1079e797346fda1ad8d70cc00131f61d2e3003707c9c8edc0aeb4b4",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x03cb8499",
            "selector": "0x03cb8499",
            "calldata_variants": [
                "0x03cb8499",
                "0x03cb84990000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1b9a91a4",
            "selector": "0x1b9a91a4",
            "calldata_variants": [
                "0x1b9a91a4",
                "0x1b9a91a40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1be99953",
            "selector": "0x1be99953",
            "calldata_variants": [
                "0x1be99953",
                "0x1be999530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x20df4359",
            "selector": "0x20df4359",
            "calldata_variants": [
                "0x20df4359",
                "0x20df43590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x248a9ca3",
            "selector": "0x248a9ca3",
            "calldata_variants": [
                "0x248a9ca3",
                "0x248a9ca30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f2ff15d",
            "selector": "0x2f2ff15d",
            "calldata_variants": [
                "0x2f2ff15d",
                "0x2f2ff15d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x36568abe",
            "selector": "0x36568abe",
            "calldata_variants": [
                "0x36568abe",
                "0x36568abe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [],
    "selfdestruct_count": 1
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}