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

Analysis Run

4f0881a5-6541-4796-9f1d-3aabc907ac7f

failed
Chain ID
1
Address
Block Number
Created
Mon, Dec 29, 2025 10:04 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
SELFDESTRUCT present
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
30589 report.consolidate complete 1 / 1 3 months ago
104393 artifact.fetch failed 1 / 3 1 week ago
104394 tool.cast_disasm complete 1 / 3 1 week ago
104395 analysis.bundle complete 1 / 3 1 week ago
104396 capability.graph complete 1 / 3 1 week ago
104397 detector.run complete 1 / 3 1 week ago
104398 validation.fork complete 1 / 3 1 week 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 exploitable vulnerabilities found in the first-party contracts within the provided scope.
View stderr
[codex:806258] OpenAI Codex v0.77.0 (research preview)
[codex:806258] --------
[codex:806258] workdir: /tmp/codex-multi-6bnqv_2i
[codex:806258] model: gpt-5.2-codex
[codex:806258] provider: openai
[codex:806258] approval: never
[codex:806258] sandbox: read-only
[codex:806258] reasoning effort: xhigh
[codex:806258] reasoning summaries: auto
[codex:806258] session id: 019b6c23-5c35-7870-9cbf-e303f5d475d8
[codex:806258] --------
[codex:806258] user
[codex:806258] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:806258] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:806258] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:806258] 
[codex:806258] Scope rules:
[codex:806258] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:806258] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:806258] 
[codex:806258] Output MUST be valid JSON matching the provided schema.
[codex:806258] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:806258] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:806258] 
[codex:806258] Output constraints (IMPORTANT):
[codex:806258] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:806258] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:806258] mcp startup: no servers
[codex:806258] 
[codex:806258] thinking
[codex:806258] **Preparing to read AUDIT_BUNDLE.txt**
[codex:806258] exec
[codex:806258] /bin/bash -lc ls in /tmp/codex-multi-6bnqv_2i succeeded in 6ms:
[codex:806258] AUDIT_BUNDLE.txt
[codex:806258] codex-output-schema.json
[codex:806258] contracts
[codex:806258] exec
[codex:806258] /bin/bash -lc 'wc -l AUDIT_BUNDLE.txt' in /tmp/codex-multi-6bnqv_2i succeeded in 5ms:
[codex:806258] 862 AUDIT_BUNDLE.txt
[codex:806258] 
[codex:806258] thinking
[codex:806258] **Reading AUDIT_BUNDLE.txt file**
[codex:806258] exec
[codex:806258] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-6bnqv_2i succeeded in 5ms:
[codex:806258] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:806258] 
[codex:806258] ================================================================================
[codex:806258] FILE: contracts/contracts/2.0/utils/CumulativeMerkleDistributor.sol
[codex:806258] ================================================================================
[codex:806258] // SPDX-License-Identifier: GNU AGPLv3
[codex:806258] pragma solidity ^0.8.6;
[codex:806258] 
[codex:806258] import "solmate/src/utils/SafeTransferLib.sol";
[codex:806258] import "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol";
[codex:806258] import "openzeppelin-solidity/contracts/utils/cryptography/MerkleProof.sol";
[codex:806258] import "openzeppelin-solidity/contracts/access/Ownable.sol";
[codex:806258] import "./Utils.sol";
[codex:806258] 
[codex:806258] interface IWrapped is IERC20 {
[codex:806258]     function withdraw(uint256 amount) external;
[codex:806258] }
[codex:806258] 
[codex:806258] /// Cumulative Merkle distributor that supports claiming native chain currency via unwrapping.
[codex:806258] /// @author Euler developers, modified by Morpho developers, modified by ParaSwap developers
[codex:806258] 
[codex:806258] thinking
[codex:806258] **Analyzing smart contract audit for vulnerabilities**
[codex:806258] 
[codex:806258] I carefully review key first-party contracts, focusing on reentrancy risks, access controls, and edge cases involving the claim functions and token interactions. Although some theoretical reentrancy paths exist, the state updates before external calls and restricted owner-only functions mitigate them. I consider nuances like proof validations, token unwrapping, and possible configuration issues but conclude no exploitable vulnerabilities appear, just some centralization and design trade-offs. I prepare to output a JSON with no findings and a concise summary confirming this assessment.
[codex:806258] codex
[codex:806258] {"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts within the provided scope.","findings":[]}
[codex:806258] tokens used
[codex:806258] 13,900
[codex:806258] {"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts within the provided scope.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T22:04:23.328564+00:00",
        "returncode": 0
    },
    "summary": "No exploitable vulnerabilities found in the first-party contracts within the provided scope.",
    "raw_final": {
        "summary": "No exploitable vulnerabilities found in the first-party contracts within the provided scope.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
1
CREATE2
0
CALL-family (heavy)
4
EXT*/BALANCE
2
Total opcodes
1826
Flags
delegatecall_present selfdestruct_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x00d6
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x787fcbdb
00000019: GT
0000001a: PUSH2 0x007f
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xc884ef83
00000024: GT
00000025: PUSH2 0x0059
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xc884ef83
0000002f: EQ
00000030: PUSH2 0x024c
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xe3f5b195
0000003a: EQ
0000003b: PUSH2 0x0287
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf2fde38b
00000045: EQ
00000046: PUSH2 0x029d
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xfdb4beda
00000050: EQ
00000051: PUSH2 0x02bd
00000054: JUMPI
00000055: PUSH1 0x00
00000057: DUP1
00000058: REVERT
00000059: JUMPDEST
0000005a: DUP1
0000005b: PUSH4 0x787fcbdb
00000060: EQ
00000061: PUSH2 0x0199
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0x82bfefc8
0000006b: EQ
0000006c: PUSH2 0x01c8
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x8da5cb5b
00000076: EQ
00000077: PUSH2 0x0221
0000007a: JUMPI
0000007b: PUSH1 0x00
0000007d: DUP1
0000007e: REVERT
0000007f: JUMPDEST
00000080: DUP1
00000081: PUSH4 0x3d13f874
00000086: GT
00000087: PUSH2 0x00b0
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0x3d13f874
00000091: EQ
00000092: PUSH2 0x0144
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x66d5437b
0000009c: EQ
0000009d: PUSH2 0x0164
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x715018a6
000000a7: EQ
000000a8: PUSH2 0x0184
000000ab: JUMPI
000000ac: PUSH1 0x00
000000ae: DUP1
000000af: REVERT
000000b0: JUMPDEST
000000b1: DUP1
000000b2: PUSH4 0x06b091f9
000000b7: EQ
000000b8: PUSH2 0x00e2
000000bb: JUMPI
000000bc: DUP1
000000bd: PUSH4 0x07b18bde
000000c2: EQ
000000c3: PUSH2 0x0104
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0x21ff9970
000000cd: EQ
000000ce: PUSH2 0x0124
000000d1: JUMPI
000000d2: PUSH1 0x00
000000d4: DUP1
000000d5: REVERT
000000d6: JUMPDEST
000000d7: CALLDATASIZE
000000d8: PUSH2 0x00dd
000000db: JUMPI
000000dc: STOP
000000dd: JUMPDEST
000000de: PUSH1 0x00
000000e0: DUP1
000000e1: REVERT
000000e2: JUMPDEST
000000e3: CALLVALUE
000000e4: DUP1
000000e5: ISZERO
000000e6: PUSH2 0x00ee
000000e9: JUMPI
000000ea: PUSH1 0x00
000000ec: DUP1
000000ed: REVERT
000000ee: JUMPDEST
000000ef: POP
000000f0: PUSH2 0x0102
000000f3: PUSH2 0x00fd
000000f6: CALLDATASIZE
000000f7: PUSH1 0x04
000000f9: PUSH2 0x0e99
000000fc: JUMP
000000fd: JUMPDEST
000000fe: PUSH2 0x02d3
00000101: JUMP
00000102: JUMPDEST
00000103: STOP
00000104: JUMPDEST
00000105: CALLVALUE
00000106: DUP1
00000107: ISZERO
00000108: PUSH2 0x0110
0000010b: JUMPI
0000010c: PUSH1 0x00
0000010e: DUP1
0000010f: REVERT
00000110: JUMPDEST
00000111: POP
00000112: PUSH2 0x0102
00000115: PUSH2 0x011f
00000118: CALLDATASIZE
00000119: PUSH1 0x04
0000011b: PUSH2 0x0e99
0000011e: JUMP
0000011f: JUMPDEST
00000120: PUSH2 0x04d0
00000123: JUMP
00000124: JUMPDEST
00000125: CALLVALUE
00000126: DUP1
00000127: ISZERO
00000128: PUSH2 0x0130
0000012b: JUMPI
0000012c: PUSH1 0x00
0000012e: DUP1
0000012f: REVERT
00000130: JUMPDEST
00000131: POP
00000132: PUSH2 0x0102
00000135: PUSH2 0x013f
00000138: CALLDATASIZE
00000139: PUSH1 0x04
0000013b: PUSH2 0x0f4d
0000013e: JUMP
0000013f: JUMPDEST
00000140: PUSH2 0x0607
00000143: JUMP
00000144: JUMPDEST
00000145: CALLVALUE
00000146: DUP1
00000147: ISZERO
00000148: PUSH2 0x0150
0000014b: JUMPI
0000014c: PUSH1 0x00
0000014e: DUP1
0000014f: REVERT
00000150: JUMPDEST
00000151: POP
00000152: PUSH2 0x0102
00000155: PUSH2 0x015f
00000158: CALLDATASIZE
00000159: PUSH1 0x04
0000015b: PUSH2 0x0ec3
0000015e: JUMP
0000015f: JUMPDEST
00000160: PUSH2 0x06c8
00000163: JUMP
00000164: JUMPDEST
00000165: CALLVALUE
00000166: DUP1
00000167: ISZERO
00000168: PUSH2 0x0170
0000016b: JUMPI
0000016c: PUSH1 0x00
0000016e: DUP1
0000016f: REVERT
00000170: JUMPDEST
00000171: POP
00000172: PUSH2 0x0102
00000175: PUSH2 0x017f
00000178: CALLDATASIZE
00000179: PUSH1 0x04
0000017b: PUSH2 0x0ec3
0000017e: JUMP
0000017f: JUMPDEST
00000180: PUSH2 0x077b
00000183: JUMP
00000184: JUMPDEST
00000185: CALLVALUE
00000186: DUP1
00000187: ISZERO
00000188: PUSH2 0x0190
0000018b: JUMPI
0000018c: PUSH1 0x00
0000018e: DUP1
0000018f: REVERT
00000190: JUMPDEST
00000191: POP
00000192: PUSH2 0x0102
00000195: PUSH2 0x08ce
00000198: JUMP
00000199: JUMPDEST
0000019a: CALLVALUE
0000019b: DUP1
0000019c: ISZERO
0000019d: PUSH2 0x01a5
000001a0: JUMPI
000001a1: PUSH1 0x00
000001a3: DUP1
000001a4: REVERT
000001a5: JUMPDEST
000001a6: POP
000001a7: PUSH1 0x04
000001a9: SLOAD
000001aa: PUSH2 0x01b3
000001ad: SWAP1
000001ae: PUSH1 0xff
000001b0: AND
000001b1: DUP2
000001b2: JUMP
000001b3: JUMPDEST
000001b4: PUSH1 0x40
000001b6: MLOAD
000001b7: SWAP1
000001b8: ISZERO
000001b9: ISZERO
000001ba: DUP2
000001bb: MSTORE
000001bc: PUSH1 0x20
000001be: ADD
000001bf: JUMPDEST
000001c0: PUSH1 0x40
000001c2: MLOAD
000001c3: DUP1
000001c4: SWAP2
000001c5: SUB
000001c6: SWAP1
000001c7: RETURN
000001c8: JUMPDEST
000001c9: CALLVALUE
000001ca: DUP1
000001cb: ISZERO
000001cc: PUSH2 0x01d4
000001cf: JUMPI
000001d0: PUSH1 0x00
000001d2: DUP1
000001d3: REVERT
000001d4: JUMPDEST
000001d5: POP
000001d6: PUSH2 0x01fc
000001d9: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000001fa: DUP2
000001fb: JUMP
000001fc: JUMPDEST
000001fd: PUSH1 0x40
000001ff: MLOAD
00000200: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000215: SWAP1
00000216: SWAP2
00000217: AND
00000218: DUP2
00000219: MSTORE
0000021a: PUSH1 0x20
0000021c: ADD
0000021d: PUSH2 0x01bf
00000220: JUMP
00000221: JUMPDEST
00000222: CALLVALUE
00000223: DUP1
00000224: ISZERO
00000225: PUSH2 0x022d
00000228: JUMPI
00000229: PUSH1 0x00
0000022b: DUP1
0000022c: REVERT
0000022d: JUMPDEST
0000022e: POP
0000022f: PUSH1 0x00
00000231: SLOAD
00000232: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000247: AND
00000248: PUSH2 0x01fc
0000024b: JUMP
0000024c: JUMPDEST
0000024d: CALLVALUE
0000024e: DUP1
0000024f: ISZERO
00000250: PUSH2 0x0258
00000253: JUMPI
00000254: PUSH1 0x00
00000256: DUP1
00000257: REVERT
00000258: JUMPDEST
00000259: POP
0000025a: PUSH2 0x0279
0000025d: PUSH2 0x0267
00000260: CALLDATASIZE
00000261: PUSH1 0x04
00000263: PUSH2 0x0e77
00000266: JUMP
00000267: JUMPDEST
00000268: PUSH1 0x03
0000026a: PUSH1 0x20
0000026c: MSTORE
0000026d: PUSH1 0x00
0000026f: SWAP1
00000270: DUP2
00000271: MSTORE
00000272: PUSH1 0x40
00000274: SWAP1
00000275: KECCAK256
00000276: SLOAD
00000277: DUP2
00000278: JUMP
00000279: JUMPDEST
0000027a: PUSH1 0x40
0000027c: MLOAD
0000027d: SWAP1
0000027e: DUP2
0000027f: MSTORE
00000280: PUSH1 0x20
00000282: ADD
00000283: PUSH2 0x01bf
00000286: JUMP
00000287: JUMPDEST
00000288: CALLVALUE
00000289: DUP1
0000028a: ISZERO
0000028b: PUSH2 0x0293
0000028e: JUMPI
0000028f: PUSH1 0x00
00000291: DUP1
00000292: REVERT
00000293: JUMPDEST
00000294: POP
00000295: PUSH2 0x0279
00000298: PUSH1 0x01
0000029a: SLOAD
0000029b: DUP2
0000029c: JUMP
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 0x0102
000002ae: PUSH2 0x02b8
000002b1: CALLDATASIZE
000002b2: PUSH1 0x04
000002b4: PUSH2 0x0e77
000002b7: JUMP
000002b8: JUMPDEST
000002b9: PUSH2 0x095b
000002bc: JUMP
000002bd: JUMPDEST
000002be: CALLVALUE
000002bf: DUP1
000002c0: ISZERO
000002c1: PUSH2 0x02c9
000002c4: JUMPI
000002c5: PUSH1 0x00
000002c7: DUP1
000002c8: REVERT
000002c9: JUMPDEST
000002ca: POP
000002cb: PUSH2 0x0279
000002ce: PUSH1 0x02
000002d0: SLOAD
000002d1: DUP2
000002d2: JUMP
000002d3: JUMPDEST
000002d4: PUSH1 0x00
000002d6: SLOAD
000002d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002ec: AND
000002ed: CALLER
000002ee: EQ
000002ef: PUSH2 0x0359
000002f2: JUMPI
000002f3: PUSH1 0x40
000002f5: MLOAD
000002f6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000317: DUP2
00000318: MSTORE
00000319: PUSH1 0x20
0000031b: PUSH1 0x04
0000031d: DUP3
0000031e: ADD
0000031f: DUP2
00000320: SWAP1
00000321: MSTORE
00000322: PUSH1 0x24
00000324: DUP3
00000325: ADD
00000326: MSTORE
00000327: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000348: PUSH1 0x44
0000034a: DUP3
0000034b: ADD
0000034c: MSTORE
0000034d: PUSH1 0x64
0000034f: ADD
00000350: JUMPDEST
00000351: PUSH1 0x40
00000353: MLOAD
00000354: DUP1
00000355: SWAP2
00000356: SUB
00000357: SWAP1
00000358: REVERT
00000359: JUMPDEST
0000035a: PUSH1 0x40
0000035c: MLOAD
0000035d: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
0000037e: DUP2
0000037f: MSTORE
00000380: ADDRESS
00000381: PUSH1 0x04
00000383: DUP3
00000384: ADD
00000385: MSTORE
00000386: PUSH1 0x00
00000388: SWAP1
00000389: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000003aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003bf: AND
000003c0: SWAP1
000003c1: PUSH4 0x70a08231
000003c6: SWAP1
000003c7: PUSH1 0x24
000003c9: ADD
000003ca: PUSH1 0x20
000003cc: PUSH1 0x40
000003ce: MLOAD
000003cf: DUP1
000003d0: DUP4
000003d1: SUB
000003d2: DUP2
000003d3: DUP7
000003d4: DUP1
000003d5: EXTCODESIZE
000003d6: ISZERO
000003d7: DUP1
000003d8: ISZERO
000003d9: PUSH2 0x03e1
000003dc: JUMPI
000003dd: PUSH1 0x00
000003df: DUP1
000003e0: REVERT
000003e1: JUMPDEST
000003e2: POP
000003e3: GAS
000003e4: STATICCALL
000003e5: ISZERO
000003e6: DUP1
000003e7: ISZERO
000003e8: PUSH2 0x03f5
000003eb: JUMPI
000003ec: RETURNDATASIZE
000003ed: PUSH1 0x00
000003ef: DUP1
000003f0: RETURNDATACOPY
000003f1: RETURNDATASIZE
000003f2: PUSH1 0x00
000003f4: REVERT
000003f5: JUMPDEST
000003f6: POP
000003f7: POP
000003f8: POP
000003f9: POP
000003fa: PUSH1 0x40
000003fc: MLOAD
000003fd: RETURNDATASIZE
000003fe: PUSH1 0x1f
00000400: NOT
00000401: PUSH1 0x1f
00000403: DUP3
00000404: ADD
00000405: AND
00000406: DUP3
00000407: ADD
00000408: DUP1
00000409: PUSH1 0x40
0000040b: MSTORE
0000040c: POP
0000040d: DUP2
0000040e: ADD
0000040f: SWAP1
00000410: PUSH2 0x0419
00000413: SWAP2
00000414: SWAP1
00000415: PUSH2 0x0f66
00000418: JUMP
00000419: JUMPDEST
0000041a: SWAP1
0000041b: POP
0000041c: PUSH1 0x00
0000041e: DUP3
0000041f: DUP3
00000420: LT
00000421: PUSH2 0x042a
00000424: JUMPI
00000425: DUP3
00000426: PUSH2 0x042c
00000429: JUMP
0000042a: JUMPDEST
0000042b: DUP2
0000042c: JUMPDEST
0000042d: SWAP1
0000042e: POP
0000042f: PUSH2 0x046f
00000432: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000447: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000468: AND
00000469: DUP6
0000046a: DUP4
0000046b: PUSH2 0x0a8b
0000046e: JUMP
0000046f: JUMPDEST
00000470: PUSH1 0x40
00000472: DUP1
00000473: MLOAD
00000474: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000489: DUP7
0000048a: AND
0000048b: DUP2
0000048c: MSTORE
0000048d: PUSH1 0x20
0000048f: DUP2
00000490: ADD
00000491: DUP4
00000492: SWAP1
00000493: MSTORE
00000494: PUSH1 0x00
00000496: SWAP2
00000497: DUP2
00000498: ADD
00000499: SWAP2
0000049a: SWAP1
0000049b: SWAP2
0000049c: MSTORE
0000049d: PUSH32 0x2fd83d5e9f5d240bed47a97a24cf354e4047e25edc2da27b01fd95e5e8a0c9a5
000004be: SWAP1
000004bf: PUSH1 0x60
000004c1: ADD
000004c2: JUMPDEST
000004c3: PUSH1 0x40
000004c5: MLOAD
000004c6: DUP1
000004c7: SWAP2
000004c8: SUB
000004c9: SWAP1
000004ca: LOG1
000004cb: POP
000004cc: POP
000004cd: POP
000004ce: POP
000004cf: JUMP
000004d0: JUMPDEST
000004d1: PUSH1 0x00
000004d3: SLOAD
000004d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004e9: AND
000004ea: CALLER
000004eb: EQ
000004ec: PUSH2 0x0551
000004ef: JUMPI
000004f0: PUSH1 0x40
000004f2: MLOAD
000004f3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000514: DUP2
00000515: MSTORE
00000516: PUSH1 0x20
00000518: PUSH1 0x04
0000051a: DUP3
0000051b: ADD
0000051c: DUP2
0000051d: SWAP1
0000051e: MSTORE
0000051f: PUSH1 0x24
00000521: DUP3
00000522: ADD
00000523: MSTORE
00000524: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000545: PUSH1 0x44
00000547: DUP3
00000548: ADD
00000549: MSTORE
0000054a: PUSH1 0x64
0000054c: ADD
0000054d: PUSH2 0x0350
00000550: JUMP
00000551: JUMPDEST
00000552: PUSH1 0x04
00000554: SLOAD
00000555: PUSH1 0xff
00000557: AND
00000558: ISZERO
00000559: ISZERO
0000055a: PUSH1 0x01
0000055c: EQ
0000055d: PUSH2 0x0592
00000560: JUMPI
00000561: PUSH1 0x40
00000563: MLOAD
00000564: PUSH32 0x0a7287b500000000000000000000000000000000000000000000000000000000
00000585: DUP2
00000586: MSTORE
00000587: PUSH1 0x04
00000589: ADD
0000058a: PUSH1 0x40
0000058c: MLOAD
0000058d: DUP1
0000058e: SWAP2
0000058f: SUB
00000590: SWAP1
00000591: REVERT
00000592: JUMPDEST
00000593: SELFBALANCE
00000594: PUSH1 0x00
00000596: DUP3
00000597: DUP3
00000598: LT
00000599: PUSH2 0x05a2
0000059c: JUMPI
0000059d: DUP3
0000059e: PUSH2 0x05a4
000005a1: JUMP
000005a2: JUMPDEST
000005a3: DUP2
000005a4: JUMPDEST
000005a5: SWAP1
000005a6: POP
000005a7: PUSH2 0x05b0
000005aa: DUP5
000005ab: DUP3
000005ac: PUSH2 0x0b4a
000005af: JUMP
000005b0: JUMPDEST
000005b1: PUSH1 0x40
000005b3: DUP1
000005b4: MLOAD
000005b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005ca: DUP7
000005cb: AND
000005cc: DUP2
000005cd: MSTORE
000005ce: PUSH1 0x20
000005d0: DUP2
000005d1: ADD
000005d2: DUP4
000005d3: SWAP1
000005d4: MSTORE
000005d5: PUSH1 0x01
000005d7: SWAP2
000005d8: DUP2
000005d9: ADD
000005da: SWAP2
000005db: SWAP1
000005dc: SWAP2
000005dd: MSTORE
000005de: PUSH32 0x2fd83d5e9f5d240bed47a97a24cf354e4047e25edc2da27b01fd95e5e8a0c9a5
000005ff: SWAP1
00000600: PUSH1 0x60
00000602: ADD
00000603: PUSH2 0x04c2
00000606: JUMP
00000607: JUMPDEST
00000608: PUSH1 0x00
0000060a: SLOAD
0000060b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000620: AND
00000621: CALLER
00000622: EQ
00000623: PUSH2 0x0688
00000626: JUMPI
00000627: PUSH1 0x40
00000629: MLOAD
0000062a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000064b: DUP2
0000064c: MSTORE
0000064d: PUSH1 0x20
0000064f: PUSH1 0x04
00000651: DUP3
00000652: ADD
00000653: DUP2
00000654: SWAP1
00000655: MSTORE
00000656: PUSH1 0x24
00000658: DUP3
00000659: ADD
0000065a: MSTORE
0000065b: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
0000067c: PUSH1 0x44
0000067e: DUP3
0000067f: ADD
00000680: MSTORE
00000681: PUSH1 0x64
00000683: ADD
00000684: PUSH2 0x0350
00000687: JUMP
00000688: JUMPDEST
00000689: PUSH1 0x01
0000068b: DUP1
0000068c: SLOAD
0000068d: PUSH1 0x02
0000068f: SSTORE
00000690: DUP2
00000691: SWAP1
00000692: SSTORE
00000693: PUSH1 0x40
00000695: MLOAD
00000696: DUP2
00000697: DUP2
00000698: MSTORE
00000699: PUSH32 0x2cbc14f49c068133583f7cb530018af451c87c1cf1327cf2a4ff4698c4730aa4
000006ba: SWAP1
000006bb: PUSH1 0x20
000006bd: ADD
000006be: PUSH1 0x40
000006c0: MLOAD
000006c1: DUP1
000006c2: SWAP2
000006c3: SUB
000006c4: SWAP1
000006c5: LOG1
000006c6: POP
000006c7: JUMP
000006c8: JUMPDEST
000006c9: PUSH1 0x00
000006cb: PUSH2 0x06d6
000006ce: DUP6
000006cf: DUP6
000006d0: DUP6
000006d1: DUP6
000006d2: PUSH2 0x0bf0
000006d5: JUMP
000006d6: JUMPDEST
000006d7: SWAP1
000006d8: POP
000006d9: PUSH2 0x0719
000006dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006f1: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000712: AND
00000713: DUP7
00000714: DUP4
00000715: PUSH2 0x0a8b
00000718: JUMP
00000719: JUMPDEST
0000071a: PUSH1 0x40
0000071c: DUP1
0000071d: MLOAD
0000071e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000733: DUP8
00000734: AND
00000735: DUP2
00000736: MSTORE
00000737: PUSH1 0x20
00000739: DUP2
0000073a: ADD
0000073b: DUP4
0000073c: SWAP1
0000073d: MSTORE
0000073e: PUSH1 0x00
00000740: SWAP2
00000741: DUP2
00000742: ADD
00000743: SWAP2
00000744: SWAP1
00000745: SWAP2
00000746: MSTORE
00000747: PUSH32 0xab3c4ae116d5285676cffaad9c32cae8acf49b49ca0fc9953b029f97acb955ef
00000768: SWAP1
00000769: PUSH1 0x60
0000076b: ADD
0000076c: JUMPDEST
0000076d: PUSH1 0x40
0000076f: MLOAD
00000770: DUP1
00000771: SWAP2
00000772: SUB
00000773: SWAP1
00000774: LOG1
00000775: POP
00000776: POP
00000777: POP
00000778: POP
00000779: POP
0000077a: JUMP
0000077b: JUMPDEST
0000077c: PUSH1 0x04
0000077e: SLOAD
0000077f: PUSH1 0xff
00000781: AND
00000782: ISZERO
00000783: ISZERO
00000784: PUSH1 0x01
00000786: EQ
00000787: PUSH2 0x07bc
0000078a: JUMPI
0000078b: PUSH1 0x40
0000078d: MLOAD
0000078e: PUSH32 0x0a7287b500000000000000000000000000000000000000000000000000000000
000007af: DUP2
000007b0: MSTORE
000007b1: PUSH1 0x04
000007b3: ADD
000007b4: PUSH1 0x40
000007b6: MLOAD
000007b7: DUP1
000007b8: SWAP2
000007b9: SUB
000007ba: SWAP1
000007bb: REVERT
000007bc: JUMPDEST
000007bd: PUSH1 0x00
000007bf: PUSH2 0x07ca
000007c2: DUP6
000007c3: DUP6
000007c4: DUP6
000007c5: DUP6
000007c6: PUSH2 0x0bf0
000007c9: JUMP
000007ca: JUMPDEST
000007cb: PUSH1 0x40
000007cd: MLOAD
000007ce: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000
000007ef: DUP2
000007f0: MSTORE
000007f1: PUSH1 0x04
000007f3: DUP2
000007f4: ADD
000007f5: DUP3
000007f6: SWAP1
000007f7: MSTORE
000007f8: SWAP1
000007f9: SWAP2
000007fa: POP
000007fb: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000081c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000831: AND
00000832: SWAP1
00000833: PUSH4 0x2e1a7d4d
00000838: SWAP1
00000839: PUSH1 0x24
0000083b: ADD
0000083c: PUSH1 0x00
0000083e: PUSH1 0x40
00000840: MLOAD
00000841: DUP1
00000842: DUP4
00000843: SUB
00000844: DUP2
00000845: PUSH1 0x00
00000847: DUP8
00000848: DUP1
00000849: EXTCODESIZE
0000084a: ISZERO
0000084b: DUP1
0000084c: ISZERO
0000084d: PUSH2 0x0855
00000850: JUMPI
00000851: PUSH1 0x00
00000853: DUP1
00000854: REVERT
00000855: JUMPDEST
00000856: POP
00000857: GAS
00000858: CALL
00000859: ISZERO
0000085a: DUP1
0000085b: ISZERO
0000085c: PUSH2 0x0869
0000085f: JUMPI
00000860: RETURNDATASIZE
00000861: PUSH1 0x00
00000863: DUP1
00000864: RETURNDATACOPY
00000865: RETURNDATASIZE
00000866: PUSH1 0x00
00000868: REVERT
00000869: JUMPDEST
0000086a: POP
0000086b: POP
0000086c: POP
0000086d: POP
0000086e: PUSH2 0x0877
00000871: DUP6
00000872: DUP3
00000873: PUSH2 0x0b4a
00000876: JUMP
00000877: JUMPDEST
00000878: PUSH1 0x40
0000087a: DUP1
0000087b: MLOAD
0000087c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000891: DUP8
00000892: AND
00000893: DUP2
00000894: MSTORE
00000895: PUSH1 0x20
00000897: DUP2
00000898: ADD
00000899: DUP4
0000089a: SWAP1
0000089b: MSTORE
0000089c: PUSH1 0x01
0000089e: SWAP2
0000089f: DUP2
000008a0: ADD
000008a1: SWAP2
000008a2: SWAP1
000008a3: SWAP2
000008a4: MSTORE
000008a5: PUSH32 0xab3c4ae116d5285676cffaad9c32cae8acf49b49ca0fc9953b029f97acb955ef
000008c6: SWAP1
000008c7: PUSH1 0x60
000008c9: ADD
000008ca: PUSH2 0x076c
000008cd: JUMP
000008ce: JUMPDEST
000008cf: PUSH1 0x00
000008d1: SLOAD
000008d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008e7: AND
000008e8: CALLER
000008e9: EQ
000008ea: PUSH2 0x094f
000008ed: JUMPI
000008ee: PUSH1 0x40
000008f0: MLOAD
000008f1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000912: DUP2
00000913: MSTORE
00000914: PUSH1 0x20
00000916: PUSH1 0x04
00000918: DUP3
00000919: ADD
0000091a: DUP2
0000091b: SWAP1
0000091c: MSTORE
0000091d: PUSH1 0x24
0000091f: DUP3
00000920: ADD
00000921: MSTORE
00000922: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000943: PUSH1 0x44
00000945: DUP3
00000946: ADD
00000947: MSTORE
00000948: PUSH1 0x64
0000094a: ADD
0000094b: PUSH2 0x0350
0000094e: JUMP
0000094f: JUMPDEST
00000950: PUSH2 0x0959
00000953: PUSH1 0x00
00000955: PUSH2 0x0d65
00000958: JUMP
00000959: JUMPDEST
0000095a: JUMP
0000095b: JUMPDEST
0000095c: PUSH1 0x00
0000095e: SLOAD
0000095f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000974: AND
00000975: CALLER
00000976: EQ
00000977: PUSH2 0x09dc
0000097a: JUMPI
0000097b: PUSH1 0x40
0000097d: MLOAD
0000097e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000099f: DUP2
000009a0: MSTORE
000009a1: PUSH1 0x20
000009a3: PUSH1 0x04
000009a5: DUP3
000009a6: ADD
000009a7: DUP2
000009a8: SWAP1
000009a9: MSTORE
000009aa: PUSH1 0x24
000009ac: DUP3
000009ad: ADD
000009ae: MSTORE
000009af: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000009d0: PUSH1 0x44
000009d2: DUP3
000009d3: ADD
000009d4: MSTORE
000009d5: PUSH1 0x64
000009d7: ADD
000009d8: PUSH2 0x0350
000009db: JUMP
000009dc: JUMPDEST
000009dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009f2: DUP2
000009f3: AND
000009f4: PUSH2 0x0a7f
000009f7: JUMPI
000009f8: PUSH1 0x40
000009fa: MLOAD
000009fb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000a1c: DUP2
00000a1d: MSTORE
00000a1e: PUSH1 0x20
00000a20: PUSH1 0x04
00000a22: DUP3
00000a23: ADD
00000a24: MSTORE
00000a25: PUSH1 0x26
00000a27: PUSH1 0x24
00000a29: DUP3
00000a2a: ADD
00000a2b: MSTORE
00000a2c: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
00000a4d: PUSH1 0x44
00000a4f: DUP3
00000a50: ADD
00000a51: MSTORE
00000a52: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000
00000a73: PUSH1 0x64
00000a75: DUP3
00000a76: ADD
00000a77: MSTORE
00000a78: PUSH1 0x84
00000a7a: ADD
00000a7b: PUSH2 0x0350
00000a7e: JUMP
00000a7f: JUMPDEST
00000a80: PUSH2 0x0a88
00000a83: DUP2
00000a84: PUSH2 0x0d65
00000a87: JUMP
00000a88: JUMPDEST
00000a89: POP
00000a8a: JUMP
00000a8b: JUMPDEST
00000a8c: PUSH1 0x00
00000a8e: PUSH1 0x40
00000a90: MLOAD
00000a91: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00000ab2: DUP2
00000ab3: MSTORE
00000ab4: DUP4
00000ab5: PUSH1 0x04
00000ab7: DUP3
00000ab8: ADD
00000ab9: MSTORE
00000aba: DUP3
00000abb: PUSH1 0x24
00000abd: DUP3
00000abe: ADD
00000abf: MSTORE
00000ac0: PUSH1 0x20
00000ac2: PUSH1 0x00
00000ac4: PUSH1 0x44
00000ac6: DUP4
00000ac7: PUSH1 0x00
00000ac9: DUP10
00000aca: GAS
00000acb: CALL
00000acc: RETURNDATASIZE
00000acd: ISZERO
00000ace: PUSH1 0x1f
00000ad0: RETURNDATASIZE
00000ad1: GT
00000ad2: PUSH1 0x01
00000ad4: PUSH1 0x00
00000ad6: MLOAD
00000ad7: EQ
00000ad8: AND
00000ad9: OR
00000ada: AND
00000adb: SWAP2
00000adc: POP
00000add: POP
00000ade: DUP1
00000adf: PUSH2 0x0b44
00000ae2: JUMPI
00000ae3: PUSH1 0x40
00000ae5: MLOAD
00000ae6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000b07: DUP2
00000b08: MSTORE
00000b09: PUSH1 0x20
00000b0b: PUSH1 0x04
00000b0d: DUP3
00000b0e: ADD
00000b0f: MSTORE
00000b10: PUSH1 0x0f
00000b12: PUSH1 0x24
00000b14: DUP3
00000b15: ADD
00000b16: MSTORE
00000b17: PUSH32 0x5452414e534645525f4641494c45440000000000000000000000000000000000
00000b38: PUSH1 0x44
00000b3a: DUP3
00000b3b: ADD
00000b3c: MSTORE
00000b3d: PUSH1 0x64
00000b3f: ADD
00000b40: PUSH2 0x0350
00000b43: JUMP
00000b44: JUMPDEST
00000b45: POP
00000b46: POP
00000b47: POP
00000b48: POP
00000b49: JUMP
00000b4a: JUMPDEST
00000b4b: DUP1
00000b4c: ISZERO
00000b4d: PUSH2 0x0bec
00000b50: JUMPI
00000b51: PUSH1 0x00
00000b53: DUP3
00000b54: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b69: AND
00000b6a: DUP3
00000b6b: PUSH1 0x40
00000b6d: MLOAD
00000b6e: PUSH1 0x00
00000b70: PUSH1 0x40
00000b72: MLOAD
00000b73: DUP1
00000b74: DUP4
00000b75: SUB
00000b76: DUP2
00000b77: DUP6
00000b78: DUP8
00000b79: GAS
00000b7a: CALL
00000b7b: SWAP3
00000b7c: POP
00000b7d: POP
00000b7e: POP
00000b7f: RETURNDATASIZE
00000b80: DUP1
00000b81: PUSH1 0x00
00000b83: DUP2
00000b84: EQ
00000b85: PUSH2 0x0baa
00000b88: JUMPI
00000b89: PUSH1 0x40
00000b8b: MLOAD
00000b8c: SWAP2
00000b8d: POP
00000b8e: PUSH1 0x1f
00000b90: NOT
00000b91: PUSH1 0x3f
00000b93: RETURNDATASIZE
00000b94: ADD
00000b95: AND
00000b96: DUP3
00000b97: ADD
00000b98: PUSH1 0x40
00000b9a: MSTORE
00000b9b: RETURNDATASIZE
00000b9c: DUP3
00000b9d: MSTORE
00000b9e: RETURNDATASIZE
00000b9f: PUSH1 0x00
00000ba1: PUSH1 0x20
00000ba3: DUP5
00000ba4: ADD
00000ba5: RETURNDATACOPY
00000ba6: PUSH2 0x0baf
00000ba9: JUMP
00000baa: JUMPDEST
00000bab: PUSH1 0x60
00000bad: SWAP2
00000bae: POP
00000baf: JUMPDEST
00000bb0: POP
00000bb1: POP
00000bb2: SWAP1
00000bb3: POP
00000bb4: DUP1
00000bb5: PUSH2 0x0bea
00000bb8: JUMPI
00000bb9: PUSH1 0x40
00000bbb: MLOAD
00000bbc: PUSH32 0x6200562d00000000000000000000000000000000000000000000000000000000
00000bdd: DUP2
00000bde: MSTORE
00000bdf: PUSH1 0x04
00000be1: ADD
00000be2: PUSH1 0x40
00000be4: MLOAD
00000be5: DUP1
00000be6: SWAP2
00000be7: SUB
00000be8: SWAP1
00000be9: REVERT
00000bea: JUMPDEST
00000beb: POP
00000bec: JUMPDEST
00000bed: POP
00000bee: POP
00000bef: JUMP
00000bf0: JUMPDEST
00000bf1: PUSH1 0x00
00000bf3: DUP1
00000bf4: PUSH2 0x0c84
00000bf7: DUP5
00000bf8: DUP5
00000bf9: DUP1
00000bfa: DUP1
00000bfb: PUSH1 0x20
00000bfd: MUL
00000bfe: PUSH1 0x20
00000c00: ADD
00000c01: PUSH1 0x40
00000c03: MLOAD
00000c04: SWAP1
00000c05: DUP2
00000c06: ADD
00000c07: PUSH1 0x40
00000c09: MSTORE
00000c0a: DUP1
00000c0b: SWAP4
00000c0c: SWAP3
00000c0d: SWAP2
00000c0e: SWAP1
00000c0f: DUP2
00000c10: DUP2
00000c11: MSTORE
00000c12: PUSH1 0x20
00000c14: ADD
00000c15: DUP4
00000c16: DUP4
00000c17: PUSH1 0x20
00000c19: MUL
00000c1a: DUP1
00000c1b: DUP3
00000c1c: DUP5
00000c1d: CALLDATACOPY
00000c1e: PUSH1 0x00
00000c20: SWAP3
00000c21: ADD
00000c22: SWAP2
00000c23: SWAP1
00000c24: SWAP2
00000c25: MSTORE
00000c26: POP
00000c27: POP
00000c28: PUSH1 0x40
00000c2a: MLOAD
00000c2b: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000
00000c4c: PUSH1 0x60
00000c4e: DUP13
00000c4f: SWAP1
00000c50: SHL
00000c51: AND
00000c52: PUSH1 0x20
00000c54: DUP3
00000c55: ADD
00000c56: MSTORE
00000c57: PUSH1 0x34
00000c59: DUP2
00000c5a: ADD
00000c5b: DUP11
00000c5c: SWAP1
00000c5d: MSTORE
00000c5e: PUSH1 0x54
00000c60: ADD
00000c61: SWAP2
00000c62: POP
00000c63: PUSH2 0x0c69
00000c66: SWAP1
00000c67: POP
00000c68: JUMP
00000c69: JUMPDEST
00000c6a: PUSH1 0x40
00000c6c: MLOAD
00000c6d: PUSH1 0x20
00000c6f: DUP2
00000c70: DUP4
00000c71: SUB
00000c72: SUB
00000c73: DUP2
00000c74: MSTORE
00000c75: SWAP1
00000c76: PUSH1 0x40
00000c78: MSTORE
00000c79: DUP1
00000c7a: MLOAD
00000c7b: SWAP1
00000c7c: PUSH1 0x20
00000c7e: ADD
00000c7f: KECCAK256
00000c80: PUSH2 0x0dda
00000c83: JUMP
00000c84: JUMPDEST
00000c85: SWAP1
00000c86: POP
00000c87: PUSH1 0x01
00000c89: SLOAD
00000c8a: DUP2
00000c8b: EQ
00000c8c: ISZERO
00000c8d: DUP1
00000c8e: ISZERO
00000c8f: PUSH2 0x0c9a
00000c92: JUMPI
00000c93: POP
00000c94: PUSH1 0x02
00000c96: SLOAD
00000c97: DUP2
00000c98: EQ
00000c99: ISZERO
00000c9a: JUMPDEST
00000c9b: ISZERO
00000c9c: PUSH2 0x0cd1
00000c9f: JUMPI
00000ca0: PUSH1 0x40
00000ca2: MLOAD
00000ca3: PUSH32 0xf542095700000000000000000000000000000000000000000000000000000000
00000cc4: DUP2
00000cc5: MSTORE
00000cc6: PUSH1 0x04
00000cc8: ADD
00000cc9: PUSH1 0x40
00000ccb: MLOAD
00000ccc: DUP1
00000ccd: SWAP2
00000cce: SUB
00000ccf: SWAP1
00000cd0: REVERT
00000cd1: JUMPDEST
00000cd2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ce7: DUP7
00000ce8: AND
00000ce9: PUSH1 0x00
00000ceb: SWAP1
00000cec: DUP2
00000ced: MSTORE
00000cee: PUSH1 0x03
00000cf0: PUSH1 0x20
00000cf2: MSTORE
00000cf3: PUSH1 0x40
00000cf5: SWAP1
00000cf6: KECCAK256
00000cf7: SLOAD
00000cf8: DUP1
00000cf9: DUP7
00000cfa: GT
00000cfb: PUSH2 0x0d30
00000cfe: JUMPI
00000cff: PUSH1 0x40
00000d01: MLOAD
00000d02: PUSH32 0x646cf55800000000000000000000000000000000000000000000000000000000
00000d23: DUP2
00000d24: MSTORE
00000d25: PUSH1 0x04
00000d27: ADD
00000d28: PUSH1 0x40
00000d2a: MLOAD
00000d2b: DUP1
00000d2c: SWAP2
00000d2d: SUB
00000d2e: SWAP1
00000d2f: REVERT
00000d30: JUMPDEST
00000d31: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d46: DUP8
00000d47: AND
00000d48: PUSH1 0x00
00000d4a: SWAP1
00000d4b: DUP2
00000d4c: MSTORE
00000d4d: PUSH1 0x03
00000d4f: PUSH1 0x20
00000d51: MSTORE
00000d52: PUSH1 0x40
00000d54: SWAP1
00000d55: KECCAK256
00000d56: DUP7
00000d57: SWAP1
00000d58: SSTORE
00000d59: DUP6
00000d5a: SUB
00000d5b: SWAP2
00000d5c: POP
00000d5d: POP
00000d5e: SWAP5
00000d5f: SWAP4
00000d60: POP
00000d61: POP
00000d62: POP
00000d63: POP
00000d64: JUMP
00000d65: JUMPDEST
00000d66: PUSH1 0x00
00000d68: DUP1
00000d69: SLOAD
00000d6a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d7f: DUP4
00000d80: DUP2
00000d81: AND
00000d82: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000da3: DUP4
00000da4: AND
00000da5: DUP2
00000da6: OR
00000da7: DUP5
00000da8: SSTORE
00000da9: PUSH1 0x40
00000dab: MLOAD
00000dac: SWAP2
00000dad: SWAP1
00000dae: SWAP3
00000daf: AND
00000db0: SWAP3
00000db1: DUP4
00000db2: SWAP2
00000db3: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000dd4: SWAP2
00000dd5: SWAP1
00000dd6: LOG3
00000dd7: POP
00000dd8: POP
00000dd9: JUMP
00000dda: JUMPDEST
00000ddb: PUSH1 0x00
00000ddd: DUP2
00000dde: DUP2
00000ddf: JUMPDEST
00000de0: DUP5
00000de1: MLOAD
00000de2: DUP2
00000de3: LT
00000de4: ISZERO
00000de5: PUSH2 0x0e46
00000de8: JUMPI
00000de9: PUSH1 0x00
00000deb: DUP6
00000dec: DUP3
00000ded: DUP2
00000dee: MLOAD
00000def: DUP2
00000df0: LT
00000df1: PUSH2 0x0dfc
00000df4: JUMPI
00000df5: PUSH2 0x0dfc
00000df8: PUSH2 0x0fdf
00000dfb: JUMP
00000dfc: JUMPDEST
00000dfd: PUSH1 0x20
00000dff: MUL
00000e00: PUSH1 0x20
00000e02: ADD
00000e03: ADD
00000e04: MLOAD
00000e05: SWAP1
00000e06: POP
00000e07: DUP1
00000e08: DUP4
00000e09: GT
00000e0a: PUSH2 0x0e22
00000e0d: JUMPI
00000e0e: PUSH1 0x00
00000e10: DUP4
00000e11: DUP2
00000e12: MSTORE
00000e13: PUSH1 0x20
00000e15: DUP3
00000e16: SWAP1
00000e17: MSTORE
00000e18: PUSH1 0x40
00000e1a: SWAP1
00000e1b: KECCAK256
00000e1c: SWAP3
00000e1d: POP
00000e1e: PUSH2 0x0e33
00000e21: JUMP
00000e22: JUMPDEST
00000e23: PUSH1 0x00
00000e25: DUP2
00000e26: DUP2
00000e27: MSTORE
00000e28: PUSH1 0x20
00000e2a: DUP5
00000e2b: SWAP1
00000e2c: MSTORE
00000e2d: PUSH1 0x40
00000e2f: SWAP1
00000e30: KECCAK256
00000e31: SWAP3
00000e32: POP
00000e33: JUMPDEST
00000e34: POP
00000e35: DUP1
00000e36: PUSH2 0x0e3e
00000e39: DUP2
00000e3a: PUSH2 0x0f7f
00000e3d: JUMP
00000e3e: JUMPDEST
00000e3f: SWAP2
00000e40: POP
00000e41: POP
00000e42: PUSH2 0x0ddf
00000e45: JUMP
00000e46: JUMPDEST
00000e47: POP
00000e48: SWAP4
00000e49: SWAP3
00000e4a: POP
00000e4b: POP
00000e4c: POP
00000e4d: JUMP
00000e4e: JUMPDEST
00000e4f: DUP1
00000e50: CALLDATALOAD
00000e51: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e66: DUP2
00000e67: AND
00000e68: DUP2
00000e69: EQ
00000e6a: PUSH2 0x0e72
00000e6d: JUMPI
00000e6e: PUSH1 0x00
00000e70: DUP1
00000e71: REVERT
00000e72: JUMPDEST
00000e73: SWAP2
00000e74: SWAP1
00000e75: POP
00000e76: JUMP
00000e77: JUMPDEST
00000e78: PUSH1 0x00
00000e7a: PUSH1 0x20
00000e7c: DUP3
00000e7d: DUP5
00000e7e: SUB
00000e7f: SLT
00000e80: ISZERO
00000e81: PUSH2 0x0e89
00000e84: JUMPI
00000e85: PUSH1 0x00
00000e87: DUP1
00000e88: REVERT
00000e89: JUMPDEST
00000e8a: PUSH2 0x0e92
00000e8d: DUP3
00000e8e: PUSH2 0x0e4e
00000e91: JUMP
00000e92: JUMPDEST
00000e93: SWAP4
00000e94: SWAP3
00000e95: POP
00000e96: POP
00000e97: POP
00000e98: JUMP
00000e99: JUMPDEST
00000e9a: PUSH1 0x00
00000e9c: DUP1
00000e9d: PUSH1 0x40
00000e9f: DUP4
00000ea0: DUP6
00000ea1: SUB
00000ea2: SLT
00000ea3: ISZERO
00000ea4: PUSH2 0x0eac
00000ea7: JUMPI
00000ea8: PUSH1 0x00
00000eaa: DUP1
00000eab: REVERT
00000eac: JUMPDEST
00000ead: PUSH2 0x0eb5
00000eb0: DUP4
00000eb1: PUSH2 0x0e4e
00000eb4: JUMP
00000eb5: JUMPDEST
00000eb6: SWAP5
00000eb7: PUSH1 0x20
00000eb9: SWAP4
00000eba: SWAP1
00000ebb: SWAP4
00000ebc: ADD
00000ebd: CALLDATALOAD
00000ebe: SWAP4
00000ebf: POP
00000ec0: POP
00000ec1: POP
00000ec2: JUMP
00000ec3: JUMPDEST
00000ec4: PUSH1 0x00
00000ec6: DUP1
00000ec7: PUSH1 0x00
00000ec9: DUP1
00000eca: PUSH1 0x60
00000ecc: DUP6
00000ecd: DUP8
00000ece: SUB
00000ecf: SLT
00000ed0: ISZERO
00000ed1: PUSH2 0x0ed9
00000ed4: JUMPI
00000ed5: PUSH1 0x00
00000ed7: DUP1
00000ed8: REVERT
00000ed9: JUMPDEST
00000eda: PUSH2 0x0ee2
00000edd: DUP6
00000ede: PUSH2 0x0e4e
00000ee1: JUMP
00000ee2: JUMPDEST
00000ee3: SWAP4
00000ee4: POP
00000ee5: PUSH1 0x20
00000ee7: DUP6
00000ee8: ADD
00000ee9: CALLDATALOAD
00000eea: SWAP3
00000eeb: POP
00000eec: PUSH1 0x40
00000eee: DUP6
00000eef: ADD
00000ef0: CALLDATALOAD
00000ef1: PUSH8 0xffffffffffffffff
00000efa: DUP1
00000efb: DUP3
00000efc: GT
00000efd: ISZERO
00000efe: PUSH2 0x0f06
00000f01: JUMPI
00000f02: PUSH1 0x00
00000f04: DUP1
00000f05: REVERT
00000f06: JUMPDEST
00000f07: DUP2
00000f08: DUP8
00000f09: ADD
00000f0a: SWAP2
00000f0b: POP
00000f0c: DUP8
00000f0d: PUSH1 0x1f
00000f0f: DUP4
00000f10: ADD
00000f11: SLT
00000f12: PUSH2 0x0f1a
00000f15: JUMPI
00000f16: PUSH1 0x00
00000f18: DUP1
00000f19: REVERT
00000f1a: JUMPDEST
00000f1b: DUP2
00000f1c: CALLDATALOAD
00000f1d: DUP2
00000f1e: DUP2
00000f1f: GT
00000f20: ISZERO
00000f21: PUSH2 0x0f29
00000f24: JUMPI
00000f25: PUSH1 0x00
00000f27: DUP1
00000f28: REVERT
00000f29: JUMPDEST
00000f2a: DUP9
00000f2b: PUSH1 0x20
00000f2d: DUP3
00000f2e: PUSH1 0x05
00000f30: SHL
00000f31: DUP6
00000f32: ADD
00000f33: ADD
00000f34: GT
00000f35: ISZERO
00000f36: PUSH2 0x0f3e
00000f39: JUMPI
00000f3a: PUSH1 0x00
00000f3c: DUP1
00000f3d: REVERT
00000f3e: JUMPDEST
00000f3f: SWAP6
00000f40: SWAP9
00000f41: SWAP5
00000f42: SWAP8
00000f43: POP
00000f44: POP
00000f45: PUSH1 0x20
00000f47: ADD
00000f48: SWAP5
00000f49: POP
00000f4a: POP
00000f4b: POP
00000f4c: JUMP
00000f4d: JUMPDEST
00000f4e: PUSH1 0x00
00000f50: PUSH1 0x20
00000f52: DUP3
00000f53: DUP5
00000f54: SUB
00000f55: SLT
00000f56: ISZERO
00000f57: PUSH2 0x0f5f
00000f5a: JUMPI
00000f5b: PUSH1 0x00
00000f5d: DUP1
00000f5e: REVERT
00000f5f: JUMPDEST
00000f60: POP
00000f61: CALLDATALOAD
00000f62: SWAP2
00000f63: SWAP1
00000f64: POP
00000f65: JUMP
00000f66: JUMPDEST
00000f67: PUSH1 0x00
00000f69: PUSH1 0x20
00000f6b: DUP3
00000f6c: DUP5
00000f6d: SUB
00000f6e: SLT
00000f6f: ISZERO
00000f70: PUSH2 0x0f78
00000f73: JUMPI
00000f74: PUSH1 0x00
00000f76: DUP1
00000f77: REVERT
00000f78: JUMPDEST
00000f79: POP
00000f7a: MLOAD
00000f7b: SWAP2
00000f7c: SWAP1
00000f7d: POP
00000f7e: JUMP
00000f7f: JUMPDEST
00000f80: PUSH1 0x00
00000f82: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000fa3: DUP3
00000fa4: EQ
00000fa5: ISZERO
00000fa6: PUSH2 0x0fd8
00000fa9: JUMPI
00000faa: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00000fcb: PUSH1 0x00
00000fcd: MSTORE
00000fce: PUSH1 0x11
00000fd0: PUSH1 0x04
00000fd2: MSTORE
00000fd3: PUSH1 0x24
00000fd5: PUSH1 0x00
00000fd7: REVERT
00000fd8: JUMPDEST
00000fd9: POP
00000fda: PUSH1 0x01
00000fdc: ADD
00000fdd: SWAP1
00000fde: JUMP
00000fdf: JUMPDEST
00000fe0: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001001: PUSH1 0x00
00001003: MSTORE
00001004: PUSH1 0x32
00001006: PUSH1 0x04
00001008: MSTORE
00001009: PUSH1 0x24
0000100b: PUSH1 0x00
0000100d: REVERT
0000100e: INVALID
0000100f: LOG2
00001010: PUSH5 0x6970667358
00001016: UNKNOWN(0x22)
00001017: SLT
00001018: KECCAK256
00001019: SMOD
0000101a: SWAP7
0000101b: DELEGATECALL
0000101c: UNKNOWN(0x26)
0000101d: SELFDESTRUCT
0000101e: UNKNOWN(0xD4)
0000101f: PUSH10 0xebde2155737004761b50
0000102a: SAR
0000102b: UNKNOWN(0x4D)
0000102c: CALLDATASIZE
0000102d: UNKNOWN(0xBD)
0000102e: UNKNOWN(0xB4)
0000102f: SWAP9
00001030: UNKNOWN(0xE4)
00001031: ORIGIN
00001032: LOG2
00001033: PUSH9 0x01790e1a4264736f6c
0000103d: PUSH4 0x43000806
00001042: STOP
00001043: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
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 upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0x9d6b9f58b088c5b59b64c2b8082c2ac523a7f598b398236c8d6d8713d4529daf
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 156,
    "trace_id": "0x9d6b9f58b088c5b59b64c2b8082c2ac523a7f598b398236c8d6d8713d4529daf",
    "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": "0xc884ef83",
            "selector": "0xc884ef83",
            "calldata_variants": [
                "0xc884ef83",
                "0xc884ef830000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3f5b195",
            "selector": "0xe3f5b195",
            "calldata_variants": [
                "0xe3f5b195",
                "0xe3f5b1950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfdb4beda",
            "selector": "0xfdb4beda",
            "calldata_variants": [
                "0xfdb4beda",
                "0xfdb4beda0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x787fcbdb",
            "selector": "0x787fcbdb",
            "calldata_variants": [
                "0x787fcbdb",
                "0x787fcbdb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x82bfefc8",
            "selector": "0x82bfefc8",
            "calldata_variants": [
                "0x82bfefc8",
                "0x82bfefc80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3d13f874",
            "selector": "0x3d13f874",
            "calldata_variants": [
                "0x3d13f874",
                "0x3d13f8740000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4123,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 4145,
            "type": "tx_origin_used"
        }
    ],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xc884ef83",
            "selector": "0xc884ef83",
            "calldata_variants": [
                "0xc884ef83",
                "0xc884ef830000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3f5b195",
            "selector": "0xe3f5b195",
            "calldata_variants": [
                "0xe3f5b195",
                "0xe3f5b1950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfdb4beda",
            "selector": "0xfdb4beda",
            "calldata_variants": [
                "0xfdb4beda",
                "0xfdb4beda0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x787fcbdb",
            "selector": "0x787fcbdb",
            "calldata_variants": [
                "0x787fcbdb",
                "0x787fcbdb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x82bfefc8",
            "selector": "0x82bfefc8",
            "calldata_variants": [
                "0x82bfefc8",
                "0x82bfefc80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3d13f874",
            "selector": "0x3d13f874",
            "calldata_variants": [
                "0x3d13f874",
                "0x3d13f8740000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 4145,
            "type": "tx_origin_used"
        }
    ]
}
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
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x80872e9e13fdd00e265c6bd1d4e17bfa8929317034a75675e2abe918f0270531
call_targets: 0x2cf552a87adae03b1f53a760f81c0c0b5fb36892
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x80872e9e13fdd00e265c6bd1d4e17bfa8929317034a75675e2abe918f0270531",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2cf552a87adae03b1f53a760f81c0c0b5fb36892"
    ],
    "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": "0xc884ef83",
            "selector": "0xc884ef83",
            "calldata_variants": [
                "0xc884ef83",
                "0xc884ef830000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3f5b195",
            "selector": "0xe3f5b195",
            "calldata_variants": [
                "0xe3f5b195",
                "0xe3f5b1950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfdb4beda",
            "selector": "0xfdb4beda",
            "calldata_variants": [
                "0xfdb4beda",
                "0xfdb4beda0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x787fcbdb",
            "selector": "0x787fcbdb",
            "calldata_variants": [
                "0x787fcbdb",
                "0x787fcbdb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x82bfefc8",
            "selector": "0x82bfefc8",
            "calldata_variants": [
                "0x82bfefc8",
                "0x82bfefc80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3d13f874",
            "selector": "0x3d13f874",
            "calldata_variants": [
                "0x3d13f874",
                "0x3d13f8740000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2136,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2763,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2938,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [
        {
            "pc": 4145,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 3
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x80872e9e13fdd00e265c6bd1d4e17bfa8929317034a75675e2abe918f0270531
call_targets: 0x2cf552a87adae03b1f53a760f81c0c0b5fb36892
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x80872e9e13fdd00e265c6bd1d4e17bfa8929317034a75675e2abe918f0270531",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2cf552a87adae03b1f53a760f81c0c0b5fb36892"
    ],
    "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": "0xc884ef83",
            "selector": "0xc884ef83",
            "calldata_variants": [
                "0xc884ef83",
                "0xc884ef830000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3f5b195",
            "selector": "0xe3f5b195",
            "calldata_variants": [
                "0xe3f5b195",
                "0xe3f5b1950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfdb4beda",
            "selector": "0xfdb4beda",
            "calldata_variants": [
                "0xfdb4beda",
                "0xfdb4beda0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x787fcbdb",
            "selector": "0x787fcbdb",
            "calldata_variants": [
                "0x787fcbdb",
                "0x787fcbdb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x82bfefc8",
            "selector": "0x82bfefc8",
            "calldata_variants": [
                "0x82bfefc8",
                "0x82bfefc80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3d13f874",
            "selector": "0x3d13f874",
            "calldata_variants": [
                "0x3d13f874",
                "0x3d13f8740000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2136,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2763,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2938,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": [
        {
            "pc": 4145,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector SELFDESTRUCT reachable 45 no no
view
trace_id: 0x6c1066b33a20c62c1a678bab1a16f9a27ffd26853a39f4ed475c4f043874c7fe
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 26,
    "trace_id": "0x6c1066b33a20c62c1a678bab1a16f9a27ffd26853a39f4ed475c4f043874c7fe",
    "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": "0xc884ef83",
            "selector": "0xc884ef83",
            "calldata_variants": [
                "0xc884ef83",
                "0xc884ef830000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3f5b195",
            "selector": "0xe3f5b195",
            "calldata_variants": [
                "0xe3f5b195",
                "0xe3f5b1950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfdb4beda",
            "selector": "0xfdb4beda",
            "calldata_variants": [
                "0xfdb4beda",
                "0xfdb4beda0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x787fcbdb",
            "selector": "0x787fcbdb",
            "calldata_variants": [
                "0x787fcbdb",
                "0x787fcbdb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x82bfefc8",
            "selector": "0x82bfefc8",
            "calldata_variants": [
                "0x82bfefc8",
                "0x82bfefc80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3d13f874",
            "selector": "0x3d13f874",
            "calldata_variants": [
                "0x3d13f874",
                "0x3d13f8740000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 4145,
            "type": "tx_origin_used"
        }
    ],
    "selfdestruct_count": 1
}