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

Analysis Run

1a9e0ce9-35e3-4d02-9791-1568d4567ea0

failed
Chain ID
1
Address
Block Number
Created
Sun, Jan 4, 2026 4:24 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31556 report.consolidate complete 1 / 1 3 months ago
77963 artifact.fetch failed 1 / 3 1 week ago
77964 tool.cast_disasm complete 1 / 3 1 week ago
77965 analysis.bundle complete 1 / 3 1 week ago
77966 capability.graph complete 1 / 3 1 week ago
77967 detector.run complete 1 / 3 1 week ago
77968 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 concrete, exploitable profit paths found in the provided contract given its current access controls and redemption flow.
View stderr
[codex:737364] OpenAI Codex v0.77.0 (research preview)
[codex:737364] --------
[codex:737364] workdir: /tmp/codex-multi-uvjlvdl_
[codex:737364] model: gpt-5.2-codex
[codex:737364] provider: openai
[codex:737364] approval: never
[codex:737364] sandbox: read-only
[codex:737364] reasoning effort: xhigh
[codex:737364] reasoning summaries: auto
[codex:737364] session id: 019b873e-75b2-7372-bb97-204b6a8e888a
[codex:737364] --------
[codex:737364] user
[codex:737364] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:737364] 
[codex:737364] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:737364] 
[codex:737364] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:737364] - Gas inefficiency, code quality, naming, or best practices
[codex:737364] - Theoretical vulnerabilities without a clear extraction path
[codex:737364] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:737364] - Front-running unless it enables theft beyond MEV
[codex:737364] - DoS, griefing, or issues that don't result in attacker profit
[codex:737364] - Missing events, view function issues, or informational findings
[codex:737364] 
[codex:737364] HIGH-VALUE PATTERNS TO HUNT:
[codex:737364] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:737364] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:737364] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:737364] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:737364] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:737364] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:737364] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:737364] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:737364] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:737364] 
[codex:737364] For each finding, you MUST provide:
[codex:737364] 1. Exact file and line numbers of vulnerable code
[codex:737364] 2. Step-by-step exploit transaction sequence
[codex:737364] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:737364] 
[codex:737364] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:737364] 
[codex:737364] Output MUST be valid JSON matching the provided schema.
[codex:737364] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:737364] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:737364] mcp startup: no servers
[codex:737364] 
[codex:737364] thinking
[codex:737364] **Preparing to list files with ripgrep**
[codex:737364] exec
[codex:737364] /bin/bash -lc ls in /tmp/codex-multi-uvjlvdl_ succeeded in 5ms:
[codex:737364] AUDIT_BUNDLE.txt
[codex:737364] codex-output-schema.json
[codex:737364] contracts
[codex:737364] 
[codex:737364] thinking
[codex:737364] **Reading AUDIT_BUNDLE.txt contents**
[codex:737364] exec
[codex:737364] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-uvjlvdl_ succeeded in 6ms:
[codex:737364] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:737364] 
[codex:737364] ================================================================================
[codex:737364] FILE: contracts/Contract.sol
[codex:737364] ================================================================================
[codex:737364] // SPDX-License-Identifier: UNLICENSED
[codex:737364] pragma solidity 0.8.15;
[codex:737364] 
[codex:737364] // OpenZeppelin Contracts (last updated v4.7.0) (security/Pausable.sol)
[codex:737364] 
[codex:737364] // OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
[codex:737364] 
[codex:737364] /**
[codex:737364]  * @dev Provides information about the current execution context, including the
[codex:737364]  * sender of the transaction and its data. While these are generally available
[codex:737364]  * via msg.sender and msg.data, they should not be accessed in such a direct
[codex:737364]  * manner, since when dealing with meta-transactions the account sending and
[codex:737364]  * paying for execution may not be the actual sender (as far as an application
[codex:737364]  * is concerned).
[codex:737364]  *
[codex:737364] 
[codex:737364] 
[codex:737364] thinking
[codex:737364] **Analyzing redemption logic and potential exploits**
[codex:737364] thinking
[codex:737364] **Evaluating potential token-related vulnerabilities**
[codex:737364] 
[codex:737364] I'll carefully consider if ignoring the return value of `transferFrom` could enable an exploit given the possible behaviors of the spice token, but without its code, it's unclear if that risk is concrete. I’m checking if any other factors like reentrancy, supply manipulation, or rounding might lead to exploitable profit paths, but so far none appear concrete. It looks like no definitive profit exploit emerges from the contract alone under typical assumptions.
[codex:737364] codex
[codex:737364] {"no_findings":true,"summary":"No concrete, exploitable profit paths found in the provided contract given its current access controls and redemption flow.","findings":[]}
[codex:737364] tokens used
[codex:737364] 19,038
[codex:737364] {"no_findings":true,"summary":"No concrete, exploitable profit paths found in the provided contract given its current access controls and redemption flow.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-04T04:24:39.410480+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable profit paths found in the provided contract given its current access controls and redemption flow.",
    "raw_final": {
        "summary": "No concrete, exploitable profit paths found in the provided contract given its current access controls and redemption flow.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
6
EXT*/BALANCE
1
Total opcodes
1999
Flags
delegatecall_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 0x715018a6
00000019: GT
0000001a: PUSH2 0x007f
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x9358928b
00000024: GT
00000025: PUSH2 0x0059
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x9358928b
0000002f: EQ
00000030: PUSH2 0x0262
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xd39d3f42
0000003a: EQ
0000003b: PUSH2 0x0277
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xdb006a75
00000045: EQ
00000046: PUSH2 0x0297
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf2fde38b
00000050: EQ
00000051: PUSH2 0x02b7
00000054: JUMPI
00000055: PUSH1 0x00
00000057: DUP1
00000058: REVERT
00000059: JUMPDEST
0000005a: DUP1
0000005b: PUSH4 0x715018a6
00000060: EQ
00000061: PUSH2 0x020d
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0x8456cb59
0000006b: EQ
0000006c: PUSH2 0x0222
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x8da5cb5b
00000076: EQ
00000077: PUSH2 0x0237
0000007a: JUMPI
0000007b: PUSH1 0x00
0000007d: DUP1
0000007e: REVERT
0000007f: JUMPDEST
00000080: DUP1
00000081: PUSH4 0x4b0c9a91
00000086: GT
00000087: PUSH2 0x00b0
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0x4b0c9a91
00000091: EQ
00000092: PUSH2 0x0159
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x5c975abb
0000009c: EQ
0000009d: PUSH2 0x01b2
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x6ea056a9
000000a7: EQ
000000a8: PUSH2 0x01ed
000000ab: JUMPI
000000ac: PUSH1 0x00
000000ae: DUP1
000000af: REVERT
000000b0: JUMPDEST
000000b1: DUP1
000000b2: PUSH4 0x2f940c70
000000b7: EQ
000000b8: PUSH2 0x00e2
000000bb: JUMPI
000000bc: DUP1
000000bd: PUSH4 0x349abcdb
000000c2: EQ
000000c3: PUSH2 0x0104
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0x3f4ba83a
000000cd: EQ
000000ce: PUSH2 0x0144
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 0x0fff
000000fc: JUMP
000000fd: JUMPDEST
000000fe: PUSH2 0x02d7
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 0x0131
00000115: PUSH2 0x011f
00000118: CALLDATASIZE
00000119: PUSH1 0x04
0000011b: PUSH2 0x102b
0000011e: JUMP
0000011f: JUMPDEST
00000120: PUSH1 0x02
00000122: PUSH1 0x20
00000124: MSTORE
00000125: PUSH1 0x00
00000127: SWAP1
00000128: DUP2
00000129: MSTORE
0000012a: PUSH1 0x40
0000012c: SWAP1
0000012d: KECCAK256
0000012e: SLOAD
0000012f: DUP2
00000130: JUMP
00000131: JUMPDEST
00000132: PUSH1 0x40
00000134: MLOAD
00000135: SWAP1
00000136: DUP2
00000137: MSTORE
00000138: PUSH1 0x20
0000013a: ADD
0000013b: JUMPDEST
0000013c: PUSH1 0x40
0000013e: MLOAD
0000013f: DUP1
00000140: SWAP2
00000141: SUB
00000142: SWAP1
00000143: RETURN
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 0x0327
00000158: JUMP
00000159: JUMPDEST
0000015a: CALLVALUE
0000015b: DUP1
0000015c: ISZERO
0000015d: PUSH2 0x0165
00000160: JUMPI
00000161: PUSH1 0x00
00000163: DUP1
00000164: REVERT
00000165: JUMPDEST
00000166: POP
00000167: PUSH2 0x018d
0000016a: PUSH32 0x0000000000000000000000009b6db7597a74602a5a806e33408e7e2dafa58193
0000018b: DUP2
0000018c: JUMP
0000018d: JUMPDEST
0000018e: PUSH1 0x40
00000190: MLOAD
00000191: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001a6: SWAP1
000001a7: SWAP2
000001a8: AND
000001a9: DUP2
000001aa: MSTORE
000001ab: PUSH1 0x20
000001ad: ADD
000001ae: PUSH2 0x013b
000001b1: JUMP
000001b2: JUMPDEST
000001b3: CALLVALUE
000001b4: DUP1
000001b5: ISZERO
000001b6: PUSH2 0x01be
000001b9: JUMPI
000001ba: PUSH1 0x00
000001bc: DUP1
000001bd: REVERT
000001be: JUMPDEST
000001bf: POP
000001c0: PUSH1 0x00
000001c2: SLOAD
000001c3: PUSH21 0x010000000000000000000000000000000000000000
000001d9: SWAP1
000001da: DIV
000001db: PUSH1 0xff
000001dd: AND
000001de: PUSH1 0x40
000001e0: MLOAD
000001e1: SWAP1
000001e2: ISZERO
000001e3: ISZERO
000001e4: DUP2
000001e5: MSTORE
000001e6: PUSH1 0x20
000001e8: ADD
000001e9: PUSH2 0x013b
000001ec: JUMP
000001ed: JUMPDEST
000001ee: CALLVALUE
000001ef: DUP1
000001f0: ISZERO
000001f1: PUSH2 0x01f9
000001f4: JUMPI
000001f5: PUSH1 0x00
000001f7: DUP1
000001f8: REVERT
000001f9: JUMPDEST
000001fa: POP
000001fb: PUSH2 0x0102
000001fe: PUSH2 0x0208
00000201: CALLDATASIZE
00000202: PUSH1 0x04
00000204: PUSH2 0x104d
00000207: JUMP
00000208: JUMPDEST
00000209: PUSH2 0x0341
0000020c: JUMP
0000020d: JUMPDEST
0000020e: CALLVALUE
0000020f: DUP1
00000210: ISZERO
00000211: PUSH2 0x0219
00000214: JUMPI
00000215: PUSH1 0x00
00000217: DUP1
00000218: REVERT
00000219: JUMPDEST
0000021a: POP
0000021b: PUSH2 0x0102
0000021e: PUSH2 0x0412
00000221: JUMP
00000222: JUMPDEST
00000223: CALLVALUE
00000224: DUP1
00000225: ISZERO
00000226: PUSH2 0x022e
00000229: JUMPI
0000022a: PUSH1 0x00
0000022c: DUP1
0000022d: REVERT
0000022e: JUMPDEST
0000022f: POP
00000230: PUSH2 0x0102
00000233: PUSH2 0x0424
00000236: JUMP
00000237: JUMPDEST
00000238: CALLVALUE
00000239: DUP1
0000023a: ISZERO
0000023b: PUSH2 0x0243
0000023e: JUMPI
0000023f: PUSH1 0x00
00000241: DUP1
00000242: REVERT
00000243: JUMPDEST
00000244: POP
00000245: PUSH1 0x00
00000247: SLOAD
00000248: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000025d: AND
0000025e: PUSH2 0x018d
00000261: JUMP
00000262: JUMPDEST
00000263: CALLVALUE
00000264: DUP1
00000265: ISZERO
00000266: PUSH2 0x026e
00000269: JUMPI
0000026a: PUSH1 0x00
0000026c: DUP1
0000026d: REVERT
0000026e: JUMPDEST
0000026f: POP
00000270: PUSH2 0x0131
00000273: PUSH2 0x043c
00000276: JUMP
00000277: JUMPDEST
00000278: CALLVALUE
00000279: DUP1
0000027a: ISZERO
0000027b: PUSH2 0x0283
0000027e: JUMPI
0000027f: PUSH1 0x00
00000281: DUP1
00000282: REVERT
00000283: JUMPDEST
00000284: POP
00000285: PUSH2 0x0131
00000288: PUSH2 0x0292
0000028b: CALLDATASIZE
0000028c: PUSH1 0x04
0000028e: PUSH2 0x1077
00000291: JUMP
00000292: JUMPDEST
00000293: PUSH2 0x058b
00000296: JUMP
00000297: JUMPDEST
00000298: CALLVALUE
00000299: DUP1
0000029a: ISZERO
0000029b: PUSH2 0x02a3
0000029e: JUMPI
0000029f: PUSH1 0x00
000002a1: DUP1
000002a2: REVERT
000002a3: JUMPDEST
000002a4: POP
000002a5: PUSH2 0x0102
000002a8: PUSH2 0x02b2
000002ab: CALLDATASIZE
000002ac: PUSH1 0x04
000002ae: PUSH2 0x1077
000002b1: JUMP
000002b2: JUMPDEST
000002b3: PUSH2 0x05c5
000002b6: JUMP
000002b7: JUMPDEST
000002b8: CALLVALUE
000002b9: DUP1
000002ba: ISZERO
000002bb: PUSH2 0x02c3
000002be: JUMPI
000002bf: PUSH1 0x00
000002c1: DUP1
000002c2: REVERT
000002c3: JUMPDEST
000002c4: POP
000002c5: PUSH2 0x0102
000002c8: PUSH2 0x02d2
000002cb: CALLDATASIZE
000002cc: PUSH1 0x04
000002ce: PUSH2 0x102b
000002d1: JUMP
000002d2: JUMPDEST
000002d3: PUSH2 0x081c
000002d6: JUMP
000002d7: JUMPDEST
000002d8: PUSH2 0x02df
000002db: PUSH2 0x08d0
000002de: JUMP
000002df: JUMPDEST
000002e0: PUSH1 0x40
000002e2: MLOAD
000002e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002f8: DUP3
000002f9: AND
000002fa: SWAP1
000002fb: DUP4
000002fc: ISZERO
000002fd: PUSH2 0x08fc
00000300: MUL
00000301: SWAP1
00000302: DUP5
00000303: SWAP1
00000304: PUSH1 0x00
00000306: DUP2
00000307: DUP2
00000308: DUP2
00000309: DUP6
0000030a: DUP9
0000030b: DUP9
0000030c: CALL
0000030d: SWAP4
0000030e: POP
0000030f: POP
00000310: POP
00000311: POP
00000312: ISZERO
00000313: DUP1
00000314: ISZERO
00000315: PUSH2 0x0322
00000318: JUMPI
00000319: RETURNDATASIZE
0000031a: PUSH1 0x00
0000031c: DUP1
0000031d: RETURNDATACOPY
0000031e: RETURNDATASIZE
0000031f: PUSH1 0x00
00000321: REVERT
00000322: JUMPDEST
00000323: POP
00000324: POP
00000325: POP
00000326: JUMP
00000327: JUMPDEST
00000328: PUSH2 0x032f
0000032b: PUSH2 0x08d0
0000032e: JUMP
0000032f: JUMPDEST
00000330: PUSH2 0x0337
00000333: PUSH2 0x0951
00000336: JUMP
00000337: JUMPDEST
00000338: PUSH2 0x033f
0000033b: PUSH2 0x09d5
0000033e: JUMP
0000033f: JUMPDEST
00000340: JUMP
00000341: JUMPDEST
00000342: PUSH2 0x0349
00000345: PUSH2 0x08d0
00000348: JUMP
00000349: JUMPDEST
0000034a: PUSH32 0x0000000000000000000000009b6db7597a74602a5a806e33408e7e2dafa58193
0000036b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000380: AND
00000381: DUP3
00000382: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000397: AND
00000398: SUB
00000399: PUSH2 0x0403
0000039c: JUMPI
0000039d: PUSH1 0x40
0000039f: MLOAD
000003a0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000003c1: DUP2
000003c2: MSTORE
000003c3: PUSH1 0x20
000003c5: PUSH1 0x04
000003c7: DUP3
000003c8: ADD
000003c9: MSTORE
000003ca: PUSH1 0x12
000003cc: PUSH1 0x24
000003ce: DUP3
000003cf: ADD
000003d0: MSTORE
000003d1: PUSH32 0x43616e6e6f742053776565702053504943450000000000000000000000000000
000003f2: PUSH1 0x44
000003f4: DUP3
000003f5: ADD
000003f6: MSTORE
000003f7: PUSH1 0x64
000003f9: ADD
000003fa: JUMPDEST
000003fb: PUSH1 0x40
000003fd: MLOAD
000003fe: DUP1
000003ff: SWAP2
00000400: SUB
00000401: SWAP1
00000402: REVERT
00000403: JUMPDEST
00000404: PUSH2 0x040e
00000407: DUP3
00000408: CALLER
00000409: DUP4
0000040a: PUSH2 0x0a52
0000040d: JUMP
0000040e: JUMPDEST
0000040f: POP
00000410: POP
00000411: JUMP
00000412: JUMPDEST
00000413: PUSH2 0x041a
00000416: PUSH2 0x08d0
00000419: JUMP
0000041a: JUMPDEST
0000041b: PUSH2 0x033f
0000041e: PUSH1 0x00
00000420: PUSH2 0x0adf
00000423: JUMP
00000424: JUMPDEST
00000425: PUSH2 0x042c
00000428: PUSH2 0x08d0
0000042b: JUMP
0000042c: JUMPDEST
0000042d: PUSH2 0x0434
00000430: PUSH2 0x0b54
00000433: JUMP
00000434: JUMPDEST
00000435: PUSH2 0x033f
00000438: PUSH2 0x0bd9
0000043b: JUMP
0000043c: JUMPDEST
0000043d: PUSH1 0x40
0000043f: MLOAD
00000440: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00000461: DUP2
00000462: MSTORE
00000463: ADDRESS
00000464: PUSH1 0x04
00000466: DUP3
00000467: ADD
00000468: MSTORE
00000469: PUSH1 0x00
0000046b: SWAP1
0000046c: PUSH32 0x0000000000000000000000009b6db7597a74602a5a806e33408e7e2dafa58193
0000048d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004a2: AND
000004a3: SWAP1
000004a4: PUSH4 0x70a08231
000004a9: SWAP1
000004aa: PUSH1 0x24
000004ac: ADD
000004ad: PUSH1 0x20
000004af: PUSH1 0x40
000004b1: MLOAD
000004b2: DUP1
000004b3: DUP4
000004b4: SUB
000004b5: DUP2
000004b6: DUP7
000004b7: GAS
000004b8: STATICCALL
000004b9: ISZERO
000004ba: DUP1
000004bb: ISZERO
000004bc: PUSH2 0x04c9
000004bf: JUMPI
000004c0: RETURNDATASIZE
000004c1: PUSH1 0x00
000004c3: DUP1
000004c4: RETURNDATACOPY
000004c5: RETURNDATASIZE
000004c6: PUSH1 0x00
000004c8: REVERT
000004c9: JUMPDEST
000004ca: POP
000004cb: POP
000004cc: POP
000004cd: POP
000004ce: PUSH1 0x40
000004d0: MLOAD
000004d1: RETURNDATASIZE
000004d2: PUSH1 0x1f
000004d4: NOT
000004d5: PUSH1 0x1f
000004d7: DUP3
000004d8: ADD
000004d9: AND
000004da: DUP3
000004db: ADD
000004dc: DUP1
000004dd: PUSH1 0x40
000004df: MSTORE
000004e0: POP
000004e1: DUP2
000004e2: ADD
000004e3: SWAP1
000004e4: PUSH2 0x04ed
000004e7: SWAP2
000004e8: SWAP1
000004e9: PUSH2 0x1090
000004ec: JUMP
000004ed: JUMPDEST
000004ee: PUSH32 0x0000000000000000000000009b6db7597a74602a5a806e33408e7e2dafa58193
0000050f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000524: AND
00000525: PUSH4 0x18160ddd
0000052a: PUSH1 0x40
0000052c: MLOAD
0000052d: DUP2
0000052e: PUSH4 0xffffffff
00000533: AND
00000534: PUSH1 0xe0
00000536: SHL
00000537: DUP2
00000538: MSTORE
00000539: PUSH1 0x04
0000053b: ADD
0000053c: PUSH1 0x20
0000053e: PUSH1 0x40
00000540: MLOAD
00000541: DUP1
00000542: DUP4
00000543: SUB
00000544: DUP2
00000545: DUP7
00000546: GAS
00000547: STATICCALL
00000548: ISZERO
00000549: DUP1
0000054a: ISZERO
0000054b: PUSH2 0x0558
0000054e: JUMPI
0000054f: RETURNDATASIZE
00000550: PUSH1 0x00
00000552: DUP1
00000553: RETURNDATACOPY
00000554: RETURNDATASIZE
00000555: PUSH1 0x00
00000557: REVERT
00000558: JUMPDEST
00000559: POP
0000055a: POP
0000055b: POP
0000055c: POP
0000055d: PUSH1 0x40
0000055f: MLOAD
00000560: RETURNDATASIZE
00000561: PUSH1 0x1f
00000563: NOT
00000564: PUSH1 0x1f
00000566: DUP3
00000567: ADD
00000568: AND
00000569: DUP3
0000056a: ADD
0000056b: DUP1
0000056c: PUSH1 0x40
0000056e: MSTORE
0000056f: POP
00000570: DUP2
00000571: ADD
00000572: SWAP1
00000573: PUSH2 0x057c
00000576: SWAP2
00000577: SWAP1
00000578: PUSH2 0x1090
0000057b: JUMP
0000057c: JUMPDEST
0000057d: PUSH2 0x0586
00000580: SWAP2
00000581: SWAP1
00000582: PUSH2 0x10d8
00000585: JUMP
00000586: JUMPDEST
00000587: SWAP1
00000588: POP
00000589: SWAP1
0000058a: JUMP
0000058b: JUMPDEST
0000058c: PUSH1 0x00
0000058e: DUP1
0000058f: PUSH2 0x0596
00000592: PUSH2 0x043c
00000595: JUMP
00000596: JUMPDEST
00000597: SWAP1
00000598: POP
00000599: DUP1
0000059a: ISZERO
0000059b: PUSH2 0x05ba
0000059e: JUMPI
0000059f: DUP1
000005a0: PUSH2 0x05a9
000005a3: SELFBALANCE
000005a4: DUP6
000005a5: PUSH2 0x10ef
000005a8: JUMP
000005a9: JUMPDEST
000005aa: PUSH2 0x05b3
000005ad: SWAP2
000005ae: SWAP1
000005af: PUSH2 0x112c
000005b2: JUMP
000005b3: JUMPDEST
000005b4: SWAP2
000005b5: POP
000005b6: PUSH2 0x05bf
000005b9: JUMP
000005ba: JUMPDEST
000005bb: PUSH1 0x00
000005bd: SWAP2
000005be: POP
000005bf: JUMPDEST
000005c0: POP
000005c1: SWAP2
000005c2: SWAP1
000005c3: POP
000005c4: JUMP
000005c5: JUMPDEST
000005c6: PUSH2 0x05cd
000005c9: PUSH2 0x0c48
000005cc: JUMP
000005cd: JUMPDEST
000005ce: PUSH2 0x05d5
000005d1: PUSH2 0x0b54
000005d4: JUMP
000005d5: JUMPDEST
000005d6: PUSH1 0x00
000005d8: DUP2
000005d9: GT
000005da: PUSH2 0x063f
000005dd: JUMPI
000005de: PUSH1 0x40
000005e0: MLOAD
000005e1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000602: DUP2
00000603: MSTORE
00000604: PUSH1 0x20
00000606: PUSH1 0x04
00000608: DUP3
00000609: ADD
0000060a: MSTORE
0000060b: PUSH1 0x0e
0000060d: PUSH1 0x24
0000060f: DUP3
00000610: ADD
00000611: MSTORE
00000612: PUSH32 0x696e76616c696420616d6f756e74000000000000000000000000000000000000
00000633: PUSH1 0x44
00000635: DUP3
00000636: ADD
00000637: MSTORE
00000638: PUSH1 0x64
0000063a: ADD
0000063b: PUSH2 0x03fa
0000063e: JUMP
0000063f: JUMPDEST
00000640: PUSH1 0x00
00000642: PUSH2 0x0649
00000645: PUSH2 0x043c
00000648: JUMP
00000649: JUMPDEST
0000064a: SWAP1
0000064b: POP
0000064c: PUSH1 0x00
0000064e: DUP2
0000064f: GT
00000650: PUSH2 0x06b5
00000653: JUMPI
00000654: PUSH1 0x40
00000656: MLOAD
00000657: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000678: DUP2
00000679: MSTORE
0000067a: PUSH1 0x20
0000067c: PUSH1 0x04
0000067e: DUP3
0000067f: ADD
00000680: MSTORE
00000681: PUSH1 0x16
00000683: PUSH1 0x24
00000685: DUP3
00000686: ADD
00000687: MSTORE
00000688: PUSH32 0x7370696365206e6f206c6f6e6765722065786973747300000000000000000000
000006a9: PUSH1 0x44
000006ab: DUP3
000006ac: ADD
000006ad: MSTORE
000006ae: PUSH1 0x64
000006b0: ADD
000006b1: PUSH2 0x03fa
000006b4: JUMP
000006b5: JUMPDEST
000006b6: PUSH1 0x00
000006b8: PUSH2 0x06c0
000006bb: DUP4
000006bc: PUSH2 0x058b
000006bf: JUMP
000006c0: JUMPDEST
000006c1: PUSH1 0x40
000006c3: MLOAD
000006c4: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
000006e5: DUP2
000006e6: MSTORE
000006e7: CALLER
000006e8: PUSH1 0x04
000006ea: DUP3
000006eb: ADD
000006ec: MSTORE
000006ed: ADDRESS
000006ee: PUSH1 0x24
000006f0: DUP3
000006f1: ADD
000006f2: MSTORE
000006f3: PUSH1 0x44
000006f5: DUP2
000006f6: ADD
000006f7: DUP6
000006f8: SWAP1
000006f9: MSTORE
000006fa: SWAP1
000006fb: SWAP2
000006fc: POP
000006fd: PUSH32 0x0000000000000000000000009b6db7597a74602a5a806e33408e7e2dafa58193
0000071e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000733: AND
00000734: SWAP1
00000735: PUSH4 0x23b872dd
0000073a: SWAP1
0000073b: PUSH1 0x64
0000073d: ADD
0000073e: PUSH1 0x20
00000740: PUSH1 0x40
00000742: MLOAD
00000743: DUP1
00000744: DUP4
00000745: SUB
00000746: DUP2
00000747: PUSH1 0x00
00000749: DUP8
0000074a: GAS
0000074b: CALL
0000074c: ISZERO
0000074d: DUP1
0000074e: ISZERO
0000074f: PUSH2 0x075c
00000752: JUMPI
00000753: RETURNDATASIZE
00000754: PUSH1 0x00
00000756: DUP1
00000757: RETURNDATACOPY
00000758: RETURNDATASIZE
00000759: PUSH1 0x00
0000075b: REVERT
0000075c: JUMPDEST
0000075d: POP
0000075e: POP
0000075f: POP
00000760: POP
00000761: PUSH1 0x40
00000763: MLOAD
00000764: RETURNDATASIZE
00000765: PUSH1 0x1f
00000767: NOT
00000768: PUSH1 0x1f
0000076a: DUP3
0000076b: ADD
0000076c: AND
0000076d: DUP3
0000076e: ADD
0000076f: DUP1
00000770: PUSH1 0x40
00000772: MSTORE
00000773: POP
00000774: DUP2
00000775: ADD
00000776: SWAP1
00000777: PUSH2 0x0780
0000077a: SWAP2
0000077b: SWAP1
0000077c: PUSH2 0x1167
0000077f: JUMP
00000780: JUMPDEST
00000781: POP
00000782: CALLER
00000783: PUSH1 0x00
00000785: SWAP1
00000786: DUP2
00000787: MSTORE
00000788: PUSH1 0x02
0000078a: PUSH1 0x20
0000078c: MSTORE
0000078d: PUSH1 0x40
0000078f: DUP2
00000790: KECCAK256
00000791: DUP1
00000792: SLOAD
00000793: DUP6
00000794: SWAP3
00000795: SWAP1
00000796: PUSH2 0x07a0
00000799: SWAP1
0000079a: DUP5
0000079b: SWAP1
0000079c: PUSH2 0x1189
0000079f: JUMP
000007a0: JUMPDEST
000007a1: SWAP1
000007a2: SWAP2
000007a3: SSTORE
000007a4: POP
000007a5: POP
000007a6: PUSH1 0x40
000007a8: MLOAD
000007a9: CALLER
000007aa: SWAP1
000007ab: DUP3
000007ac: ISZERO
000007ad: PUSH2 0x08fc
000007b0: MUL
000007b1: SWAP1
000007b2: DUP4
000007b3: SWAP1
000007b4: PUSH1 0x00
000007b6: DUP2
000007b7: DUP2
000007b8: DUP2
000007b9: DUP6
000007ba: DUP9
000007bb: DUP9
000007bc: CALL
000007bd: SWAP4
000007be: POP
000007bf: POP
000007c0: POP
000007c1: POP
000007c2: ISZERO
000007c3: DUP1
000007c4: ISZERO
000007c5: PUSH2 0x07d2
000007c8: JUMPI
000007c9: RETURNDATASIZE
000007ca: PUSH1 0x00
000007cc: DUP1
000007cd: RETURNDATACOPY
000007ce: RETURNDATASIZE
000007cf: PUSH1 0x00
000007d1: REVERT
000007d2: JUMPDEST
000007d3: POP
000007d4: PUSH1 0x40
000007d6: DUP1
000007d7: MLOAD
000007d8: DUP5
000007d9: DUP2
000007da: MSTORE
000007db: PUSH1 0x20
000007dd: DUP2
000007de: ADD
000007df: DUP4
000007e0: SWAP1
000007e1: MSTORE
000007e2: CALLER
000007e3: SWAP2
000007e4: PUSH32 0xf3a670cd3af7d64b488926880889d08a8585a138ff455227af6737339a1ec262
00000805: SWAP2
00000806: ADD
00000807: PUSH1 0x40
00000809: MLOAD
0000080a: DUP1
0000080b: SWAP2
0000080c: SUB
0000080d: SWAP1
0000080e: LOG2
0000080f: POP
00000810: POP
00000811: PUSH2 0x0819
00000814: PUSH1 0x01
00000816: DUP1
00000817: SSTORE
00000818: JUMP
00000819: JUMPDEST
0000081a: POP
0000081b: JUMP
0000081c: JUMPDEST
0000081d: PUSH2 0x0824
00000820: PUSH2 0x08d0
00000823: JUMP
00000824: JUMPDEST
00000825: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000083a: DUP2
0000083b: AND
0000083c: PUSH2 0x08c7
0000083f: JUMPI
00000840: PUSH1 0x40
00000842: MLOAD
00000843: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000864: DUP2
00000865: MSTORE
00000866: PUSH1 0x20
00000868: PUSH1 0x04
0000086a: DUP3
0000086b: ADD
0000086c: MSTORE
0000086d: PUSH1 0x26
0000086f: PUSH1 0x24
00000871: DUP3
00000872: ADD
00000873: MSTORE
00000874: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
00000895: PUSH1 0x44
00000897: DUP3
00000898: ADD
00000899: MSTORE
0000089a: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000
000008bb: PUSH1 0x64
000008bd: DUP3
000008be: ADD
000008bf: MSTORE
000008c0: PUSH1 0x84
000008c2: ADD
000008c3: PUSH2 0x03fa
000008c6: JUMP
000008c7: JUMPDEST
000008c8: PUSH2 0x0819
000008cb: DUP2
000008cc: PUSH2 0x0adf
000008cf: JUMP
000008d0: JUMPDEST
000008d1: PUSH1 0x00
000008d3: SLOAD
000008d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008e9: AND
000008ea: CALLER
000008eb: EQ
000008ec: PUSH2 0x033f
000008ef: JUMPI
000008f0: PUSH1 0x40
000008f2: MLOAD
000008f3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000914: DUP2
00000915: MSTORE
00000916: PUSH1 0x20
00000918: PUSH1 0x04
0000091a: DUP3
0000091b: ADD
0000091c: DUP2
0000091d: SWAP1
0000091e: MSTORE
0000091f: PUSH1 0x24
00000921: DUP3
00000922: ADD
00000923: MSTORE
00000924: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000945: PUSH1 0x44
00000947: DUP3
00000948: ADD
00000949: MSTORE
0000094a: PUSH1 0x64
0000094c: ADD
0000094d: PUSH2 0x03fa
00000950: JUMP
00000951: JUMPDEST
00000952: PUSH1 0x00
00000954: SLOAD
00000955: PUSH21 0x010000000000000000000000000000000000000000
0000096b: SWAP1
0000096c: DIV
0000096d: PUSH1 0xff
0000096f: AND
00000970: PUSH2 0x033f
00000973: JUMPI
00000974: PUSH1 0x40
00000976: MLOAD
00000977: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000998: DUP2
00000999: MSTORE
0000099a: PUSH1 0x20
0000099c: PUSH1 0x04
0000099e: DUP3
0000099f: ADD
000009a0: MSTORE
000009a1: PUSH1 0x14
000009a3: PUSH1 0x24
000009a5: DUP3
000009a6: ADD
000009a7: MSTORE
000009a8: PUSH32 0x5061757361626c653a206e6f7420706175736564000000000000000000000000
000009c9: PUSH1 0x44
000009cb: DUP3
000009cc: ADD
000009cd: MSTORE
000009ce: PUSH1 0x64
000009d0: ADD
000009d1: PUSH2 0x03fa
000009d4: JUMP
000009d5: JUMPDEST
000009d6: PUSH2 0x09dd
000009d9: PUSH2 0x0951
000009dc: JUMP
000009dd: JUMPDEST
000009de: PUSH1 0x00
000009e0: DUP1
000009e1: SLOAD
000009e2: PUSH32 0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff
00000a03: AND
00000a04: SWAP1
00000a05: SSTORE
00000a06: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
00000a27: CALLER
00000a28: JUMPDEST
00000a29: PUSH1 0x40
00000a2b: MLOAD
00000a2c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a41: SWAP1
00000a42: SWAP2
00000a43: AND
00000a44: DUP2
00000a45: MSTORE
00000a46: PUSH1 0x20
00000a48: ADD
00000a49: PUSH1 0x40
00000a4b: MLOAD
00000a4c: DUP1
00000a4d: SWAP2
00000a4e: SUB
00000a4f: SWAP1
00000a50: LOG1
00000a51: JUMP
00000a52: JUMPDEST
00000a53: PUSH1 0x40
00000a55: DUP1
00000a56: MLOAD
00000a57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a6c: DUP5
00000a6d: AND
00000a6e: PUSH1 0x24
00000a70: DUP3
00000a71: ADD
00000a72: MSTORE
00000a73: PUSH1 0x44
00000a75: DUP1
00000a76: DUP3
00000a77: ADD
00000a78: DUP5
00000a79: SWAP1
00000a7a: MSTORE
00000a7b: DUP3
00000a7c: MLOAD
00000a7d: DUP1
00000a7e: DUP4
00000a7f: SUB
00000a80: SWAP1
00000a81: SWAP2
00000a82: ADD
00000a83: DUP2
00000a84: MSTORE
00000a85: PUSH1 0x64
00000a87: SWAP1
00000a88: SWAP2
00000a89: ADD
00000a8a: SWAP1
00000a8b: SWAP2
00000a8c: MSTORE
00000a8d: PUSH1 0x20
00000a8f: DUP2
00000a90: ADD
00000a91: DUP1
00000a92: MLOAD
00000a93: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000ab0: AND
00000ab1: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00000ad2: OR
00000ad3: SWAP1
00000ad4: MSTORE
00000ad5: PUSH2 0x0322
00000ad8: SWAP1
00000ad9: DUP5
00000ada: SWAP1
00000adb: PUSH2 0x0cbb
00000ade: JUMP
00000adf: JUMPDEST
00000ae0: PUSH1 0x00
00000ae2: DUP1
00000ae3: SLOAD
00000ae4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000af9: DUP4
00000afa: DUP2
00000afb: AND
00000afc: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000b1d: DUP4
00000b1e: AND
00000b1f: DUP2
00000b20: OR
00000b21: DUP5
00000b22: SSTORE
00000b23: PUSH1 0x40
00000b25: MLOAD
00000b26: SWAP2
00000b27: SWAP1
00000b28: SWAP3
00000b29: AND
00000b2a: SWAP3
00000b2b: DUP4
00000b2c: SWAP2
00000b2d: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000b4e: SWAP2
00000b4f: SWAP1
00000b50: LOG3
00000b51: POP
00000b52: POP
00000b53: JUMP
00000b54: JUMPDEST
00000b55: PUSH1 0x00
00000b57: SLOAD
00000b58: PUSH21 0x010000000000000000000000000000000000000000
00000b6e: SWAP1
00000b6f: DIV
00000b70: PUSH1 0xff
00000b72: AND
00000b73: ISZERO
00000b74: PUSH2 0x033f
00000b77: JUMPI
00000b78: PUSH1 0x40
00000b7a: MLOAD
00000b7b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000b9c: DUP2
00000b9d: MSTORE
00000b9e: PUSH1 0x20
00000ba0: PUSH1 0x04
00000ba2: DUP3
00000ba3: ADD
00000ba4: MSTORE
00000ba5: PUSH1 0x10
00000ba7: PUSH1 0x24
00000ba9: DUP3
00000baa: ADD
00000bab: MSTORE
00000bac: PUSH32 0x5061757361626c653a2070617573656400000000000000000000000000000000
00000bcd: PUSH1 0x44
00000bcf: DUP3
00000bd0: ADD
00000bd1: MSTORE
00000bd2: PUSH1 0x64
00000bd4: ADD
00000bd5: PUSH2 0x03fa
00000bd8: JUMP
00000bd9: JUMPDEST
00000bda: PUSH2 0x0be1
00000bdd: PUSH2 0x0b54
00000be0: JUMP
00000be1: JUMPDEST
00000be2: PUSH1 0x00
00000be4: DUP1
00000be5: SLOAD
00000be6: PUSH32 0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff
00000c07: AND
00000c08: PUSH21 0x010000000000000000000000000000000000000000
00000c1e: OR
00000c1f: SWAP1
00000c20: SSTORE
00000c21: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
00000c42: PUSH2 0x0a28
00000c45: CALLER
00000c46: SWAP1
00000c47: JUMP
00000c48: JUMPDEST
00000c49: PUSH1 0x02
00000c4b: PUSH1 0x01
00000c4d: SLOAD
00000c4e: SUB
00000c4f: PUSH2 0x0cb4
00000c52: JUMPI
00000c53: PUSH1 0x40
00000c55: MLOAD
00000c56: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000c77: DUP2
00000c78: MSTORE
00000c79: PUSH1 0x20
00000c7b: PUSH1 0x04
00000c7d: DUP3
00000c7e: ADD
00000c7f: MSTORE
00000c80: PUSH1 0x1f
00000c82: PUSH1 0x24
00000c84: DUP3
00000c85: ADD
00000c86: MSTORE
00000c87: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
00000ca8: PUSH1 0x44
00000caa: DUP3
00000cab: ADD
00000cac: MSTORE
00000cad: PUSH1 0x64
00000caf: ADD
00000cb0: PUSH2 0x03fa
00000cb3: JUMP
00000cb4: JUMPDEST
00000cb5: PUSH1 0x02
00000cb7: PUSH1 0x01
00000cb9: SSTORE
00000cba: JUMP
00000cbb: JUMPDEST
00000cbc: PUSH1 0x00
00000cbe: PUSH2 0x0d1d
00000cc1: DUP3
00000cc2: PUSH1 0x40
00000cc4: MLOAD
00000cc5: DUP1
00000cc6: PUSH1 0x40
00000cc8: ADD
00000cc9: PUSH1 0x40
00000ccb: MSTORE
00000ccc: DUP1
00000ccd: PUSH1 0x20
00000ccf: DUP2
00000cd0: MSTORE
00000cd1: PUSH1 0x20
00000cd3: ADD
00000cd4: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00000cf5: DUP2
00000cf6: MSTORE
00000cf7: POP
00000cf8: DUP6
00000cf9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d0e: AND
00000d0f: PUSH2 0x0dc7
00000d12: SWAP1
00000d13: SWAP3
00000d14: SWAP2
00000d15: SWAP1
00000d16: PUSH4 0xffffffff
00000d1b: AND
00000d1c: JUMP
00000d1d: JUMPDEST
00000d1e: DUP1
00000d1f: MLOAD
00000d20: SWAP1
00000d21: SWAP2
00000d22: POP
00000d23: ISZERO
00000d24: PUSH2 0x0322
00000d27: JUMPI
00000d28: DUP1
00000d29: DUP1
00000d2a: PUSH1 0x20
00000d2c: ADD
00000d2d: SWAP1
00000d2e: MLOAD
00000d2f: DUP2
00000d30: ADD
00000d31: SWAP1
00000d32: PUSH2 0x0d3b
00000d35: SWAP2
00000d36: SWAP1
00000d37: PUSH2 0x1167
00000d3a: JUMP
00000d3b: JUMPDEST
00000d3c: PUSH2 0x0322
00000d3f: JUMPI
00000d40: PUSH1 0x40
00000d42: MLOAD
00000d43: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000d64: DUP2
00000d65: MSTORE
00000d66: PUSH1 0x20
00000d68: PUSH1 0x04
00000d6a: DUP3
00000d6b: ADD
00000d6c: MSTORE
00000d6d: PUSH1 0x2a
00000d6f: PUSH1 0x24
00000d71: DUP3
00000d72: ADD
00000d73: MSTORE
00000d74: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00000d95: PUSH1 0x44
00000d97: DUP3
00000d98: ADD
00000d99: MSTORE
00000d9a: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
00000dbb: PUSH1 0x64
00000dbd: DUP3
00000dbe: ADD
00000dbf: MSTORE
00000dc0: PUSH1 0x84
00000dc2: ADD
00000dc3: PUSH2 0x03fa
00000dc6: JUMP
00000dc7: JUMPDEST
00000dc8: PUSH1 0x60
00000dca: PUSH2 0x0dd6
00000dcd: DUP5
00000dce: DUP5
00000dcf: PUSH1 0x00
00000dd1: DUP6
00000dd2: PUSH2 0x0dde
00000dd5: JUMP
00000dd6: JUMPDEST
00000dd7: SWAP5
00000dd8: SWAP4
00000dd9: POP
00000dda: POP
00000ddb: POP
00000ddc: POP
00000ddd: JUMP
00000dde: JUMPDEST
00000ddf: PUSH1 0x60
00000de1: DUP3
00000de2: SELFBALANCE
00000de3: LT
00000de4: ISZERO
00000de5: PUSH2 0x0e70
00000de8: JUMPI
00000de9: PUSH1 0x40
00000deb: MLOAD
00000dec: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000e0d: DUP2
00000e0e: MSTORE
00000e0f: PUSH1 0x20
00000e11: PUSH1 0x04
00000e13: DUP3
00000e14: ADD
00000e15: MSTORE
00000e16: PUSH1 0x26
00000e18: PUSH1 0x24
00000e1a: DUP3
00000e1b: ADD
00000e1c: MSTORE
00000e1d: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00000e3e: PUSH1 0x44
00000e40: DUP3
00000e41: ADD
00000e42: MSTORE
00000e43: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000
00000e64: PUSH1 0x64
00000e66: DUP3
00000e67: ADD
00000e68: MSTORE
00000e69: PUSH1 0x84
00000e6b: ADD
00000e6c: PUSH2 0x03fa
00000e6f: JUMP
00000e70: JUMPDEST
00000e71: PUSH1 0x00
00000e73: DUP1
00000e74: DUP7
00000e75: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e8a: AND
00000e8b: DUP6
00000e8c: DUP8
00000e8d: PUSH1 0x40
00000e8f: MLOAD
00000e90: PUSH2 0x0e99
00000e93: SWAP2
00000e94: SWAP1
00000e95: PUSH2 0x11d1
00000e98: JUMP
00000e99: JUMPDEST
00000e9a: PUSH1 0x00
00000e9c: PUSH1 0x40
00000e9e: MLOAD
00000e9f: DUP1
00000ea0: DUP4
00000ea1: SUB
00000ea2: DUP2
00000ea3: DUP6
00000ea4: DUP8
00000ea5: GAS
00000ea6: CALL
00000ea7: SWAP3
00000ea8: POP
00000ea9: POP
00000eaa: POP
00000eab: RETURNDATASIZE
00000eac: DUP1
00000ead: PUSH1 0x00
00000eaf: DUP2
00000eb0: EQ
00000eb1: PUSH2 0x0ed6
00000eb4: JUMPI
00000eb5: PUSH1 0x40
00000eb7: MLOAD
00000eb8: SWAP2
00000eb9: POP
00000eba: PUSH1 0x1f
00000ebc: NOT
00000ebd: PUSH1 0x3f
00000ebf: RETURNDATASIZE
00000ec0: ADD
00000ec1: AND
00000ec2: DUP3
00000ec3: ADD
00000ec4: PUSH1 0x40
00000ec6: MSTORE
00000ec7: RETURNDATASIZE
00000ec8: DUP3
00000ec9: MSTORE
00000eca: RETURNDATASIZE
00000ecb: PUSH1 0x00
00000ecd: PUSH1 0x20
00000ecf: DUP5
00000ed0: ADD
00000ed1: RETURNDATACOPY
00000ed2: PUSH2 0x0edb
00000ed5: JUMP
00000ed6: JUMPDEST
00000ed7: PUSH1 0x60
00000ed9: SWAP2
00000eda: POP
00000edb: JUMPDEST
00000edc: POP
00000edd: SWAP2
00000ede: POP
00000edf: SWAP2
00000ee0: POP
00000ee1: PUSH2 0x0eec
00000ee4: DUP8
00000ee5: DUP4
00000ee6: DUP4
00000ee7: DUP8
00000ee8: PUSH2 0x0ef7
00000eeb: JUMP
00000eec: JUMPDEST
00000eed: SWAP8
00000eee: SWAP7
00000eef: POP
00000ef0: POP
00000ef1: POP
00000ef2: POP
00000ef3: POP
00000ef4: POP
00000ef5: POP
00000ef6: JUMP
00000ef7: JUMPDEST
00000ef8: PUSH1 0x60
00000efa: DUP4
00000efb: ISZERO
00000efc: PUSH2 0x0f8d
00000eff: JUMPI
00000f00: DUP3
00000f01: MLOAD
00000f02: PUSH1 0x00
00000f04: SUB
00000f05: PUSH2 0x0f86
00000f08: JUMPI
00000f09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f1e: DUP6
00000f1f: AND
00000f20: EXTCODESIZE
00000f21: PUSH2 0x0f86
00000f24: JUMPI
00000f25: PUSH1 0x40
00000f27: MLOAD
00000f28: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000f49: DUP2
00000f4a: MSTORE
00000f4b: PUSH1 0x20
00000f4d: PUSH1 0x04
00000f4f: DUP3
00000f50: ADD
00000f51: MSTORE
00000f52: PUSH1 0x1d
00000f54: PUSH1 0x24
00000f56: DUP3
00000f57: ADD
00000f58: MSTORE
00000f59: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00000f7a: PUSH1 0x44
00000f7c: DUP3
00000f7d: ADD
00000f7e: MSTORE
00000f7f: PUSH1 0x64
00000f81: ADD
00000f82: PUSH2 0x03fa
00000f85: JUMP
00000f86: JUMPDEST
00000f87: POP
00000f88: DUP2
00000f89: PUSH2 0x0dd6
00000f8c: JUMP
00000f8d: JUMPDEST
00000f8e: PUSH2 0x0dd6
00000f91: DUP4
00000f92: DUP4
00000f93: DUP2
00000f94: MLOAD
00000f95: ISZERO
00000f96: PUSH2 0x0fa2
00000f99: JUMPI
00000f9a: DUP2
00000f9b: MLOAD
00000f9c: DUP1
00000f9d: DUP4
00000f9e: PUSH1 0x20
00000fa0: ADD
00000fa1: REVERT
00000fa2: JUMPDEST
00000fa3: DUP1
00000fa4: PUSH1 0x40
00000fa6: MLOAD
00000fa7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000fc8: DUP2
00000fc9: MSTORE
00000fca: PUSH1 0x04
00000fcc: ADD
00000fcd: PUSH2 0x03fa
00000fd0: SWAP2
00000fd1: SWAP1
00000fd2: PUSH2 0x11ed
00000fd5: JUMP
00000fd6: JUMPDEST
00000fd7: DUP1
00000fd8: CALLDATALOAD
00000fd9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fee: DUP2
00000fef: AND
00000ff0: DUP2
00000ff1: EQ
00000ff2: PUSH2 0x0ffa
00000ff5: JUMPI
00000ff6: PUSH1 0x00
00000ff8: DUP1
00000ff9: REVERT
00000ffa: JUMPDEST
00000ffb: SWAP2
00000ffc: SWAP1
00000ffd: POP
00000ffe: JUMP
00000fff: JUMPDEST
00001000: PUSH1 0x00
00001002: DUP1
00001003: PUSH1 0x40
00001005: DUP4
00001006: DUP6
00001007: SUB
00001008: SLT
00001009: ISZERO
0000100a: PUSH2 0x1012
0000100d: JUMPI
0000100e: PUSH1 0x00
00001010: DUP1
00001011: REVERT
00001012: JUMPDEST
00001013: DUP3
00001014: CALLDATALOAD
00001015: SWAP2
00001016: POP
00001017: PUSH2 0x1022
0000101a: PUSH1 0x20
0000101c: DUP5
0000101d: ADD
0000101e: PUSH2 0x0fd6
00001021: JUMP
00001022: JUMPDEST
00001023: SWAP1
00001024: POP
00001025: SWAP3
00001026: POP
00001027: SWAP3
00001028: SWAP1
00001029: POP
0000102a: JUMP
0000102b: JUMPDEST
0000102c: PUSH1 0x00
0000102e: PUSH1 0x20
00001030: DUP3
00001031: DUP5
00001032: SUB
00001033: SLT
00001034: ISZERO
00001035: PUSH2 0x103d
00001038: JUMPI
00001039: PUSH1 0x00
0000103b: DUP1
0000103c: REVERT
0000103d: JUMPDEST
0000103e: PUSH2 0x1046
00001041: DUP3
00001042: PUSH2 0x0fd6
00001045: JUMP
00001046: JUMPDEST
00001047: SWAP4
00001048: SWAP3
00001049: POP
0000104a: POP
0000104b: POP
0000104c: JUMP
0000104d: JUMPDEST
0000104e: PUSH1 0x00
00001050: DUP1
00001051: PUSH1 0x40
00001053: DUP4
00001054: DUP6
00001055: SUB
00001056: SLT
00001057: ISZERO
00001058: PUSH2 0x1060
0000105b: JUMPI
0000105c: PUSH1 0x00
0000105e: DUP1
0000105f: REVERT
00001060: JUMPDEST
00001061: PUSH2 0x1069
00001064: DUP4
00001065: PUSH2 0x0fd6
00001068: JUMP
00001069: JUMPDEST
0000106a: SWAP5
0000106b: PUSH1 0x20
0000106d: SWAP4
0000106e: SWAP1
0000106f: SWAP4
00001070: ADD
00001071: CALLDATALOAD
00001072: SWAP4
00001073: POP
00001074: POP
00001075: POP
00001076: JUMP
00001077: JUMPDEST
00001078: PUSH1 0x00
0000107a: PUSH1 0x20
0000107c: DUP3
0000107d: DUP5
0000107e: SUB
0000107f: SLT
00001080: ISZERO
00001081: PUSH2 0x1089
00001084: JUMPI
00001085: PUSH1 0x00
00001087: DUP1
00001088: REVERT
00001089: JUMPDEST
0000108a: POP
0000108b: CALLDATALOAD
0000108c: SWAP2
0000108d: SWAP1
0000108e: POP
0000108f: JUMP
00001090: JUMPDEST
00001091: PUSH1 0x00
00001093: PUSH1 0x20
00001095: DUP3
00001096: DUP5
00001097: SUB
00001098: SLT
00001099: ISZERO
0000109a: PUSH2 0x10a2
0000109d: JUMPI
0000109e: PUSH1 0x00
000010a0: DUP1
000010a1: REVERT
000010a2: JUMPDEST
000010a3: POP
000010a4: MLOAD
000010a5: SWAP2
000010a6: SWAP1
000010a7: POP
000010a8: JUMP
000010a9: JUMPDEST
000010aa: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000010cb: PUSH1 0x00
000010cd: MSTORE
000010ce: PUSH1 0x11
000010d0: PUSH1 0x04
000010d2: MSTORE
000010d3: PUSH1 0x24
000010d5: PUSH1 0x00
000010d7: REVERT
000010d8: JUMPDEST
000010d9: PUSH1 0x00
000010db: DUP3
000010dc: DUP3
000010dd: LT
000010de: ISZERO
000010df: PUSH2 0x10ea
000010e2: JUMPI
000010e3: PUSH2 0x10ea
000010e6: PUSH2 0x10a9
000010e9: JUMP
000010ea: JUMPDEST
000010eb: POP
000010ec: SUB
000010ed: SWAP1
000010ee: JUMP
000010ef: JUMPDEST
000010f0: PUSH1 0x00
000010f2: DUP2
000010f3: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001114: DIV
00001115: DUP4
00001116: GT
00001117: DUP3
00001118: ISZERO
00001119: ISZERO
0000111a: AND
0000111b: ISZERO
0000111c: PUSH2 0x1127
0000111f: JUMPI
00001120: PUSH2 0x1127
00001123: PUSH2 0x10a9
00001126: JUMP
00001127: JUMPDEST
00001128: POP
00001129: MUL
0000112a: SWAP1
0000112b: JUMP
0000112c: JUMPDEST
0000112d: PUSH1 0x00
0000112f: DUP3
00001130: PUSH2 0x1162
00001133: JUMPI
00001134: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001155: PUSH1 0x00
00001157: MSTORE
00001158: PUSH1 0x12
0000115a: PUSH1 0x04
0000115c: MSTORE
0000115d: PUSH1 0x24
0000115f: PUSH1 0x00
00001161: REVERT
00001162: JUMPDEST
00001163: POP
00001164: DIV
00001165: SWAP1
00001166: JUMP
00001167: JUMPDEST
00001168: PUSH1 0x00
0000116a: PUSH1 0x20
0000116c: DUP3
0000116d: DUP5
0000116e: SUB
0000116f: SLT
00001170: ISZERO
00001171: PUSH2 0x1179
00001174: JUMPI
00001175: PUSH1 0x00
00001177: DUP1
00001178: REVERT
00001179: JUMPDEST
0000117a: DUP2
0000117b: MLOAD
0000117c: DUP1
0000117d: ISZERO
0000117e: ISZERO
0000117f: DUP2
00001180: EQ
00001181: PUSH2 0x1046
00001184: JUMPI
00001185: PUSH1 0x00
00001187: DUP1
00001188: REVERT
00001189: JUMPDEST
0000118a: PUSH1 0x00
0000118c: DUP3
0000118d: NOT
0000118e: DUP3
0000118f: GT
00001190: ISZERO
00001191: PUSH2 0x119c
00001194: JUMPI
00001195: PUSH2 0x119c
00001198: PUSH2 0x10a9
0000119b: JUMP
0000119c: JUMPDEST
0000119d: POP
0000119e: ADD
0000119f: SWAP1
000011a0: JUMP
000011a1: JUMPDEST
000011a2: PUSH1 0x00
000011a4: JUMPDEST
000011a5: DUP4
000011a6: DUP2
000011a7: LT
000011a8: ISZERO
000011a9: PUSH2 0x11bc
000011ac: JUMPI
000011ad: DUP2
000011ae: DUP2
000011af: ADD
000011b0: MLOAD
000011b1: DUP4
000011b2: DUP3
000011b3: ADD
000011b4: MSTORE
000011b5: PUSH1 0x20
000011b7: ADD
000011b8: PUSH2 0x11a4
000011bb: JUMP
000011bc: JUMPDEST
000011bd: DUP4
000011be: DUP2
000011bf: GT
000011c0: ISZERO
000011c1: PUSH2 0x11cb
000011c4: JUMPI
000011c5: PUSH1 0x00
000011c7: DUP5
000011c8: DUP5
000011c9: ADD
000011ca: MSTORE
000011cb: JUMPDEST
000011cc: POP
000011cd: POP
000011ce: POP
000011cf: POP
000011d0: JUMP
000011d1: JUMPDEST
000011d2: PUSH1 0x00
000011d4: DUP3
000011d5: MLOAD
000011d6: PUSH2 0x11e3
000011d9: DUP2
000011da: DUP5
000011db: PUSH1 0x20
000011dd: DUP8
000011de: ADD
000011df: PUSH2 0x11a1
000011e2: JUMP
000011e3: JUMPDEST
000011e4: SWAP2
000011e5: SWAP1
000011e6: SWAP2
000011e7: ADD
000011e8: SWAP3
000011e9: SWAP2
000011ea: POP
000011eb: POP
000011ec: JUMP
000011ed: JUMPDEST
000011ee: PUSH1 0x20
000011f0: DUP2
000011f1: MSTORE
000011f2: PUSH1 0x00
000011f4: DUP3
000011f5: MLOAD
000011f6: DUP1
000011f7: PUSH1 0x20
000011f9: DUP5
000011fa: ADD
000011fb: MSTORE
000011fc: PUSH2 0x120c
000011ff: DUP2
00001200: PUSH1 0x40
00001202: DUP6
00001203: ADD
00001204: PUSH1 0x20
00001206: DUP8
00001207: ADD
00001208: PUSH2 0x11a1
0000120b: JUMP
0000120c: JUMPDEST
0000120d: PUSH1 0x1f
0000120f: ADD
00001210: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001231: AND
00001232: SWAP2
00001233: SWAP1
00001234: SWAP2
00001235: ADD
00001236: PUSH1 0x40
00001238: ADD
00001239: SWAP3
0000123a: SWAP2
0000123b: POP
0000123c: POP
0000123d: JUMP
0000123e: INVALID
0000123f: LOG2
00001240: PUSH5 0x6970667358
00001246: UNKNOWN(0x22)
00001247: SLT
00001248: KECCAK256
00001249: DUP8
0000124a: KECCAK256
0000124b: UNKNOWN(0xB0)
0000124c: DELEGATECALL
0000124d: UNKNOWN(0xDE)
0000124e: PUSH18 0xcc4f92154f6932cd9003cc49f37746c9ca00
00001261: MUL
00001262: UNKNOWN(0x0E)
00001263: UNKNOWN(0xEB)
00001264: LOG1
00001265: JUMP
00001266: COINBASE
00001267: DUP4
00001268: UNKNOWN(0xA5)
00001269: PUSH5 0x736f6c6343
0000126f: STOP
00001270: ADDMOD
00001271: UNKNOWN(0x0F)
00001272: STOP
00001273: CALLER

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: 0xd53ce2c7333c69a55c8cc6c79b4e0723a162238d4d304a78a12037a80836700e
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 156,
    "trace_id": "0xd53ce2c7333c69a55c8cc6c79b4e0723a162238d4d304a78a12037a80836700e",
    "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": "0x9358928b",
            "selector": "0x9358928b",
            "calldata_variants": [
                "0x9358928b",
                "0x9358928b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd39d3f42",
            "selector": "0xd39d3f42",
            "calldata_variants": [
                "0xd39d3f42",
                "0xd39d3f420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdb006a75",
            "selector": "0xdb006a75",
            "calldata_variants": [
                "0xdb006a75",
                "0xdb006a750000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8456cb59",
            "selector": "0x8456cb59",
            "calldata_variants": [
                "0x8456cb59",
                "0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4b0c9a91",
            "selector": "0x4b0c9a91",
            "calldata_variants": [
                "0x4b0c9a91",
                "0x4b0c9a910000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4684,
            "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 detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xf314504fa41dc629da6902bbf4b1a201492a3e948552dbacbddf10dd296278f0
call_targets: 0x33b6a1294894d66656c2bf77307b5fe1e55c71c7
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xf314504fa41dc629da6902bbf4b1a201492a3e948552dbacbddf10dd296278f0",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x33b6a1294894d66656c2bf77307b5fe1e55c71c7"
    ],
    "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": "0x9358928b",
            "selector": "0x9358928b",
            "calldata_variants": [
                "0x9358928b",
                "0x9358928b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd39d3f42",
            "selector": "0xd39d3f42",
            "calldata_variants": [
                "0xd39d3f42",
                "0xd39d3f420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdb006a75",
            "selector": "0xdb006a75",
            "calldata_variants": [
                "0xdb006a75",
                "0xdb006a750000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8456cb59",
            "selector": "0x8456cb59",
            "calldata_variants": [
                "0x8456cb59",
                "0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4b0c9a91",
            "selector": "0x4b0c9a91",
            "calldata_variants": [
                "0x4b0c9a91",
                "0x4b0c9a910000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 780,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1867,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1980,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 4,
    "guards_detected": [],
    "untrusted_call_count": 4
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xf314504fa41dc629da6902bbf4b1a201492a3e948552dbacbddf10dd296278f0
call_targets: 0x33b6a1294894d66656c2bf77307b5fe1e55c71c7
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xf314504fa41dc629da6902bbf4b1a201492a3e948552dbacbddf10dd296278f0",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x33b6a1294894d66656c2bf77307b5fe1e55c71c7"
    ],
    "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": "0x9358928b",
            "selector": "0x9358928b",
            "calldata_variants": [
                "0x9358928b",
                "0x9358928b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd39d3f42",
            "selector": "0xd39d3f42",
            "calldata_variants": [
                "0xd39d3f42",
                "0xd39d3f420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdb006a75",
            "selector": "0xdb006a75",
            "calldata_variants": [
                "0xdb006a75",
                "0xdb006a750000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8456cb59",
            "selector": "0x8456cb59",
            "calldata_variants": [
                "0x8456cb59",
                "0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4b0c9a91",
            "selector": "0x4b0c9a91",
            "calldata_variants": [
                "0x4b0c9a91",
                "0x4b0c9a910000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 780,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1867,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1980,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "guards_detected": []
}
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
}