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

Analysis Run

4a5b9e37-fee9-477e-a941-1d02f433e503

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

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31521 report.consolidate complete 1 / 1 3 months ago
77753 artifact.fetch failed 1 / 3 1 week ago
77754 tool.cast_disasm complete 1 / 3 1 week ago
77755 analysis.bundle complete 1 / 3 1 week ago
77756 capability.graph complete 1 / 3 1 week ago
77757 detector.run complete 1 / 3 1 week ago
77758 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 contracts.
View stderr
[codex:1158698] OpenAI Codex v0.77.0 (research preview)
[codex:1158698] --------
[codex:1158698] workdir: /tmp/codex-multi-3voh2go0
[codex:1158698] model: gpt-5.2-codex
[codex:1158698] provider: openai
[codex:1158698] approval: never
[codex:1158698] sandbox: read-only
[codex:1158698] reasoning effort: xhigh
[codex:1158698] reasoning summaries: auto
[codex:1158698] session id: 019b86bf-56aa-7f41-bbec-fa5ce25b0a22
[codex:1158698] --------
[codex:1158698] user
[codex:1158698] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1158698] 
[codex:1158698] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1158698] 
[codex:1158698] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1158698] - Gas inefficiency, code quality, naming, or best practices
[codex:1158698] - Theoretical vulnerabilities without a clear extraction path
[codex:1158698] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1158698] - Front-running unless it enables theft beyond MEV
[codex:1158698] - DoS, griefing, or issues that don't result in attacker profit
[codex:1158698] - Missing events, view function issues, or informational findings
[codex:1158698] 
[codex:1158698] HIGH-VALUE PATTERNS TO HUNT:
[codex:1158698] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1158698] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1158698] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1158698] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1158698] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1158698] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1158698] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1158698] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1158698] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1158698] 
[codex:1158698] For each finding, you MUST provide:
[codex:1158698] 1. Exact file and line numbers of vulnerable code
[codex:1158698] 2. Step-by-step exploit transaction sequence
[codex:1158698] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1158698] 
[codex:1158698] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1158698] 
[codex:1158698] Output MUST be valid JSON matching the provided schema.
[codex:1158698] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1158698] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1158698] mcp startup: no servers
[codex:1158698] 
[codex:1158698] thinking
[codex:1158698] **Preparing to read AUDIT_BUNDLE**
[codex:1158698] exec
[codex:1158698] /bin/bash -lc ls in /tmp/codex-multi-3voh2go0 succeeded in 5ms:
[codex:1158698] AUDIT_BUNDLE.txt
[codex:1158698] codex-output-schema.json
[codex:1158698] contracts
[codex:1158698] exec
[codex:1158698] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-3voh2go0 succeeded in 6ms:
[codex:1158698] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1158698] 
[codex:1158698] ================================================================================
[codex:1158698] FILE: contracts/src/ElixirCommitsAndWithdraw.sol
[codex:1158698] ================================================================================
[codex:1158698] // SPDX-License-Identifier: BUSL-1.1
[codex:1158698] pragma solidity 0.8.20;
[codex:1158698] 
[codex:1158698] import {Ownable} from "openzeppelin/access/Ownable.sol";
[codex:1158698] import {ElixirDeUSDCommits} from "src/ElixirDeUSDCommits.sol";
[codex:1158698] import {IERC20} from "openzeppelin/token/ERC20/IERC20.sol";
[codex:1158698] import {SafeERC20} from "openzeppelin/token/ERC20/utils/SafeERC20.sol";
[codex:1158698] import {ElixirDeposit} from "src/ElixirDeposit.sol";
[codex:1158698] 
[codex:1158698] /// @title Elixir withdraw contract
[codex:1158698] /// @author The Elixir Team
[codex:1158698] /// @notice This contract is used to withdraw funds
[codex:1158698] contract ElixirCommitsAndWithdraw is Ownable {
[codex:1158698]     using SafeERC20 for IERC20;
[codex:1158698] 
[codex:1158698] exec
[codex:1158698] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-3voh2go0 succeeded in 5ms:
[codex:1158698]     IERC20 public token;
[codex:1158698] 
[codex:1158698]     /// @notice The pause status of commit
[codex:1158698]     bool public pauseCommits;
[codex:1158698] 
[codex:1158698]     /// @notice The address of the ElixirDeposit contract
[codex:1158698]     ElixirDeposit public elixirDepositContract;
[codex:1158698] 
[codex:1158698]     /// @notice Mapping of address to committed ETH from ElixirDeposit contract
[codex:1158698]     mapping(address user => uint256 committed) public committed;
[codex:1158698] 
[codex:1158698]     /*//////////////////////////////////////////////////////////////
[codex:1158698]                                  EVENTS 
[codex:1158698]     //////////////////////////////////////////////////////////////*/
[codex:1158698] 
[codex:1158698]     /// @notice Emitted when user commits an amount
[codex:1158698]     /// @param caller The caller of the commit function.
[codex:1158698]     /// @param amount The token amount committed and transferred.
[codex:1158698]     event Commit(address indexed caller, uint256 indexed amount);
[codex:1158698] 
[codex:1158698] 
[codex:1158698] thinking
[codex:1158698] **Checking if full file is needed**
[codex:1158698] exec
[codex:1158698] /bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-3voh2go0 succeeded in 5ms:
[codex:1158698] 
[codex:1158698] 
[codex:1158698] 
[codex:1158698] thinking
[codex:1158698] **Analyzing potential exploit and fund flow**
[codex:1158698] 
[codex:1158698] I'm carefully tracing deposit, commit, and withdraw interactions across the three contracts to see if any combination allows unauthorized profit or fund extraction. The key challenge is how deposits and committed balances are tracked separately between contracts, with tokens and ETH moving through controller and commitsController addresses that attackers cannot control. I'm testing for reentrancy vulnerabilities and double-commit scenarios that might enable draining funds, but so far, all critical state updates precede external calls, and the controller’s multisig-controlled approval limits direct attacker profit. I'm also considering whether mismatches in accounting or mappings could be exploited, but no definitive exploit path to profit emerges just from these contracts.
[codex:1158698] thinking
[codex:1158698] **Evaluating withdrawal logic and deposit manipulation**
[codex:1158698] 
[codex:1158698] I'm reviewing how withdrawn amounts and deposits interact, confirming that the deposit mapping only increases on deposits with actual ETH sent, preventing fake inflation. Withdrawals are constrained by per-user balances derived from deposits minus committed and withdrawn amounts. I'm also considering if committing in multiple contracts without adjusting deposits could lead to unbacked token minting, but that depends on contracts outside this bundle. I'm going to check the repo further to see if there are additional contracts influencing this logic.
[codex:1158698] exec
[codex:1158698] /bin/bash -lc 'rg --files contracts' in /tmp/codex-multi-3voh2go0 succeeded in 10ms:
[codex:1158698] contracts/src/ElixirDeposit.sol
[codex:1158698] contracts/src/ElixirCommitsAndWithdraw.sol
[codex:1158698] contracts/src/ElixirDeUSDCommits.sol
[codex:1158698] contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol
[codex:1158698] contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol
[codex:1158698] contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol
[codex:1158698] contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol
[codex:1158698] contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol
[codex:1158698] contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1158698] 
[codex:1158698] 
[codex:1158698] thinking
[codex:1158698] **Analyzing potential reentrancy and balance manipulations**
[codex:1158698] thinking
[codex:1158698] **Evaluating commit and withdrawal interaction vulnerabilities**
[codex:1158698] 
[codex:1158698] I'll carefully verify if commit mappings allow profit by double-dipping deposits and withdrawals, especially via reentrancy or token transfers across related contracts. After thorough analysis, the overlapping commit functions and balances don't yield exploitable profit beyond original deposits. I'll prepare a JSON report confirming no exploitable profit paths found.
[codex:1158698] codex
[codex:1158698] {"no_findings":true,"summary":"No concrete exploitable profit paths found in the provided contracts.","findings":[]}
[codex:1158698] tokens used
[codex:1158698] 15,254
[codex:1158698] {"no_findings":true,"summary":"No concrete exploitable profit paths found in the provided contracts.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-04T02:07:08.932977+00:00",
        "returncode": 0
    },
    "summary": "No concrete exploitable profit paths found in the provided contracts.",
    "raw_final": {
        "summary": "No concrete exploitable profit paths found in the provided contracts.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
7
EXT*/BALANCE
1
Total opcodes
2106
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0102
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0xb3760d56
00000019: GT
0000001a: PUSH2 0x0095
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xd88d9b70
00000024: GT
00000025: PUSH2 0x0064
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xd88d9b70
0000002f: EQ
00000030: PUSH2 0x02d2
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xe9f2838e
0000003a: EQ
0000003b: PUSH2 0x02f2
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf2fde38b
00000045: EQ
00000046: PUSH2 0x0311
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf5691ad4
00000050: EQ
00000051: PUSH2 0x0331
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xfc0c546a
0000005b: EQ
0000005c: PUSH2 0x0351
0000005f: JUMPI
00000060: PUSH1 0x00
00000062: DUP1
00000063: REVERT
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xb3760d56
0000006b: EQ
0000006c: PUSH2 0x023b
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xbe7c274e
00000076: EQ
00000077: PUSH2 0x0268
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xc311d049
00000081: EQ
00000082: PUSH2 0x0292
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xd7a616ec
0000008c: EQ
0000008d: PUSH2 0x02b2
00000090: JUMPI
00000091: PUSH1 0x00
00000093: DUP1
00000094: REVERT
00000095: JUMPDEST
00000096: DUP1
00000097: PUSH4 0x715018a6
0000009c: GT
0000009d: PUSH2 0x00d1
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x715018a6
000000a7: EQ
000000a8: PUSH2 0x01c8
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0x7af7e787
000000b2: EQ
000000b3: PUSH2 0x01dd
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x8da5cb5b
000000bd: EQ
000000be: PUSH2 0x01fd
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0x9c700b70
000000c8: EQ
000000c9: PUSH2 0x021b
000000cc: JUMPI
000000cd: PUSH1 0x00
000000cf: DUP1
000000d0: REVERT
000000d1: JUMPDEST
000000d2: DUP1
000000d3: PUSH4 0x101437d8
000000d8: EQ
000000d9: PUSH2 0x010e
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0x4fa37d15
000000e3: EQ
000000e4: PUSH2 0x014b
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0x5310d8f4
000000ee: EQ
000000ef: PUSH2 0x016d
000000f2: JUMPI
000000f3: DUP1
000000f4: PUSH4 0x6ef61092
000000f9: EQ
000000fa: PUSH2 0x018d
000000fd: JUMPI
000000fe: PUSH1 0x00
00000100: DUP1
00000101: REVERT
00000102: JUMPDEST
00000103: CALLDATASIZE
00000104: PUSH2 0x0109
00000107: JUMPI
00000108: STOP
00000109: JUMPDEST
0000010a: PUSH1 0x00
0000010c: DUP1
0000010d: REVERT
0000010e: JUMPDEST
0000010f: CALLVALUE
00000110: DUP1
00000111: ISZERO
00000112: PUSH2 0x011a
00000115: JUMPI
00000116: PUSH1 0x00
00000118: DUP1
00000119: REVERT
0000011a: JUMPDEST
0000011b: POP
0000011c: PUSH1 0x01
0000011e: SLOAD
0000011f: PUSH2 0x012e
00000122: SWAP1
00000123: PUSH1 0x01
00000125: PUSH1 0x01
00000127: PUSH1 0xa0
00000129: SHL
0000012a: SUB
0000012b: AND
0000012c: DUP2
0000012d: JUMP
0000012e: JUMPDEST
0000012f: PUSH1 0x40
00000131: MLOAD
00000132: PUSH1 0x01
00000134: PUSH1 0x01
00000136: PUSH1 0xa0
00000138: SHL
00000139: SUB
0000013a: SWAP1
0000013b: SWAP2
0000013c: AND
0000013d: DUP2
0000013e: MSTORE
0000013f: PUSH1 0x20
00000141: ADD
00000142: JUMPDEST
00000143: PUSH1 0x40
00000145: MLOAD
00000146: DUP1
00000147: SWAP2
00000148: SUB
00000149: SWAP1
0000014a: RETURN
0000014b: JUMPDEST
0000014c: CALLVALUE
0000014d: DUP1
0000014e: ISZERO
0000014f: PUSH2 0x0157
00000152: JUMPI
00000153: PUSH1 0x00
00000155: DUP1
00000156: REVERT
00000157: JUMPDEST
00000158: POP
00000159: PUSH2 0x016b
0000015c: PUSH2 0x0166
0000015f: CALLDATASIZE
00000160: PUSH1 0x04
00000162: PUSH2 0x0ae7
00000165: JUMP
00000166: JUMPDEST
00000167: PUSH2 0x0371
0000016a: JUMP
0000016b: JUMPDEST
0000016c: STOP
0000016d: JUMPDEST
0000016e: CALLVALUE
0000016f: DUP1
00000170: ISZERO
00000171: PUSH2 0x0179
00000174: JUMPI
00000175: PUSH1 0x00
00000177: DUP1
00000178: REVERT
00000179: JUMPDEST
0000017a: POP
0000017b: PUSH2 0x016b
0000017e: PUSH2 0x0188
00000181: CALLDATASIZE
00000182: PUSH1 0x04
00000184: PUSH2 0x0b04
00000187: JUMP
00000188: JUMPDEST
00000189: PUSH2 0x0393
0000018c: JUMP
0000018d: JUMPDEST
0000018e: CALLVALUE
0000018f: DUP1
00000190: ISZERO
00000191: PUSH2 0x0199
00000194: JUMPI
00000195: PUSH1 0x00
00000197: DUP1
00000198: REVERT
00000199: JUMPDEST
0000019a: POP
0000019b: PUSH2 0x01ba
0000019e: PUSH2 0x01a8
000001a1: CALLDATASIZE
000001a2: PUSH1 0x04
000001a4: PUSH2 0x0b32
000001a7: JUMP
000001a8: JUMPDEST
000001a9: PUSH1 0x05
000001ab: PUSH1 0x20
000001ad: MSTORE
000001ae: PUSH1 0x00
000001b0: SWAP1
000001b1: DUP2
000001b2: MSTORE
000001b3: PUSH1 0x40
000001b5: SWAP1
000001b6: KECCAK256
000001b7: SLOAD
000001b8: DUP2
000001b9: JUMP
000001ba: JUMPDEST
000001bb: PUSH1 0x40
000001bd: MLOAD
000001be: SWAP1
000001bf: DUP2
000001c0: MSTORE
000001c1: PUSH1 0x20
000001c3: ADD
000001c4: PUSH2 0x0142
000001c7: JUMP
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 0x016b
000001d9: PUSH2 0x052e
000001dc: JUMP
000001dd: JUMPDEST
000001de: CALLVALUE
000001df: DUP1
000001e0: ISZERO
000001e1: PUSH2 0x01e9
000001e4: JUMPI
000001e5: PUSH1 0x00
000001e7: DUP1
000001e8: REVERT
000001e9: JUMPDEST
000001ea: POP
000001eb: PUSH1 0x02
000001ed: SLOAD
000001ee: PUSH2 0x012e
000001f1: SWAP1
000001f2: PUSH1 0x01
000001f4: PUSH1 0x01
000001f6: PUSH1 0xa0
000001f8: SHL
000001f9: SUB
000001fa: AND
000001fb: DUP2
000001fc: JUMP
000001fd: JUMPDEST
000001fe: CALLVALUE
000001ff: DUP1
00000200: ISZERO
00000201: PUSH2 0x0209
00000204: JUMPI
00000205: PUSH1 0x00
00000207: DUP1
00000208: REVERT
00000209: JUMPDEST
0000020a: POP
0000020b: PUSH1 0x00
0000020d: SLOAD
0000020e: PUSH1 0x01
00000210: PUSH1 0x01
00000212: PUSH1 0xa0
00000214: SHL
00000215: SUB
00000216: AND
00000217: PUSH2 0x012e
0000021a: JUMP
0000021b: JUMPDEST
0000021c: CALLVALUE
0000021d: DUP1
0000021e: ISZERO
0000021f: PUSH2 0x0227
00000222: JUMPI
00000223: PUSH1 0x00
00000225: DUP1
00000226: REVERT
00000227: JUMPDEST
00000228: POP
00000229: PUSH2 0x016b
0000022c: PUSH2 0x0236
0000022f: CALLDATASIZE
00000230: PUSH1 0x04
00000232: PUSH2 0x0b04
00000235: JUMP
00000236: JUMPDEST
00000237: PUSH2 0x0542
0000023a: JUMP
0000023b: JUMPDEST
0000023c: CALLVALUE
0000023d: DUP1
0000023e: ISZERO
0000023f: PUSH2 0x0247
00000242: JUMPI
00000243: PUSH1 0x00
00000245: DUP1
00000246: REVERT
00000247: JUMPDEST
00000248: POP
00000249: PUSH2 0x01ba
0000024c: PUSH2 0x0256
0000024f: CALLDATASIZE
00000250: PUSH1 0x04
00000252: PUSH2 0x0b32
00000255: JUMP
00000256: JUMPDEST
00000257: PUSH1 0x04
00000259: PUSH1 0x20
0000025b: MSTORE
0000025c: PUSH1 0x00
0000025e: SWAP1
0000025f: DUP2
00000260: MSTORE
00000261: PUSH1 0x40
00000263: SWAP1
00000264: KECCAK256
00000265: SLOAD
00000266: DUP2
00000267: JUMP
00000268: JUMPDEST
00000269: CALLVALUE
0000026a: DUP1
0000026b: ISZERO
0000026c: PUSH2 0x0274
0000026f: JUMPI
00000270: PUSH1 0x00
00000272: DUP1
00000273: REVERT
00000274: JUMPDEST
00000275: POP
00000276: PUSH1 0x06
00000278: SLOAD
00000279: PUSH2 0x0282
0000027c: SWAP1
0000027d: PUSH1 0xff
0000027f: AND
00000280: DUP2
00000281: JUMP
00000282: JUMPDEST
00000283: PUSH1 0x40
00000285: MLOAD
00000286: SWAP1
00000287: ISZERO
00000288: ISZERO
00000289: DUP2
0000028a: MSTORE
0000028b: PUSH1 0x20
0000028d: ADD
0000028e: PUSH2 0x0142
00000291: JUMP
00000292: JUMPDEST
00000293: CALLVALUE
00000294: DUP1
00000295: ISZERO
00000296: PUSH2 0x029e
00000299: JUMPI
0000029a: PUSH1 0x00
0000029c: DUP1
0000029d: REVERT
0000029e: JUMPDEST
0000029f: POP
000002a0: PUSH2 0x016b
000002a3: PUSH2 0x02ad
000002a6: CALLDATASIZE
000002a7: PUSH1 0x04
000002a9: PUSH2 0x0b04
000002ac: JUMP
000002ad: JUMPDEST
000002ae: PUSH2 0x05b7
000002b1: JUMP
000002b2: JUMPDEST
000002b3: CALLVALUE
000002b4: DUP1
000002b5: ISZERO
000002b6: PUSH2 0x02be
000002b9: JUMPI
000002ba: PUSH1 0x00
000002bc: DUP1
000002bd: REVERT
000002be: JUMPDEST
000002bf: POP
000002c0: PUSH2 0x016b
000002c3: PUSH2 0x02cd
000002c6: CALLDATASIZE
000002c7: PUSH1 0x04
000002c9: PUSH2 0x0ae7
000002cc: JUMP
000002cd: JUMPDEST
000002ce: PUSH2 0x06c7
000002d1: JUMP
000002d2: JUMPDEST
000002d3: CALLVALUE
000002d4: DUP1
000002d5: ISZERO
000002d6: PUSH2 0x02de
000002d9: JUMPI
000002da: PUSH1 0x00
000002dc: DUP1
000002dd: REVERT
000002de: JUMPDEST
000002df: POP
000002e0: PUSH2 0x01ba
000002e3: PUSH2 0x02ed
000002e6: CALLDATASIZE
000002e7: PUSH1 0x04
000002e9: PUSH2 0x0b32
000002ec: JUMP
000002ed: JUMPDEST
000002ee: PUSH2 0x06e2
000002f1: JUMP
000002f2: JUMPDEST
000002f3: CALLVALUE
000002f4: DUP1
000002f5: ISZERO
000002f6: PUSH2 0x02fe
000002f9: JUMPI
000002fa: PUSH1 0x00
000002fc: DUP1
000002fd: REVERT
000002fe: JUMPDEST
000002ff: POP
00000300: PUSH1 0x06
00000302: SLOAD
00000303: PUSH2 0x0282
00000306: SWAP1
00000307: PUSH2 0x0100
0000030a: SWAP1
0000030b: DIV
0000030c: PUSH1 0xff
0000030e: AND
0000030f: DUP2
00000310: JUMP
00000311: JUMPDEST
00000312: CALLVALUE
00000313: DUP1
00000314: ISZERO
00000315: PUSH2 0x031d
00000318: JUMPI
00000319: PUSH1 0x00
0000031b: DUP1
0000031c: REVERT
0000031d: JUMPDEST
0000031e: POP
0000031f: PUSH2 0x016b
00000322: PUSH2 0x032c
00000325: CALLDATASIZE
00000326: PUSH1 0x04
00000328: PUSH2 0x0b32
0000032b: JUMP
0000032c: JUMPDEST
0000032d: PUSH2 0x0776
00000330: JUMP
00000331: JUMPDEST
00000332: CALLVALUE
00000333: DUP1
00000334: ISZERO
00000335: PUSH2 0x033d
00000338: JUMPI
00000339: PUSH1 0x00
0000033b: DUP1
0000033c: REVERT
0000033d: JUMPDEST
0000033e: POP
0000033f: PUSH2 0x01ba
00000342: PUSH2 0x034c
00000345: CALLDATASIZE
00000346: PUSH1 0x04
00000348: PUSH2 0x0b32
0000034b: JUMP
0000034c: JUMPDEST
0000034d: PUSH2 0x07b9
00000350: JUMP
00000351: JUMPDEST
00000352: CALLVALUE
00000353: DUP1
00000354: ISZERO
00000355: PUSH2 0x035d
00000358: JUMPI
00000359: PUSH1 0x00
0000035b: DUP1
0000035c: REVERT
0000035d: JUMPDEST
0000035e: POP
0000035f: PUSH1 0x03
00000361: SLOAD
00000362: PUSH2 0x012e
00000365: SWAP1
00000366: PUSH1 0x01
00000368: PUSH1 0x01
0000036a: PUSH1 0xa0
0000036c: SHL
0000036d: SUB
0000036e: AND
0000036f: DUP2
00000370: JUMP
00000371: JUMPDEST
00000372: PUSH2 0x0379
00000375: PUSH2 0x085d
00000378: JUMP
00000379: JUMPDEST
0000037a: PUSH1 0x06
0000037c: DUP1
0000037d: SLOAD
0000037e: SWAP2
0000037f: ISZERO
00000380: ISZERO
00000381: PUSH2 0x0100
00000384: MUL
00000385: PUSH2 0xff00
00000388: NOT
00000389: SWAP1
0000038a: SWAP3
0000038b: AND
0000038c: SWAP2
0000038d: SWAP1
0000038e: SWAP2
0000038f: OR
00000390: SWAP1
00000391: SSTORE
00000392: JUMP
00000393: JUMPDEST
00000394: PUSH1 0x06
00000396: SLOAD
00000397: PUSH1 0xff
00000399: AND
0000039a: ISZERO
0000039b: PUSH2 0x03b7
0000039e: JUMPI
0000039f: PUSH1 0x40
000003a1: MLOAD
000003a2: PUSH4 0x0171712b
000003a7: PUSH1 0xe4
000003a9: SHL
000003aa: DUP2
000003ab: MSTORE
000003ac: PUSH1 0x04
000003ae: ADD
000003af: PUSH1 0x40
000003b1: MLOAD
000003b2: DUP1
000003b3: SWAP2
000003b4: SUB
000003b5: SWAP1
000003b6: REVERT
000003b7: JUMPDEST
000003b8: PUSH2 0x03c0
000003bb: CALLER
000003bc: PUSH2 0x07b9
000003bf: JUMP
000003c0: JUMPDEST
000003c1: DUP2
000003c2: GT
000003c3: ISZERO
000003c4: PUSH2 0x03e0
000003c7: JUMPI
000003c8: PUSH1 0x40
000003ca: MLOAD
000003cb: PUSH4 0x1aaad593
000003d0: PUSH1 0xe0
000003d2: SHL
000003d3: DUP2
000003d4: MSTORE
000003d5: PUSH1 0x04
000003d7: ADD
000003d8: PUSH1 0x40
000003da: MLOAD
000003db: DUP1
000003dc: SWAP2
000003dd: SUB
000003de: SWAP1
000003df: REVERT
000003e0: JUMPDEST
000003e1: CALLER
000003e2: PUSH1 0x00
000003e4: SWAP1
000003e5: DUP2
000003e6: MSTORE
000003e7: PUSH1 0x04
000003e9: PUSH1 0x20
000003eb: MSTORE
000003ec: PUSH1 0x40
000003ee: DUP2
000003ef: KECCAK256
000003f0: DUP1
000003f1: SLOAD
000003f2: DUP4
000003f3: SWAP3
000003f4: SWAP1
000003f5: PUSH2 0x03ff
000003f8: SWAP1
000003f9: DUP5
000003fa: SWAP1
000003fb: PUSH2 0x0b65
000003fe: JUMP
000003ff: JUMPDEST
00000400: SWAP1
00000401: SWAP2
00000402: SSTORE
00000403: POP
00000404: POP
00000405: PUSH1 0x01
00000407: SLOAD
00000408: PUSH1 0x40
0000040a: DUP1
0000040b: MLOAD
0000040c: PUSH4 0xf77c4791
00000411: PUSH1 0xe0
00000413: SHL
00000414: DUP2
00000415: MSTORE
00000416: SWAP1
00000417: MLOAD
00000418: PUSH2 0x04fe
0000041b: SWAP3
0000041c: PUSH1 0x01
0000041e: PUSH1 0x01
00000420: PUSH1 0xa0
00000422: SHL
00000423: SUB
00000424: AND
00000425: SWAP2
00000426: PUSH4 0xf77c4791
0000042b: SWAP2
0000042c: PUSH1 0x04
0000042e: DUP1
0000042f: DUP4
00000430: ADD
00000431: SWAP3
00000432: PUSH1 0x20
00000434: SWAP3
00000435: SWAP2
00000436: SWAP1
00000437: DUP3
00000438: SWAP1
00000439: SUB
0000043a: ADD
0000043b: DUP2
0000043c: DUP7
0000043d: GAS
0000043e: STATICCALL
0000043f: ISZERO
00000440: DUP1
00000441: ISZERO
00000442: PUSH2 0x044f
00000445: JUMPI
00000446: RETURNDATASIZE
00000447: PUSH1 0x00
00000449: DUP1
0000044a: RETURNDATACOPY
0000044b: RETURNDATASIZE
0000044c: PUSH1 0x00
0000044e: REVERT
0000044f: JUMPDEST
00000450: POP
00000451: POP
00000452: POP
00000453: POP
00000454: PUSH1 0x40
00000456: MLOAD
00000457: RETURNDATASIZE
00000458: PUSH1 0x1f
0000045a: NOT
0000045b: PUSH1 0x1f
0000045d: DUP3
0000045e: ADD
0000045f: AND
00000460: DUP3
00000461: ADD
00000462: DUP1
00000463: PUSH1 0x40
00000465: MSTORE
00000466: POP
00000467: DUP2
00000468: ADD
00000469: SWAP1
0000046a: PUSH2 0x0473
0000046d: SWAP2
0000046e: SWAP1
0000046f: PUSH2 0x0b78
00000472: JUMP
00000473: JUMPDEST
00000474: PUSH1 0x02
00000476: PUSH1 0x00
00000478: SWAP1
00000479: SLOAD
0000047a: SWAP1
0000047b: PUSH2 0x0100
0000047e: EXP
0000047f: SWAP1
00000480: DIV
00000481: PUSH1 0x01
00000483: PUSH1 0x01
00000485: PUSH1 0xa0
00000487: SHL
00000488: SUB
00000489: AND
0000048a: PUSH1 0x01
0000048c: PUSH1 0x01
0000048e: PUSH1 0xa0
00000490: SHL
00000491: SUB
00000492: AND
00000493: PUSH4 0x67515592
00000498: PUSH1 0x40
0000049a: MLOAD
0000049b: DUP2
0000049c: PUSH4 0xffffffff
000004a1: AND
000004a2: PUSH1 0xe0
000004a4: SHL
000004a5: DUP2
000004a6: MSTORE
000004a7: PUSH1 0x04
000004a9: ADD
000004aa: PUSH1 0x20
000004ac: PUSH1 0x40
000004ae: MLOAD
000004af: DUP1
000004b0: DUP4
000004b1: SUB
000004b2: DUP2
000004b3: DUP7
000004b4: GAS
000004b5: STATICCALL
000004b6: ISZERO
000004b7: DUP1
000004b8: ISZERO
000004b9: PUSH2 0x04c6
000004bc: JUMPI
000004bd: RETURNDATASIZE
000004be: PUSH1 0x00
000004c0: DUP1
000004c1: RETURNDATACOPY
000004c2: RETURNDATASIZE
000004c3: PUSH1 0x00
000004c5: REVERT
000004c6: JUMPDEST
000004c7: POP
000004c8: POP
000004c9: POP
000004ca: POP
000004cb: PUSH1 0x40
000004cd: MLOAD
000004ce: RETURNDATASIZE
000004cf: PUSH1 0x1f
000004d1: NOT
000004d2: PUSH1 0x1f
000004d4: DUP3
000004d5: ADD
000004d6: AND
000004d7: DUP3
000004d8: ADD
000004d9: DUP1
000004da: PUSH1 0x40
000004dc: MSTORE
000004dd: POP
000004de: DUP2
000004df: ADD
000004e0: SWAP1
000004e1: PUSH2 0x04ea
000004e4: SWAP2
000004e5: SWAP1
000004e6: PUSH2 0x0b78
000004e9: JUMP
000004ea: JUMPDEST
000004eb: PUSH1 0x03
000004ed: SLOAD
000004ee: PUSH1 0x01
000004f0: PUSH1 0x01
000004f2: PUSH1 0xa0
000004f4: SHL
000004f5: SUB
000004f6: AND
000004f7: SWAP2
000004f8: SWAP1
000004f9: DUP5
000004fa: PUSH2 0x088a
000004fd: JUMP
000004fe: JUMPDEST
000004ff: PUSH1 0x40
00000501: MLOAD
00000502: DUP2
00000503: SWAP1
00000504: CALLER
00000505: SWAP1
00000506: PUSH32 0x5e1dd8c4451717d5ca4ffbefdada35e22e0871220b9ed9dd03a351f0938c5ed7
00000527: SWAP1
00000528: PUSH1 0x00
0000052a: SWAP1
0000052b: LOG3
0000052c: POP
0000052d: JUMP
0000052e: JUMPDEST
0000052f: PUSH2 0x0536
00000532: PUSH2 0x085d
00000535: JUMP
00000536: JUMPDEST
00000537: PUSH2 0x0540
0000053a: PUSH1 0x00
0000053c: PUSH2 0x08ea
0000053f: JUMP
00000540: JUMPDEST
00000541: JUMP
00000542: JUMPDEST
00000543: PUSH2 0x054a
00000546: PUSH2 0x085d
00000549: JUMP
0000054a: JUMPDEST
0000054b: PUSH1 0x40
0000054d: MLOAD
0000054e: PUSH1 0x00
00000550: SWAP1
00000551: CALLER
00000552: SWAP1
00000553: DUP4
00000554: SWAP1
00000555: DUP4
00000556: DUP2
00000557: DUP2
00000558: DUP2
00000559: DUP6
0000055a: DUP8
0000055b: GAS
0000055c: CALL
0000055d: SWAP3
0000055e: POP
0000055f: POP
00000560: POP
00000561: RETURNDATASIZE
00000562: DUP1
00000563: PUSH1 0x00
00000565: DUP2
00000566: EQ
00000567: PUSH2 0x058c
0000056a: JUMPI
0000056b: PUSH1 0x40
0000056d: MLOAD
0000056e: SWAP2
0000056f: POP
00000570: PUSH1 0x1f
00000572: NOT
00000573: PUSH1 0x3f
00000575: RETURNDATASIZE
00000576: ADD
00000577: AND
00000578: DUP3
00000579: ADD
0000057a: PUSH1 0x40
0000057c: MSTORE
0000057d: RETURNDATASIZE
0000057e: DUP3
0000057f: MSTORE
00000580: RETURNDATASIZE
00000581: PUSH1 0x00
00000583: PUSH1 0x20
00000585: DUP5
00000586: ADD
00000587: RETURNDATACOPY
00000588: PUSH2 0x0591
0000058b: JUMP
0000058c: JUMPDEST
0000058d: PUSH1 0x60
0000058f: SWAP2
00000590: POP
00000591: JUMPDEST
00000592: POP
00000593: POP
00000594: SWAP1
00000595: POP
00000596: DUP1
00000597: PUSH2 0x05b3
0000059a: JUMPI
0000059b: PUSH1 0x40
0000059d: MLOAD
0000059e: PUSH4 0x1d42c867
000005a3: PUSH1 0xe2
000005a5: SHL
000005a6: DUP2
000005a7: MSTORE
000005a8: PUSH1 0x04
000005aa: ADD
000005ab: PUSH1 0x40
000005ad: MLOAD
000005ae: DUP1
000005af: SWAP2
000005b0: SUB
000005b1: SWAP1
000005b2: REVERT
000005b3: JUMPDEST
000005b4: POP
000005b5: POP
000005b6: JUMP
000005b7: JUMPDEST
000005b8: PUSH1 0x06
000005ba: SLOAD
000005bb: PUSH2 0x0100
000005be: SWAP1
000005bf: DIV
000005c0: PUSH1 0xff
000005c2: AND
000005c3: ISZERO
000005c4: PUSH2 0x05e0
000005c7: JUMPI
000005c8: PUSH1 0x40
000005ca: MLOAD
000005cb: PUSH4 0x18863d4d
000005d0: PUSH1 0xe0
000005d2: SHL
000005d3: DUP2
000005d4: MSTORE
000005d5: PUSH1 0x04
000005d7: ADD
000005d8: PUSH1 0x40
000005da: MLOAD
000005db: DUP1
000005dc: SWAP2
000005dd: SUB
000005de: SWAP1
000005df: REVERT
000005e0: JUMPDEST
000005e1: PUSH2 0x05e9
000005e4: CALLER
000005e5: PUSH2 0x07b9
000005e8: JUMP
000005e9: JUMPDEST
000005ea: DUP2
000005eb: GT
000005ec: ISZERO
000005ed: PUSH2 0x0609
000005f0: JUMPI
000005f1: PUSH1 0x40
000005f3: MLOAD
000005f4: PUSH4 0x356680b7
000005f9: PUSH1 0xe0
000005fb: SHL
000005fc: DUP2
000005fd: MSTORE
000005fe: PUSH1 0x04
00000600: ADD
00000601: PUSH1 0x40
00000603: MLOAD
00000604: DUP1
00000605: SWAP2
00000606: SUB
00000607: SWAP1
00000608: REVERT
00000609: JUMPDEST
0000060a: CALLER
0000060b: PUSH1 0x00
0000060d: SWAP1
0000060e: DUP2
0000060f: MSTORE
00000610: PUSH1 0x05
00000612: PUSH1 0x20
00000614: MSTORE
00000615: PUSH1 0x40
00000617: DUP2
00000618: KECCAK256
00000619: DUP1
0000061a: SLOAD
0000061b: DUP4
0000061c: SWAP3
0000061d: SWAP1
0000061e: PUSH2 0x0628
00000621: SWAP1
00000622: DUP5
00000623: SWAP1
00000624: PUSH2 0x0b65
00000627: JUMP
00000628: JUMPDEST
00000629: SWAP1
0000062a: SWAP2
0000062b: SSTORE
0000062c: POP
0000062d: POP
0000062e: PUSH1 0x40
00000630: MLOAD
00000631: PUSH1 0x00
00000633: SWAP1
00000634: CALLER
00000635: SWAP1
00000636: DUP4
00000637: SWAP1
00000638: DUP4
00000639: DUP2
0000063a: DUP2
0000063b: DUP2
0000063c: DUP6
0000063d: DUP8
0000063e: GAS
0000063f: CALL
00000640: SWAP3
00000641: POP
00000642: POP
00000643: POP
00000644: RETURNDATASIZE
00000645: DUP1
00000646: PUSH1 0x00
00000648: DUP2
00000649: EQ
0000064a: PUSH2 0x066f
0000064d: JUMPI
0000064e: PUSH1 0x40
00000650: MLOAD
00000651: SWAP2
00000652: POP
00000653: PUSH1 0x1f
00000655: NOT
00000656: PUSH1 0x3f
00000658: RETURNDATASIZE
00000659: ADD
0000065a: AND
0000065b: DUP3
0000065c: ADD
0000065d: PUSH1 0x40
0000065f: MSTORE
00000660: RETURNDATASIZE
00000661: DUP3
00000662: MSTORE
00000663: RETURNDATASIZE
00000664: PUSH1 0x00
00000666: PUSH1 0x20
00000668: DUP5
00000669: ADD
0000066a: RETURNDATACOPY
0000066b: PUSH2 0x0674
0000066e: JUMP
0000066f: JUMPDEST
00000670: PUSH1 0x60
00000672: SWAP2
00000673: POP
00000674: JUMPDEST
00000675: POP
00000676: POP
00000677: SWAP1
00000678: POP
00000679: DUP1
0000067a: PUSH2 0x0696
0000067d: JUMPI
0000067e: PUSH1 0x40
00000680: MLOAD
00000681: PUSH4 0x1d42c867
00000686: PUSH1 0xe2
00000688: SHL
00000689: DUP2
0000068a: MSTORE
0000068b: PUSH1 0x04
0000068d: ADD
0000068e: PUSH1 0x40
00000690: MLOAD
00000691: DUP1
00000692: SWAP2
00000693: SUB
00000694: SWAP1
00000695: REVERT
00000696: JUMPDEST
00000697: PUSH1 0x40
00000699: MLOAD
0000069a: DUP3
0000069b: SWAP1
0000069c: CALLER
0000069d: SWAP1
0000069e: PUSH32 0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364
000006bf: SWAP1
000006c0: PUSH1 0x00
000006c2: SWAP1
000006c3: LOG3
000006c4: POP
000006c5: POP
000006c6: JUMP
000006c7: JUMPDEST
000006c8: PUSH2 0x06cf
000006cb: PUSH2 0x085d
000006ce: JUMP
000006cf: JUMPDEST
000006d0: PUSH1 0x06
000006d2: DUP1
000006d3: SLOAD
000006d4: PUSH1 0xff
000006d6: NOT
000006d7: AND
000006d8: SWAP2
000006d9: ISZERO
000006da: ISZERO
000006db: SWAP2
000006dc: SWAP1
000006dd: SWAP2
000006de: OR
000006df: SWAP1
000006e0: SSTORE
000006e1: JUMP
000006e2: JUMPDEST
000006e3: PUSH1 0x01
000006e5: PUSH1 0x01
000006e7: PUSH1 0xa0
000006e9: SHL
000006ea: SUB
000006eb: DUP2
000006ec: DUP2
000006ed: AND
000006ee: PUSH1 0x00
000006f0: DUP2
000006f1: DUP2
000006f2: MSTORE
000006f3: PUSH1 0x04
000006f5: PUSH1 0x20
000006f7: DUP2
000006f8: SWAP1
000006f9: MSTORE
000006fa: PUSH1 0x40
000006fc: DUP1
000006fd: DUP4
000006fe: KECCAK256
000006ff: SLOAD
00000700: PUSH1 0x02
00000702: SLOAD
00000703: SWAP2
00000704: MLOAD
00000705: PUSH4 0x0d88d9b7
0000070a: PUSH1 0xe4
0000070c: SHL
0000070d: DUP2
0000070e: MSTORE
0000070f: SWAP3
00000710: DUP4
00000711: ADD
00000712: SWAP5
00000713: SWAP1
00000714: SWAP5
00000715: MSTORE
00000716: SWAP2
00000717: SWAP4
00000718: SWAP2
00000719: SWAP1
0000071a: SWAP2
0000071b: AND
0000071c: SWAP1
0000071d: PUSH4 0xd88d9b70
00000722: SWAP1
00000723: PUSH1 0x24
00000725: ADD
00000726: PUSH1 0x20
00000728: PUSH1 0x40
0000072a: MLOAD
0000072b: DUP1
0000072c: DUP4
0000072d: SUB
0000072e: DUP2
0000072f: DUP7
00000730: GAS
00000731: STATICCALL
00000732: ISZERO
00000733: DUP1
00000734: ISZERO
00000735: PUSH2 0x0742
00000738: JUMPI
00000739: RETURNDATASIZE
0000073a: PUSH1 0x00
0000073c: DUP1
0000073d: RETURNDATACOPY
0000073e: RETURNDATASIZE
0000073f: PUSH1 0x00
00000741: REVERT
00000742: JUMPDEST
00000743: POP
00000744: POP
00000745: POP
00000746: POP
00000747: PUSH1 0x40
00000749: MLOAD
0000074a: RETURNDATASIZE
0000074b: PUSH1 0x1f
0000074d: NOT
0000074e: PUSH1 0x1f
00000750: DUP3
00000751: ADD
00000752: AND
00000753: DUP3
00000754: ADD
00000755: DUP1
00000756: PUSH1 0x40
00000758: MSTORE
00000759: POP
0000075a: DUP2
0000075b: ADD
0000075c: SWAP1
0000075d: PUSH2 0x0766
00000760: SWAP2
00000761: SWAP1
00000762: PUSH2 0x0b95
00000765: JUMP
00000766: JUMPDEST
00000767: PUSH2 0x0770
0000076a: SWAP2
0000076b: SWAP1
0000076c: PUSH2 0x0b65
0000076f: JUMP
00000770: JUMPDEST
00000771: SWAP3
00000772: SWAP2
00000773: POP
00000774: POP
00000775: JUMP
00000776: JUMPDEST
00000777: PUSH2 0x077e
0000077a: PUSH2 0x085d
0000077d: JUMP
0000077e: JUMPDEST
0000077f: PUSH1 0x01
00000781: PUSH1 0x01
00000783: PUSH1 0xa0
00000785: SHL
00000786: SUB
00000787: DUP2
00000788: AND
00000789: PUSH2 0x07ad
0000078c: JUMPI
0000078d: PUSH1 0x40
0000078f: MLOAD
00000790: PUSH4 0x1e4fbdf7
00000795: PUSH1 0xe0
00000797: SHL
00000798: DUP2
00000799: MSTORE
0000079a: PUSH1 0x00
0000079c: PUSH1 0x04
0000079e: DUP3
0000079f: ADD
000007a0: MSTORE
000007a1: PUSH1 0x24
000007a3: ADD
000007a4: JUMPDEST
000007a5: PUSH1 0x40
000007a7: MLOAD
000007a8: DUP1
000007a9: SWAP2
000007aa: SUB
000007ab: SWAP1
000007ac: REVERT
000007ad: JUMPDEST
000007ae: PUSH2 0x07b6
000007b1: DUP2
000007b2: PUSH2 0x08ea
000007b5: JUMP
000007b6: JUMPDEST
000007b7: POP
000007b8: JUMP
000007b9: JUMPDEST
000007ba: PUSH1 0x01
000007bc: PUSH1 0x01
000007be: PUSH1 0xa0
000007c0: SHL
000007c1: SUB
000007c2: DUP2
000007c3: AND
000007c4: PUSH1 0x00
000007c6: SWAP1
000007c7: DUP2
000007c8: MSTORE
000007c9: PUSH1 0x05
000007cb: PUSH1 0x20
000007cd: MSTORE
000007ce: PUSH1 0x40
000007d0: DUP2
000007d1: KECCAK256
000007d2: SLOAD
000007d3: PUSH2 0x07db
000007d6: DUP4
000007d7: PUSH2 0x06e2
000007da: JUMP
000007db: JUMPDEST
000007dc: PUSH1 0x01
000007de: SLOAD
000007df: PUSH1 0x40
000007e1: MLOAD
000007e2: PUSH4 0xfc7e286d
000007e7: PUSH1 0xe0
000007e9: SHL
000007ea: DUP2
000007eb: MSTORE
000007ec: PUSH1 0x01
000007ee: PUSH1 0x01
000007f0: PUSH1 0xa0
000007f2: SHL
000007f3: SUB
000007f4: DUP7
000007f5: DUP2
000007f6: AND
000007f7: PUSH1 0x04
000007f9: DUP4
000007fa: ADD
000007fb: MSTORE
000007fc: SWAP1
000007fd: SWAP2
000007fe: AND
000007ff: SWAP1
00000800: PUSH4 0xfc7e286d
00000805: SWAP1
00000806: PUSH1 0x24
00000808: ADD
00000809: PUSH1 0x20
0000080b: PUSH1 0x40
0000080d: MLOAD
0000080e: DUP1
0000080f: DUP4
00000810: SUB
00000811: DUP2
00000812: DUP7
00000813: GAS
00000814: STATICCALL
00000815: ISZERO
00000816: DUP1
00000817: ISZERO
00000818: PUSH2 0x0825
0000081b: JUMPI
0000081c: RETURNDATASIZE
0000081d: PUSH1 0x00
0000081f: DUP1
00000820: RETURNDATACOPY
00000821: RETURNDATASIZE
00000822: PUSH1 0x00
00000824: REVERT
00000825: JUMPDEST
00000826: POP
00000827: POP
00000828: POP
00000829: POP
0000082a: PUSH1 0x40
0000082c: MLOAD
0000082d: RETURNDATASIZE
0000082e: PUSH1 0x1f
00000830: NOT
00000831: PUSH1 0x1f
00000833: DUP3
00000834: ADD
00000835: AND
00000836: DUP3
00000837: ADD
00000838: DUP1
00000839: PUSH1 0x40
0000083b: MSTORE
0000083c: POP
0000083d: DUP2
0000083e: ADD
0000083f: SWAP1
00000840: PUSH2 0x0849
00000843: SWAP2
00000844: SWAP1
00000845: PUSH2 0x0b95
00000848: JUMP
00000849: JUMPDEST
0000084a: PUSH2 0x0853
0000084d: SWAP2
0000084e: SWAP1
0000084f: PUSH2 0x0bae
00000852: JUMP
00000853: JUMPDEST
00000854: PUSH2 0x0770
00000857: SWAP2
00000858: SWAP1
00000859: PUSH2 0x0bae
0000085c: JUMP
0000085d: JUMPDEST
0000085e: PUSH1 0x00
00000860: SLOAD
00000861: PUSH1 0x01
00000863: PUSH1 0x01
00000865: PUSH1 0xa0
00000867: SHL
00000868: SUB
00000869: AND
0000086a: CALLER
0000086b: EQ
0000086c: PUSH2 0x0540
0000086f: JUMPI
00000870: PUSH1 0x40
00000872: MLOAD
00000873: PUSH4 0x118cdaa7
00000878: PUSH1 0xe0
0000087a: SHL
0000087b: DUP2
0000087c: MSTORE
0000087d: CALLER
0000087e: PUSH1 0x04
00000880: DUP3
00000881: ADD
00000882: MSTORE
00000883: PUSH1 0x24
00000885: ADD
00000886: PUSH2 0x07a4
00000889: JUMP
0000088a: JUMPDEST
0000088b: PUSH1 0x40
0000088d: DUP1
0000088e: MLOAD
0000088f: PUSH1 0x01
00000891: PUSH1 0x01
00000893: PUSH1 0xa0
00000895: SHL
00000896: SUB
00000897: DUP6
00000898: DUP2
00000899: AND
0000089a: PUSH1 0x24
0000089c: DUP4
0000089d: ADD
0000089e: MSTORE
0000089f: DUP5
000008a0: AND
000008a1: PUSH1 0x44
000008a3: DUP3
000008a4: ADD
000008a5: MSTORE
000008a6: PUSH1 0x64
000008a8: DUP1
000008a9: DUP3
000008aa: ADD
000008ab: DUP5
000008ac: SWAP1
000008ad: MSTORE
000008ae: DUP3
000008af: MLOAD
000008b0: DUP1
000008b1: DUP4
000008b2: SUB
000008b3: SWAP1
000008b4: SWAP2
000008b5: ADD
000008b6: DUP2
000008b7: MSTORE
000008b8: PUSH1 0x84
000008ba: SWAP1
000008bb: SWAP2
000008bc: ADD
000008bd: SWAP1
000008be: SWAP2
000008bf: MSTORE
000008c0: PUSH1 0x20
000008c2: DUP2
000008c3: ADD
000008c4: DUP1
000008c5: MLOAD
000008c6: PUSH1 0x01
000008c8: PUSH1 0x01
000008ca: PUSH1 0xe0
000008cc: SHL
000008cd: SUB
000008ce: AND
000008cf: PUSH4 0x23b872dd
000008d4: PUSH1 0xe0
000008d6: SHL
000008d7: OR
000008d8: SWAP1
000008d9: MSTORE
000008da: PUSH2 0x08e4
000008dd: SWAP1
000008de: DUP6
000008df: SWAP1
000008e0: PUSH2 0x093a
000008e3: JUMP
000008e4: JUMPDEST
000008e5: POP
000008e6: POP
000008e7: POP
000008e8: POP
000008e9: JUMP
000008ea: JUMPDEST
000008eb: PUSH1 0x00
000008ed: DUP1
000008ee: SLOAD
000008ef: PUSH1 0x01
000008f1: PUSH1 0x01
000008f3: PUSH1 0xa0
000008f5: SHL
000008f6: SUB
000008f7: DUP4
000008f8: DUP2
000008f9: AND
000008fa: PUSH1 0x01
000008fc: PUSH1 0x01
000008fe: PUSH1 0xa0
00000900: SHL
00000901: SUB
00000902: NOT
00000903: DUP4
00000904: AND
00000905: DUP2
00000906: OR
00000907: DUP5
00000908: SSTORE
00000909: PUSH1 0x40
0000090b: MLOAD
0000090c: SWAP2
0000090d: SWAP1
0000090e: SWAP3
0000090f: AND
00000910: SWAP3
00000911: DUP4
00000912: SWAP2
00000913: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000934: SWAP2
00000935: SWAP1
00000936: LOG3
00000937: POP
00000938: POP
00000939: JUMP
0000093a: JUMPDEST
0000093b: PUSH1 0x00
0000093d: PUSH2 0x094f
00000940: PUSH1 0x01
00000942: PUSH1 0x01
00000944: PUSH1 0xa0
00000946: SHL
00000947: SUB
00000948: DUP5
00000949: AND
0000094a: DUP4
0000094b: PUSH2 0x09a2
0000094e: JUMP
0000094f: JUMPDEST
00000950: SWAP1
00000951: POP
00000952: DUP1
00000953: MLOAD
00000954: PUSH1 0x00
00000956: EQ
00000957: ISZERO
00000958: DUP1
00000959: ISZERO
0000095a: PUSH2 0x0974
0000095d: JUMPI
0000095e: POP
0000095f: DUP1
00000960: DUP1
00000961: PUSH1 0x20
00000963: ADD
00000964: SWAP1
00000965: MLOAD
00000966: DUP2
00000967: ADD
00000968: SWAP1
00000969: PUSH2 0x0972
0000096c: SWAP2
0000096d: SWAP1
0000096e: PUSH2 0x0bc1
00000971: JUMP
00000972: JUMPDEST
00000973: ISZERO
00000974: JUMPDEST
00000975: ISZERO
00000976: PUSH2 0x099d
00000979: JUMPI
0000097a: PUSH1 0x40
0000097c: MLOAD
0000097d: PUSH4 0x5274afe7
00000982: PUSH1 0xe0
00000984: SHL
00000985: DUP2
00000986: MSTORE
00000987: PUSH1 0x01
00000989: PUSH1 0x01
0000098b: PUSH1 0xa0
0000098d: SHL
0000098e: SUB
0000098f: DUP5
00000990: AND
00000991: PUSH1 0x04
00000993: DUP3
00000994: ADD
00000995: MSTORE
00000996: PUSH1 0x24
00000998: ADD
00000999: PUSH2 0x07a4
0000099c: JUMP
0000099d: JUMPDEST
0000099e: POP
0000099f: POP
000009a0: POP
000009a1: JUMP
000009a2: JUMPDEST
000009a3: PUSH1 0x60
000009a5: PUSH2 0x09b0
000009a8: DUP4
000009a9: DUP4
000009aa: PUSH1 0x00
000009ac: PUSH2 0x09b7
000009af: JUMP
000009b0: JUMPDEST
000009b1: SWAP4
000009b2: SWAP3
000009b3: POP
000009b4: POP
000009b5: POP
000009b6: JUMP
000009b7: JUMPDEST
000009b8: PUSH1 0x60
000009ba: DUP2
000009bb: SELFBALANCE
000009bc: LT
000009bd: ISZERO
000009be: PUSH2 0x09dc
000009c1: JUMPI
000009c2: PUSH1 0x40
000009c4: MLOAD
000009c5: PUSH4 0xcd786059
000009ca: PUSH1 0xe0
000009cc: SHL
000009cd: DUP2
000009ce: MSTORE
000009cf: ADDRESS
000009d0: PUSH1 0x04
000009d2: DUP3
000009d3: ADD
000009d4: MSTORE
000009d5: PUSH1 0x24
000009d7: ADD
000009d8: PUSH2 0x07a4
000009db: JUMP
000009dc: JUMPDEST
000009dd: PUSH1 0x00
000009df: DUP1
000009e0: DUP6
000009e1: PUSH1 0x01
000009e3: PUSH1 0x01
000009e5: PUSH1 0xa0
000009e7: SHL
000009e8: SUB
000009e9: AND
000009ea: DUP5
000009eb: DUP7
000009ec: PUSH1 0x40
000009ee: MLOAD
000009ef: PUSH2 0x09f8
000009f2: SWAP2
000009f3: SWAP1
000009f4: PUSH2 0x0bde
000009f7: JUMP
000009f8: JUMPDEST
000009f9: PUSH1 0x00
000009fb: PUSH1 0x40
000009fd: MLOAD
000009fe: DUP1
000009ff: DUP4
00000a00: SUB
00000a01: DUP2
00000a02: DUP6
00000a03: DUP8
00000a04: GAS
00000a05: CALL
00000a06: SWAP3
00000a07: POP
00000a08: POP
00000a09: POP
00000a0a: RETURNDATASIZE
00000a0b: DUP1
00000a0c: PUSH1 0x00
00000a0e: DUP2
00000a0f: EQ
00000a10: PUSH2 0x0a35
00000a13: JUMPI
00000a14: PUSH1 0x40
00000a16: MLOAD
00000a17: SWAP2
00000a18: POP
00000a19: PUSH1 0x1f
00000a1b: NOT
00000a1c: PUSH1 0x3f
00000a1e: RETURNDATASIZE
00000a1f: ADD
00000a20: AND
00000a21: DUP3
00000a22: ADD
00000a23: PUSH1 0x40
00000a25: MSTORE
00000a26: RETURNDATASIZE
00000a27: DUP3
00000a28: MSTORE
00000a29: RETURNDATASIZE
00000a2a: PUSH1 0x00
00000a2c: PUSH1 0x20
00000a2e: DUP5
00000a2f: ADD
00000a30: RETURNDATACOPY
00000a31: PUSH2 0x0a3a
00000a34: JUMP
00000a35: JUMPDEST
00000a36: PUSH1 0x60
00000a38: SWAP2
00000a39: POP
00000a3a: JUMPDEST
00000a3b: POP
00000a3c: SWAP2
00000a3d: POP
00000a3e: SWAP2
00000a3f: POP
00000a40: PUSH2 0x0a4a
00000a43: DUP7
00000a44: DUP4
00000a45: DUP4
00000a46: PUSH2 0x0a54
00000a49: JUMP
00000a4a: JUMPDEST
00000a4b: SWAP7
00000a4c: SWAP6
00000a4d: POP
00000a4e: POP
00000a4f: POP
00000a50: POP
00000a51: POP
00000a52: POP
00000a53: JUMP
00000a54: JUMPDEST
00000a55: PUSH1 0x60
00000a57: DUP3
00000a58: PUSH2 0x0a69
00000a5b: JUMPI
00000a5c: PUSH2 0x0a64
00000a5f: DUP3
00000a60: PUSH2 0x0ab0
00000a63: JUMP
00000a64: JUMPDEST
00000a65: PUSH2 0x09b0
00000a68: JUMP
00000a69: JUMPDEST
00000a6a: DUP2
00000a6b: MLOAD
00000a6c: ISZERO
00000a6d: DUP1
00000a6e: ISZERO
00000a6f: PUSH2 0x0a80
00000a72: JUMPI
00000a73: POP
00000a74: PUSH1 0x01
00000a76: PUSH1 0x01
00000a78: PUSH1 0xa0
00000a7a: SHL
00000a7b: SUB
00000a7c: DUP5
00000a7d: AND
00000a7e: EXTCODESIZE
00000a7f: ISZERO
00000a80: JUMPDEST
00000a81: ISZERO
00000a82: PUSH2 0x0aa9
00000a85: JUMPI
00000a86: PUSH1 0x40
00000a88: MLOAD
00000a89: PUSH4 0x9996b315
00000a8e: PUSH1 0xe0
00000a90: SHL
00000a91: DUP2
00000a92: MSTORE
00000a93: PUSH1 0x01
00000a95: PUSH1 0x01
00000a97: PUSH1 0xa0
00000a99: SHL
00000a9a: SUB
00000a9b: DUP6
00000a9c: AND
00000a9d: PUSH1 0x04
00000a9f: DUP3
00000aa0: ADD
00000aa1: MSTORE
00000aa2: PUSH1 0x24
00000aa4: ADD
00000aa5: PUSH2 0x07a4
00000aa8: JUMP
00000aa9: JUMPDEST
00000aaa: POP
00000aab: DUP1
00000aac: PUSH2 0x09b0
00000aaf: JUMP
00000ab0: JUMPDEST
00000ab1: DUP1
00000ab2: MLOAD
00000ab3: ISZERO
00000ab4: PUSH2 0x0ac0
00000ab7: JUMPI
00000ab8: DUP1
00000ab9: MLOAD
00000aba: DUP1
00000abb: DUP3
00000abc: PUSH1 0x20
00000abe: ADD
00000abf: REVERT
00000ac0: JUMPDEST
00000ac1: PUSH1 0x40
00000ac3: MLOAD
00000ac4: PUSH4 0x0a12f521
00000ac9: PUSH1 0xe1
00000acb: SHL
00000acc: DUP2
00000acd: MSTORE
00000ace: PUSH1 0x04
00000ad0: ADD
00000ad1: PUSH1 0x40
00000ad3: MLOAD
00000ad4: DUP1
00000ad5: SWAP2
00000ad6: SUB
00000ad7: SWAP1
00000ad8: REVERT
00000ad9: JUMPDEST
00000ada: DUP1
00000adb: ISZERO
00000adc: ISZERO
00000add: DUP2
00000ade: EQ
00000adf: PUSH2 0x07b6
00000ae2: JUMPI
00000ae3: PUSH1 0x00
00000ae5: DUP1
00000ae6: REVERT
00000ae7: JUMPDEST
00000ae8: PUSH1 0x00
00000aea: PUSH1 0x20
00000aec: DUP3
00000aed: DUP5
00000aee: SUB
00000aef: SLT
00000af0: ISZERO
00000af1: PUSH2 0x0af9
00000af4: JUMPI
00000af5: PUSH1 0x00
00000af7: DUP1
00000af8: REVERT
00000af9: JUMPDEST
00000afa: DUP2
00000afb: CALLDATALOAD
00000afc: PUSH2 0x09b0
00000aff: DUP2
00000b00: PUSH2 0x0ad9
00000b03: JUMP
00000b04: JUMPDEST
00000b05: PUSH1 0x00
00000b07: PUSH1 0x20
00000b09: DUP3
00000b0a: DUP5
00000b0b: SUB
00000b0c: SLT
00000b0d: ISZERO
00000b0e: PUSH2 0x0b16
00000b11: JUMPI
00000b12: PUSH1 0x00
00000b14: DUP1
00000b15: REVERT
00000b16: JUMPDEST
00000b17: POP
00000b18: CALLDATALOAD
00000b19: SWAP2
00000b1a: SWAP1
00000b1b: POP
00000b1c: JUMP
00000b1d: JUMPDEST
00000b1e: PUSH1 0x01
00000b20: PUSH1 0x01
00000b22: PUSH1 0xa0
00000b24: SHL
00000b25: SUB
00000b26: DUP2
00000b27: AND
00000b28: DUP2
00000b29: EQ
00000b2a: PUSH2 0x07b6
00000b2d: JUMPI
00000b2e: PUSH1 0x00
00000b30: DUP1
00000b31: REVERT
00000b32: JUMPDEST
00000b33: PUSH1 0x00
00000b35: PUSH1 0x20
00000b37: DUP3
00000b38: DUP5
00000b39: SUB
00000b3a: SLT
00000b3b: ISZERO
00000b3c: PUSH2 0x0b44
00000b3f: JUMPI
00000b40: PUSH1 0x00
00000b42: DUP1
00000b43: REVERT
00000b44: JUMPDEST
00000b45: DUP2
00000b46: CALLDATALOAD
00000b47: PUSH2 0x09b0
00000b4a: DUP2
00000b4b: PUSH2 0x0b1d
00000b4e: JUMP
00000b4f: JUMPDEST
00000b50: PUSH4 0x4e487b71
00000b55: PUSH1 0xe0
00000b57: SHL
00000b58: PUSH1 0x00
00000b5a: MSTORE
00000b5b: PUSH1 0x11
00000b5d: PUSH1 0x04
00000b5f: MSTORE
00000b60: PUSH1 0x24
00000b62: PUSH1 0x00
00000b64: REVERT
00000b65: JUMPDEST
00000b66: DUP1
00000b67: DUP3
00000b68: ADD
00000b69: DUP1
00000b6a: DUP3
00000b6b: GT
00000b6c: ISZERO
00000b6d: PUSH2 0x0770
00000b70: JUMPI
00000b71: PUSH2 0x0770
00000b74: PUSH2 0x0b4f
00000b77: JUMP
00000b78: JUMPDEST
00000b79: PUSH1 0x00
00000b7b: PUSH1 0x20
00000b7d: DUP3
00000b7e: DUP5
00000b7f: SUB
00000b80: SLT
00000b81: ISZERO
00000b82: PUSH2 0x0b8a
00000b85: JUMPI
00000b86: PUSH1 0x00
00000b88: DUP1
00000b89: REVERT
00000b8a: JUMPDEST
00000b8b: DUP2
00000b8c: MLOAD
00000b8d: PUSH2 0x09b0
00000b90: DUP2
00000b91: PUSH2 0x0b1d
00000b94: JUMP
00000b95: JUMPDEST
00000b96: PUSH1 0x00
00000b98: PUSH1 0x20
00000b9a: DUP3
00000b9b: DUP5
00000b9c: SUB
00000b9d: SLT
00000b9e: ISZERO
00000b9f: PUSH2 0x0ba7
00000ba2: JUMPI
00000ba3: PUSH1 0x00
00000ba5: DUP1
00000ba6: REVERT
00000ba7: JUMPDEST
00000ba8: POP
00000ba9: MLOAD
00000baa: SWAP2
00000bab: SWAP1
00000bac: POP
00000bad: JUMP
00000bae: JUMPDEST
00000baf: DUP2
00000bb0: DUP2
00000bb1: SUB
00000bb2: DUP2
00000bb3: DUP2
00000bb4: GT
00000bb5: ISZERO
00000bb6: PUSH2 0x0770
00000bb9: JUMPI
00000bba: PUSH2 0x0770
00000bbd: PUSH2 0x0b4f
00000bc0: JUMP
00000bc1: JUMPDEST
00000bc2: PUSH1 0x00
00000bc4: PUSH1 0x20
00000bc6: DUP3
00000bc7: DUP5
00000bc8: SUB
00000bc9: SLT
00000bca: ISZERO
00000bcb: PUSH2 0x0bd3
00000bce: JUMPI
00000bcf: PUSH1 0x00
00000bd1: DUP1
00000bd2: REVERT
00000bd3: JUMPDEST
00000bd4: DUP2
00000bd5: MLOAD
00000bd6: PUSH2 0x09b0
00000bd9: DUP2
00000bda: PUSH2 0x0ad9
00000bdd: JUMP
00000bde: JUMPDEST
00000bdf: PUSH1 0x00
00000be1: DUP3
00000be2: MLOAD
00000be3: PUSH1 0x00
00000be5: JUMPDEST
00000be6: DUP2
00000be7: DUP2
00000be8: LT
00000be9: ISZERO
00000bea: PUSH2 0x0bff
00000bed: JUMPI
00000bee: PUSH1 0x20
00000bf0: DUP2
00000bf1: DUP7
00000bf2: ADD
00000bf3: DUP2
00000bf4: ADD
00000bf5: MLOAD
00000bf6: DUP6
00000bf7: DUP4
00000bf8: ADD
00000bf9: MSTORE
00000bfa: ADD
00000bfb: PUSH2 0x0be5
00000bfe: JUMP
00000bff: JUMPDEST
00000c00: POP
00000c01: PUSH1 0x00
00000c03: SWAP3
00000c04: ADD
00000c05: SWAP2
00000c06: DUP3
00000c07: MSTORE
00000c08: POP
00000c09: SWAP2
00000c0a: SWAP1
00000c0b: POP
00000c0c: JUMP
00000c0d: INVALID
00000c0e: LOG2
00000c0f: PUSH5 0x6970667358
00000c15: UNKNOWN(0x22)
00000c16: SLT
00000c17: KECCAK256
00000c18: UNKNOWN(0x27)
00000c19: UNKNOWN(0xFC)
00000c1a: UNKNOWN(0xCA)
00000c1b: UNKNOWN(0xEF)
00000c1c: SELFBALANCE
00000c1d: UNKNOWN(0xB5)
00000c1e: AND
00000c1f: SWAP15
00000c20: PUSH10 0xb10ea0a12c42c3a8875e
00000c2b: UNKNOWN(0x4B)
00000c2c: SWAP5
00000c2d: UNKNOWN(0xB8)
00000c2e: PUSH1 0xfd
00000c30: UNKNOWN(0xF8)
00000c31: TIMESTAMP
00000c32: UNKNOWN(0xE4)
00000c33: UNKNOWN(0xC3)
00000c34: UNKNOWN(0xFB)
00000c35: PUSH5 0x0c2d64736f
00000c3b: PUSH13

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x8706de6b3e9b66ee05ccbc0fdbe9b6ffcd8557334db88b00ae85995413416fbd
call_targets: 0x4265f5d6c0cf127d733eefa16d66d0df4b650d53
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x8706de6b3e9b66ee05ccbc0fdbe9b6ffcd8557334db88b00ae85995413416fbd",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4265f5d6c0cf127d733eefa16d66d0df4b650d53"
    ],
    "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": "0xd88d9b70",
            "selector": "0xd88d9b70",
            "calldata_variants": [
                "0xd88d9b70",
                "0xd88d9b700000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9f2838e",
            "selector": "0xe9f2838e",
            "calldata_variants": [
                "0xe9f2838e",
                "0xe9f2838e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5691ad4",
            "selector": "0xf5691ad4",
            "calldata_variants": [
                "0xf5691ad4",
                "0xf5691ad40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc0c546a",
            "selector": "0xfc0c546a",
            "calldata_variants": [
                "0xfc0c546a",
                "0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb3760d56",
            "selector": "0xb3760d56",
            "calldata_variants": [
                "0xb3760d56",
                "0xb3760d560000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbe7c274e",
            "selector": "0xbe7c274e",
            "calldata_variants": [
                "0xbe7c274e",
                "0xbe7c274e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc311d049",
            "selector": "0xc311d049",
            "calldata_variants": [
                "0xc311d049",
                "0xc311d0490000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1372,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1599,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2565,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [],
    "untrusted_call_count": 3
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x8706de6b3e9b66ee05ccbc0fdbe9b6ffcd8557334db88b00ae85995413416fbd
call_targets: 0x4265f5d6c0cf127d733eefa16d66d0df4b650d53
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x8706de6b3e9b66ee05ccbc0fdbe9b6ffcd8557334db88b00ae85995413416fbd",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4265f5d6c0cf127d733eefa16d66d0df4b650d53"
    ],
    "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": "0xd88d9b70",
            "selector": "0xd88d9b70",
            "calldata_variants": [
                "0xd88d9b70",
                "0xd88d9b700000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9f2838e",
            "selector": "0xe9f2838e",
            "calldata_variants": [
                "0xe9f2838e",
                "0xe9f2838e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5691ad4",
            "selector": "0xf5691ad4",
            "calldata_variants": [
                "0xf5691ad4",
                "0xf5691ad40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc0c546a",
            "selector": "0xfc0c546a",
            "calldata_variants": [
                "0xfc0c546a",
                "0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb3760d56",
            "selector": "0xb3760d56",
            "calldata_variants": [
                "0xb3760d56",
                "0xb3760d560000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbe7c274e",
            "selector": "0xbe7c274e",
            "calldata_variants": [
                "0xbe7c274e",
                "0xbe7c274e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc311d049",
            "selector": "0xc311d049",
            "calldata_variants": [
                "0xc311d049",
                "0xc311d0490000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1372,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1599,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2565,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": []
}