019be3d6-83d9-7110-a66c-ffe4837c3cc0
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 40939 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 40940 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 40941 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 40942 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 40943 | capability.graph | complete | 1 / 3 | 2 months ago |
| 40944 | detector.run | complete | 1 / 3 | 2 months ago |
| 40945 | validation.fork | complete | 1 / 3 | 2 months ago |
| 41369 | report.consolidate | complete | 1 / 6 | 2 months ago |
| 41370 | tool.slither | failed | 2 / 2 | 2 months ago |
{
"status": "not_proxy"
}
Traceback (most recent call last):
File "/var/www/tripwire/worker/worker.py", line 198, in main
payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
stdout_text, stderr_text, result_json = _run_slither(
~~~~~~~~~~~~^
workspace,
^^^^^^^^^^
...<4 lines>...
target_path=target_path,
^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-ftmicxlz)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-ftmicxlz)
'forge' returned non-zero exit code 1
Compiling 6 files with Solc 0.6.0
stdout: Solc 0.6.0 finished in 20.02ms
Error: Compiler run failed:
stderr: Error: Expected ';' but got '{'
stderr: contracts/lib/TransferHelper.sol:60:31: ParserError: Expected ';' but got '{'
stderr: (bool success, ) = to.call{ value: value }("");
stderr: ^
Traceback (most recent call last):
File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
sys.exit(main())
~~~~^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
main_impl(all_detector_classes=detectors, all_printer_classes=printers)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
compilations = compile_all(target, **vars(args))
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
compilations.append(CryticCompile(target, **kwargs))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
self._compile(**kwargs)
~~~~~~~~~~~~~^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
self._platform.compile(self, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
hardhat_like_parsing(
~~~~~~~~~~~~~~~~~~~~^
crytic_compile, str(self._target), build_directory, str(self._project_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-ftmicxlz/out/build-info is not a directory.
{"no_findings":true,"summary":"No exploitable vulnerabilities found in first-party contracts. UniBurn’s accounting updates occur before external calls and uses checked transfer helpers; residual risk depends on the correctness of the hard‑coded snapshot values and external pool/token behavior.","findings":[]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-aucky2lt
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be465-b43e-7f53-9661-f34b024fa6ec
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Deciding file read method**
I'm considering using shell commands like cat, rg, or sed to read the AUDIT_BUNDLE file in a read-only sandbox environment.
exec
/bin/bash -lc ls in /tmp/codex-aucky2lt succeeded in 6ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-aucky2lt succeeded in 5ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/UniBurn.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0;
import "./interfaces/IRestrictedIndexPool.sol";
import "./interfaces/IWETH.sol";
import "./lib/SafeMath.sol";
import "./lib/TransferHelper.sol";
contract UniBurn {
using SafeMath for uint256;
using TransferHelper for address;
IERC20 public constant defi5LP =
IERC20(0x8dCBa0B75c1038c4BaBBdc0Ff3bD9a8f6979Dd13);
thinking
**Auditing UniBurn redeem for reentrancy**
UniBurn’s redeem updates state before two external calls—pool exit and ETH transfer—mitigating classic reentrancy risks on the same tokens. However, reentry could allow repeated redeems using other LP tokens if the user holds them, which may be intended behavior. The pool address is constant but potentially untrusted, so its external call raises caution but likely doesn’t enable reentrancy via msg.sender.
thinking
**Identifying economic risk from fixed snapshot supply**
Redeem relies on a static snapshot of LP supply and asset balances, ignoring potential new LP tokens minted afterward. This can dilute original holders since newly minted LP tokens can redeem shares based on outdated ratios, enabling economic arbitrage though not a direct code exploit. The unrestricted burnWETH and external calls seem safe against reentrancy but the fixed snapshot approach poses a financial risk.
thinking
**Confirming economic/design risk with no critical code flaws**
No critical code vulnerabilities emerge beyond the known economic/design limitation allowing after-snapshot minted LP tokens to redeem and dilute original holders. Reentrancy risks are mitigated by state updates before external calls, and token transfers align with expected standards. Overall, findings point mainly to expected design trade-offs rather than exploitable bugs.
thinking
**Confirming no exploitable vulnerabilities**
No exploitable flaws found beyond economic trade-offs; key functions handle arithmetic safely and external calls follow secure patterns. Potential minor reverts from zero supply after full redemption are expected and harmless. Next, I'll prepare the final JSON with no findings and a summary of residual economic considerations.
exec
/bin/bash -lc 'nl -ba contracts/UniBurn.sol' in /tmp/codex-aucky2lt succeeded in 13ms:
1 // SPDX-License-Identifier: MIT
2 pragma solidity >=0.6.0;
3
4 import "./interfaces/IRestrictedIndexPool.sol";
5 import "./interfaces/IWETH.sol";
6 import "./lib/SafeMath.sol";
7 import "./lib/TransferHelper.sol";
8
9 contract UniBurn {
10 using SafeMath for uint256;
11 using TransferHelper for address;
12
13 IERC20 public constant defi5LP =
14 IERC20(0x8dCBa0B75c1038c4BaBBdc0Ff3bD9a8f6979Dd13);
15 IERC20 public constant cc10LP =
16 IERC20(0x2701eA55b8B4f0FE46C15a0F560e9cf0C430f833);
17 IERC20 public constant fffLP =
18 IERC20(0x9A60F0A46C1485D4BDA7750AdB0dB1b17Aa48A33);
19 IWETH public constant weth =
20 IWETH(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2);
thinking
**Verifying pool token burn and accounting logic**
Reviewed exitPoolTo logic in IRestrictedIndexPool; burning pool tokens matches reduced poolBalance even if exit fees reduce output tokens, so accounting remains consistent.
thinking
**Confirming no exploitable vulnerabilities**
No access control or reentrancy issues found; burnWETH and receive() pose no significant risk given design. Preparing JSON output stating no findings with a concise summary per schema.
codex
{"no_findings":true,"summary":"No exploitable vulnerabilities found in first-party contracts. UniBurn’s accounting updates occur before external calls and uses checked transfer helpers; residual risk depends on the correctness of the hard‑coded snapshot values and external pool/token behavior.","findings":[]}
tokens used
17,223
{
"codex": {
"ran_at": "2026-01-22T06:33:24.771240+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 6,
"import_count": 5,
"first_party_contracts_count": 6
},
"summary": "No exploitable vulnerabilities found in first-party contracts. UniBurn\u2019s accounting updates occur before external calls and uses checked transfer helpers; residual risk depends on the correctness of the hard\u2011coded snapshot values and external pool/token behavior.",
"raw_final": {
"summary": "No exploitable vulnerabilities found in first-party contracts. UniBurn\u2019s accounting updates occur before external calls and uses checked transfer helpers; residual risk depends on the correctness of the hard\u2011coded snapshot values and external pool/token behavior.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x00e1 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x7d88b770 00000019: GT 0000001a: PUSH2 0x007f 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x976eb268 00000024: GT 00000025: PUSH2 0x0059 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0x976eb268 0000002f: EQ 00000030: PUSH2 0x0218 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xc1f37be3 0000003a: EQ 0000003b: PUSH2 0x022d 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xd6d8461f 00000045: EQ 00000046: PUSH2 0x0242 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf4ee798a 00000050: EQ 00000051: PUSH2 0x0257 00000054: JUMPI 00000055: PUSH2 0x00e8 00000058: JUMP 00000059: JUMPDEST 0000005a: DUP1 0000005b: PUSH4 0x7d88b770 00000060: EQ 00000061: PUSH2 0x01d9 00000064: JUMPI 00000065: DUP1 00000066: PUSH4 0x7f52c4eb 0000006b: EQ 0000006c: PUSH2 0x01ee 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0x951567da 00000076: EQ 00000077: PUSH2 0x0203 0000007a: JUMPI 0000007b: PUSH2 0x00e8 0000007e: JUMP 0000007f: JUMPDEST 00000080: DUP1 00000081: PUSH4 0x69555fb5 00000086: GT 00000087: PUSH2 0x00bb 0000008a: JUMPI 0000008b: DUP1 0000008c: PUSH4 0x69555fb5 00000091: EQ 00000092: PUSH2 0x0148 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0x6cf0ed31 0000009c: EQ 0000009d: PUSH2 0x015f 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0x74033ce6 000000a7: EQ 000000a8: PUSH2 0x01af 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0x7a02c2c7 000000b2: EQ 000000b3: PUSH2 0x01c4 000000b6: JUMPI 000000b7: PUSH2 0x00e8 000000ba: JUMP 000000bb: JUMPDEST 000000bc: DUP1 000000bd: PUSH4 0x0b56dd63 000000c2: EQ 000000c3: PUSH2 0x00ed 000000c6: JUMPI 000000c7: DUP1 000000c8: PUSH4 0x3fc8cef3 000000cd: EQ 000000ce: PUSH2 0x011e 000000d1: JUMPI 000000d2: DUP1 000000d3: PUSH4 0x5fb4ed2a 000000d8: EQ 000000d9: PUSH2 0x0133 000000dc: JUMPI 000000dd: PUSH2 0x00e8 000000e0: JUMP 000000e1: JUMPDEST 000000e2: CALLDATASIZE 000000e3: PUSH2 0x00e8 000000e6: JUMPI 000000e7: STOP 000000e8: JUMPDEST 000000e9: PUSH1 0x00 000000eb: DUP1 000000ec: REVERT 000000ed: JUMPDEST 000000ee: CALLVALUE 000000ef: DUP1 000000f0: ISZERO 000000f1: PUSH2 0x00f9 000000f4: JUMPI 000000f5: PUSH1 0x00 000000f7: DUP1 000000f8: REVERT 000000f9: JUMPDEST 000000fa: POP 000000fb: PUSH2 0x0102 000000fe: PUSH2 0x026c 00000101: JUMP 00000102: JUMPDEST 00000103: PUSH1 0x40 00000105: DUP1 00000106: MLOAD 00000107: PUSH1 0x01 00000109: PUSH1 0x01 0000010b: PUSH1 0xa0 0000010d: SHL 0000010e: SUB 0000010f: SWAP1 00000110: SWAP3 00000111: AND 00000112: DUP3 00000113: MSTORE 00000114: MLOAD 00000115: SWAP1 00000116: DUP2 00000117: SWAP1 00000118: SUB 00000119: PUSH1 0x20 0000011b: ADD 0000011c: SWAP1 0000011d: RETURN 0000011e: JUMPDEST 0000011f: CALLVALUE 00000120: DUP1 00000121: ISZERO 00000122: PUSH2 0x012a 00000125: JUMPI 00000126: PUSH1 0x00 00000128: DUP1 00000129: REVERT 0000012a: JUMPDEST 0000012b: POP 0000012c: PUSH2 0x0102 0000012f: PUSH2 0x0284 00000132: JUMP 00000133: JUMPDEST 00000134: CALLVALUE 00000135: DUP1 00000136: ISZERO 00000137: PUSH2 0x013f 0000013a: JUMPI 0000013b: PUSH1 0x00 0000013d: DUP1 0000013e: REVERT 0000013f: JUMPDEST 00000140: POP 00000141: PUSH2 0x0102 00000144: PUSH2 0x029c 00000147: JUMP 00000148: JUMPDEST 00000149: CALLVALUE 0000014a: DUP1 0000014b: ISZERO 0000014c: PUSH2 0x0154 0000014f: JUMPI 00000150: PUSH1 0x00 00000152: DUP1 00000153: REVERT 00000154: JUMPDEST 00000155: POP 00000156: PUSH2 0x015d 00000159: PUSH2 0x02b4 0000015c: JUMP 0000015d: JUMPDEST 0000015e: STOP 0000015f: JUMPDEST 00000160: CALLVALUE 00000161: DUP1 00000162: ISZERO 00000163: PUSH2 0x016b 00000166: JUMPI 00000167: PUSH1 0x00 00000169: DUP1 0000016a: REVERT 0000016b: JUMPDEST 0000016c: POP 0000016d: PUSH2 0x0174 00000170: PUSH2 0x0391 00000173: JUMP 00000174: JUMPDEST 00000175: PUSH1 0x40 00000177: DUP1 00000178: MLOAD 00000179: PUSH1 0x01 0000017b: PUSH1 0x01 0000017d: PUSH1 0x60 0000017f: SHL 00000180: SUB 00000181: SWAP1 00000182: SWAP5 00000183: AND 00000184: DUP5 00000185: MSTORE 00000186: PUSH9 0xffffffffffffffffff 00000190: SWAP1 00000191: SWAP3 00000192: AND 00000193: PUSH1 0x20 00000195: DUP5 00000196: ADD 00000197: MSTORE 00000198: PUSH1 0x01 0000019a: PUSH1 0x01 0000019c: PUSH1 0x58 0000019e: SHL 0000019f: SUB 000001a0: AND 000001a1: DUP3 000001a2: DUP3 000001a3: ADD 000001a4: MSTORE 000001a5: MLOAD 000001a6: SWAP1 000001a7: DUP2 000001a8: SWAP1 000001a9: SUB 000001aa: PUSH1 0x60 000001ac: ADD 000001ad: SWAP1 000001ae: RETURN 000001af: JUMPDEST 000001b0: CALLVALUE 000001b1: DUP1 000001b2: ISZERO 000001b3: PUSH2 0x01bb 000001b6: JUMPI 000001b7: PUSH1 0x00 000001b9: DUP1 000001ba: REVERT 000001bb: JUMPDEST 000001bc: POP 000001bd: PUSH2 0x015d 000001c0: PUSH2 0x03c5 000001c3: JUMP 000001c4: JUMPDEST 000001c5: CALLVALUE 000001c6: DUP1 000001c7: ISZERO 000001c8: PUSH2 0x01d0 000001cb: JUMPI 000001cc: PUSH1 0x00 000001ce: DUP1 000001cf: REVERT 000001d0: JUMPDEST 000001d1: POP 000001d2: PUSH2 0x0102 000001d5: PUSH2 0x03fb 000001d8: JUMP 000001d9: JUMPDEST 000001da: CALLVALUE 000001db: DUP1 000001dc: ISZERO 000001dd: PUSH2 0x01e5 000001e0: JUMPI 000001e1: PUSH1 0x00 000001e3: DUP1 000001e4: REVERT 000001e5: JUMPDEST 000001e6: POP 000001e7: PUSH2 0x015d 000001ea: PUSH2 0x0413 000001ed: JUMP 000001ee: JUMPDEST 000001ef: CALLVALUE 000001f0: DUP1 000001f1: ISZERO 000001f2: PUSH2 0x01fa 000001f5: JUMPI 000001f6: PUSH1 0x00 000001f8: DUP1 000001f9: REVERT 000001fa: JUMPDEST 000001fb: POP 000001fc: PUSH2 0x0102 000001ff: PUSH2 0x0447 00000202: JUMP 00000203: JUMPDEST 00000204: CALLVALUE 00000205: DUP1 00000206: ISZERO 00000207: PUSH2 0x020f 0000020a: JUMPI 0000020b: PUSH1 0x00 0000020d: DUP1 0000020e: REVERT 0000020f: JUMPDEST 00000210: POP 00000211: PUSH2 0x0174 00000214: PUSH2 0x045f 00000217: JUMP 00000218: JUMPDEST 00000219: CALLVALUE 0000021a: DUP1 0000021b: ISZERO 0000021c: PUSH2 0x0224 0000021f: JUMPI 00000220: PUSH1 0x00 00000222: DUP1 00000223: REVERT 00000224: JUMPDEST 00000225: POP 00000226: PUSH2 0x0102 00000229: PUSH2 0x0493 0000022c: JUMP 0000022d: JUMPDEST 0000022e: CALLVALUE 0000022f: DUP1 00000230: ISZERO 00000231: PUSH2 0x0239 00000234: JUMPI 00000235: PUSH1 0x00 00000237: DUP1 00000238: REVERT 00000239: JUMPDEST 0000023a: POP 0000023b: PUSH2 0x015d 0000023e: PUSH2 0x04ab 00000241: JUMP 00000242: JUMPDEST 00000243: CALLVALUE 00000244: DUP1 00000245: ISZERO 00000246: PUSH2 0x024e 00000249: JUMPI 0000024a: PUSH1 0x00 0000024c: DUP1 0000024d: REVERT 0000024e: JUMPDEST 0000024f: POP 00000250: PUSH2 0x0102 00000253: PUSH2 0x04df 00000256: JUMP 00000257: JUMPDEST 00000258: CALLVALUE 00000259: DUP1 0000025a: ISZERO 0000025b: PUSH2 0x0263 0000025e: JUMPI 0000025f: PUSH1 0x00 00000261: DUP1 00000262: REVERT 00000263: JUMPDEST 00000264: POP 00000265: PUSH2 0x0174 00000268: PUSH2 0x04f7 0000026b: JUMP 0000026c: JUMPDEST 0000026d: PUSH20 0xfa6de2697d59e88ed7fc4dfe5a33dac43565ea41 00000282: DUP2 00000283: JUMP 00000284: JUMPDEST 00000285: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 0000029a: DUP2 0000029b: JUMP 0000029c: JUMPDEST 0000029d: PUSH20 0xabafa52d3d5a2c18a4c1ae24480d22b831fc0413 000002b2: DUP2 000002b3: JUMP 000002b4: JUMPDEST 000002b5: PUSH1 0x40 000002b7: DUP1 000002b8: MLOAD 000002b9: PUSH4 0x70a08231 000002be: PUSH1 0xe0 000002c0: SHL 000002c1: DUP2 000002c2: MSTORE 000002c3: ADDRESS 000002c4: PUSH1 0x04 000002c6: DUP3 000002c7: ADD 000002c8: MSTORE 000002c9: SWAP1 000002ca: MLOAD 000002cb: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000002e0: SWAP2 000002e1: PUSH4 0x2e1a7d4d 000002e6: SWAP2 000002e7: DUP4 000002e8: SWAP2 000002e9: PUSH4 0x70a08231 000002ee: SWAP2 000002ef: PUSH1 0x24 000002f1: DUP1 000002f2: DUP4 000002f3: ADD 000002f4: SWAP3 000002f5: PUSH1 0x20 000002f7: SWAP3 000002f8: SWAP2 000002f9: SWAP1 000002fa: DUP3 000002fb: SWAP1 000002fc: SUB 000002fd: ADD 000002fe: DUP2 000002ff: DUP7 00000300: DUP1 00000301: EXTCODESIZE 00000302: ISZERO 00000303: DUP1 00000304: ISZERO 00000305: PUSH2 0x030d 00000308: JUMPI 00000309: PUSH1 0x00 0000030b: DUP1 0000030c: REVERT 0000030d: JUMPDEST 0000030e: POP 0000030f: GAS 00000310: STATICCALL 00000311: ISZERO 00000312: DUP1 00000313: ISZERO 00000314: PUSH2 0x0321 00000317: JUMPI 00000318: RETURNDATASIZE 00000319: PUSH1 0x00 0000031b: DUP1 0000031c: RETURNDATACOPY 0000031d: RETURNDATASIZE 0000031e: PUSH1 0x00 00000320: REVERT 00000321: JUMPDEST 00000322: POP 00000323: POP 00000324: POP 00000325: POP 00000326: PUSH1 0x40 00000328: MLOAD 00000329: RETURNDATASIZE 0000032a: PUSH1 0x20 0000032c: DUP2 0000032d: LT 0000032e: ISZERO 0000032f: PUSH2 0x0337 00000332: JUMPI 00000333: PUSH1 0x00 00000335: DUP1 00000336: REVERT 00000337: JUMPDEST 00000338: POP 00000339: MLOAD 0000033a: PUSH1 0x40 0000033c: DUP1 0000033d: MLOAD 0000033e: PUSH1 0x01 00000340: PUSH1 0x01 00000342: PUSH1 0xe0 00000344: SHL 00000345: SUB 00000346: NOT 00000347: PUSH1 0xe0 00000349: DUP6 0000034a: SWAP1 0000034b: SHL 0000034c: AND 0000034d: DUP2 0000034e: MSTORE 0000034f: PUSH1 0x04 00000351: DUP2 00000352: ADD 00000353: SWAP3 00000354: SWAP1 00000355: SWAP3 00000356: MSTORE 00000357: MLOAD 00000358: PUSH1 0x24 0000035a: DUP1 0000035b: DUP4 0000035c: ADD 0000035d: SWAP3 0000035e: PUSH1 0x00 00000360: SWAP3 00000361: SWAP2 00000362: SWAP1 00000363: DUP3 00000364: SWAP1 00000365: SUB 00000366: ADD 00000367: DUP2 00000368: DUP4 00000369: DUP8 0000036a: DUP1 0000036b: EXTCODESIZE 0000036c: ISZERO 0000036d: DUP1 0000036e: ISZERO 0000036f: PUSH2 0x0377 00000372: JUMPI 00000373: PUSH1 0x00 00000375: DUP1 00000376: REVERT 00000377: JUMPDEST 00000378: POP 00000379: GAS 0000037a: CALL 0000037b: ISZERO 0000037c: DUP1 0000037d: ISZERO 0000037e: PUSH2 0x038b 00000381: JUMPI 00000382: RETURNDATASIZE 00000383: PUSH1 0x00 00000385: DUP1 00000386: RETURNDATACOPY 00000387: RETURNDATASIZE 00000388: PUSH1 0x00 0000038a: REVERT 0000038b: JUMPDEST 0000038c: POP 0000038d: POP 0000038e: POP 0000038f: POP 00000390: JUMP 00000391: JUMPDEST 00000392: PUSH1 0x00 00000394: SLOAD 00000395: PUSH1 0x01 00000397: PUSH1 0x01 00000399: PUSH1 0x60 0000039b: SHL 0000039c: SUB 0000039d: DUP2 0000039e: AND 0000039f: SWAP1 000003a0: PUSH1 0x01 000003a2: PUSH1 0x60 000003a4: SHL 000003a5: DUP2 000003a6: DIV 000003a7: PUSH9 0xffffffffffffffffff 000003b1: AND 000003b2: SWAP1 000003b3: PUSH1 0x01 000003b5: PUSH1 0xa8 000003b7: SHL 000003b8: SWAP1 000003b9: DIV 000003ba: PUSH1 0x01 000003bc: PUSH1 0x01 000003be: PUSH1 0x58 000003c0: SHL 000003c1: SUB 000003c2: AND 000003c3: DUP4 000003c4: JUMP 000003c5: JUMPDEST 000003c6: PUSH2 0x03f9 000003c9: PUSH20 0x17ac188e09a7890a1844e5e65471fe8b0ccfadf3 000003de: PUSH20 0x2701ea55b8b4f0fe46c15a0f560e9cf0c430f833 000003f3: PUSH1 0x02 000003f5: PUSH2 0x052b 000003f8: JUMP 000003f9: JUMPDEST 000003fa: JUMP 000003fb: JUMPDEST 000003fc: PUSH20 0x2701ea55b8b4f0fe46c15a0f560e9cf0c430f833 00000411: DUP2 00000412: JUMP 00000413: JUMPDEST 00000414: PUSH2 0x03f9 00000417: PUSH20 0xfa6de2697d59e88ed7fc4dfe5a33dac43565ea41 0000042c: PUSH20 0x8dcba0b75c1038c4babbdc0ff3bd9a8f6979dd13 00000441: PUSH1 0x01 00000443: PUSH2 0x052b 00000446: JUMP 00000447: JUMPDEST 00000448: PUSH20 0x8dcba0b75c1038c4babbdc0ff3bd9a8f6979dd13 0000045d: DUP2 0000045e: JUMP 0000045f: JUMPDEST 00000460: PUSH1 0x01 00000462: SLOAD 00000463: PUSH1 0x01 00000465: PUSH1 0x01 00000467: PUSH1 0x60 00000469: SHL 0000046a: SUB 0000046b: DUP2 0000046c: AND 0000046d: SWAP1 0000046e: PUSH1 0x01 00000470: PUSH1 0x60 00000472: SHL 00000473: DUP2 00000474: DIV 00000475: PUSH9 0xffffffffffffffffff 0000047f: AND 00000480: SWAP1 00000481: PUSH1 0x01 00000483: PUSH1 0xa8 00000485: SHL 00000486: SWAP1 00000487: DIV 00000488: PUSH1 0x01 0000048a: PUSH1 0x01 0000048c: PUSH1 0x58 0000048e: SHL 0000048f: SUB 00000490: AND 00000491: DUP4 00000492: JUMP 00000493: JUMPDEST 00000494: PUSH20 0x17ac188e09a7890a1844e5e65471fe8b0ccfadf3 000004a9: DUP2 000004aa: JUMP 000004ab: JUMPDEST 000004ac: PUSH2 0x03f9 000004af: PUSH20 0xabafa52d3d5a2c18a4c1ae24480d22b831fc0413 000004c4: PUSH20 0x9a60f0a46c1485d4bda7750adb0db1b17aa48a33 000004d9: PUSH1 0x00 000004db: PUSH2 0x052b 000004de: JUMP 000004df: JUMPDEST 000004e0: PUSH20 0x9a60f0a46c1485d4bda7750adb0db1b17aa48a33 000004f5: DUP2 000004f6: JUMP 000004f7: JUMPDEST 000004f8: PUSH1 0x02 000004fa: SLOAD 000004fb: PUSH1 0x01 000004fd: PUSH1 0x01 000004ff: PUSH1 0x60 00000501: SHL 00000502: SUB 00000503: DUP2 00000504: AND 00000505: SWAP1 00000506: PUSH1 0x01 00000508: PUSH1 0x60 0000050a: SHL 0000050b: DUP2 0000050c: DIV 0000050d: PUSH9 0xffffffffffffffffff 00000517: AND 00000518: SWAP1 00000519: PUSH1 0x01 0000051b: PUSH1 0xa8 0000051d: SHL 0000051e: SWAP1 0000051f: DIV 00000520: PUSH1 0x01 00000522: PUSH1 0x01 00000524: PUSH1 0x58 00000526: SHL 00000527: SUB 00000528: AND 00000529: DUP4 0000052a: JUMP 0000052b: JUMPDEST 0000052c: PUSH1 0x00 0000052e: DUP3 0000052f: PUSH1 0x01 00000531: PUSH1 0x01 00000533: PUSH1 0xa0 00000535: SHL 00000536: SUB 00000537: AND 00000538: PUSH4 0x70a08231 0000053d: CALLER 0000053e: PUSH1 0x40 00000540: MLOAD 00000541: DUP3 00000542: PUSH4 0xffffffff 00000547: AND 00000548: PUSH1 0xe0 0000054a: SHL 0000054b: DUP2 0000054c: MSTORE 0000054d: PUSH1 0x04 0000054f: ADD 00000550: DUP1 00000551: DUP3 00000552: PUSH1 0x01 00000554: PUSH1 0x01 00000556: PUSH1 0xa0 00000558: SHL 00000559: SUB 0000055a: AND 0000055b: DUP2 0000055c: MSTORE 0000055d: PUSH1 0x20 0000055f: ADD 00000560: SWAP2 00000561: POP 00000562: POP 00000563: PUSH1 0x20 00000565: PUSH1 0x40 00000567: MLOAD 00000568: DUP1 00000569: DUP4 0000056a: SUB 0000056b: DUP2 0000056c: DUP7 0000056d: DUP1 0000056e: EXTCODESIZE 0000056f: ISZERO 00000570: DUP1 00000571: ISZERO 00000572: PUSH2 0x057a 00000575: JUMPI 00000576: PUSH1 0x00 00000578: DUP1 00000579: REVERT 0000057a: JUMPDEST 0000057b: POP 0000057c: GAS 0000057d: STATICCALL 0000057e: ISZERO 0000057f: DUP1 00000580: ISZERO 00000581: PUSH2 0x058e 00000584: JUMPI 00000585: RETURNDATASIZE 00000586: PUSH1 0x00 00000588: DUP1 00000589: RETURNDATACOPY 0000058a: RETURNDATASIZE 0000058b: PUSH1 0x00 0000058d: REVERT 0000058e: JUMPDEST 0000058f: POP 00000590: POP 00000591: POP 00000592: POP 00000593: PUSH1 0x40 00000595: MLOAD 00000596: RETURNDATASIZE 00000597: PUSH1 0x20 00000599: DUP2 0000059a: LT 0000059b: ISZERO 0000059c: PUSH2 0x05a4 0000059f: JUMPI 000005a0: PUSH1 0x00 000005a2: DUP1 000005a3: REVERT 000005a4: JUMPDEST 000005a5: POP 000005a6: MLOAD 000005a7: SWAP1 000005a8: POP 000005a9: DUP1 000005aa: PUSH2 0x05ec 000005ad: JUMPI 000005ae: PUSH1 0x40 000005b0: DUP1 000005b1: MLOAD 000005b2: PUSH3 0x461bcd 000005b6: PUSH1 0xe5 000005b8: SHL 000005b9: DUP2 000005ba: MSTORE 000005bb: PUSH1 0x20 000005bd: PUSH1 0x04 000005bf: DUP3 000005c0: ADD 000005c1: MSTORE 000005c2: PUSH1 0x0f 000005c4: PUSH1 0x24 000005c6: DUP3 000005c7: ADD 000005c8: MSTORE 000005c9: PUSH15 0x11549497d395531317d05353d55395 000005d9: PUSH1 0x8a 000005db: SHL 000005dc: PUSH1 0x44 000005de: DUP3 000005df: ADD 000005e0: MSTORE 000005e1: SWAP1 000005e2: MLOAD 000005e3: SWAP1 000005e4: DUP2 000005e5: SWAP1 000005e6: SUB 000005e7: PUSH1 0x64 000005e9: ADD 000005ea: SWAP1 000005eb: REVERT 000005ec: JUMPDEST 000005ed: PUSH2 0x0602 000005f0: PUSH1 0x01 000005f2: PUSH1 0x01 000005f4: PUSH1 0xa0 000005f6: SHL 000005f7: SUB 000005f8: DUP5 000005f9: AND 000005fa: CALLER 000005fb: PUSH1 0x00 000005fd: DUP5 000005fe: PUSH2 0x0768 00000601: JUMP 00000602: JUMPDEST 00000603: DUP2 00000604: SLOAD 00000605: PUSH1 0x01 00000607: PUSH1 0x01 00000609: PUSH1 0x60 0000060b: SHL 0000060c: SUB 0000060d: DUP2 0000060e: AND 0000060f: SWAP1 00000610: PUSH1 0x01 00000612: PUSH1 0x60 00000614: SHL 00000615: DUP2 00000616: DIV 00000617: PUSH9 0xffffffffffffffffff 00000621: AND 00000622: SWAP1 00000623: PUSH1 0x01 00000625: PUSH1 0xa8 00000627: SHL 00000628: SWAP1 00000629: DIV 0000062a: PUSH1 0x01 0000062c: PUSH1 0x01 0000062e: PUSH1 0x58 00000630: SHL 00000631: SUB 00000632: AND 00000633: PUSH1 0x00 00000635: DUP4 00000636: PUSH2 0x063f 00000639: DUP5 0000063a: DUP8 0000063b: PUSH2 0x08c3 0000063e: JUMP 0000063f: JUMPDEST 00000640: DUP2 00000641: PUSH2 0x0646 00000644: JUMPI 00000645: INVALID 00000646: JUMPDEST 00000647: DIV 00000648: SWAP1 00000649: POP 0000064a: PUSH1 0x00 0000064c: DUP5 0000064d: PUSH2 0x0656 00000650: DUP5 00000651: DUP9 00000652: PUSH2 0x08c3 00000655: JUMP 00000656: JUMPDEST 00000657: DUP2 00000658: PUSH2 0x065d 0000065b: JUMPI 0000065c: INVALID 0000065d: JUMPDEST 0000065e: DIV 0000065f: SWAP1 00000660: POP 00000661: PUSH2 0x066a 00000664: DUP5 00000665: DUP4 00000666: PUSH2 0x092c 00000669: JUMP 0000066a: JUMPDEST 0000066b: DUP8 0000066c: SLOAD 0000066d: PUSH9 0xffffffffffffffffff 00000677: SWAP2 00000678: SWAP1 00000679: SWAP2 0000067a: AND 0000067b: PUSH1 0x01 0000067d: PUSH1 0x60 0000067f: SHL 00000680: MUL 00000681: PUSH9 0xffffffffffffffffff 0000068b: PUSH1 0x60 0000068d: SHL 0000068e: NOT 0000068f: SWAP1 00000690: SWAP2 00000691: AND 00000692: OR 00000693: DUP8 00000694: SSTORE 00000695: PUSH2 0x069e 00000698: DUP4 00000699: DUP3 0000069a: PUSH2 0x092c 0000069d: JUMP 0000069e: JUMPDEST 0000069f: DUP8 000006a0: SLOAD 000006a1: PUSH1 0x01 000006a3: PUSH1 0x01 000006a5: PUSH1 0x58 000006a7: SHL 000006a8: SUB 000006a9: SWAP2 000006aa: SWAP1 000006ab: SWAP2 000006ac: AND 000006ad: PUSH1 0x01 000006af: PUSH1 0xa8 000006b1: SHL 000006b2: MUL 000006b3: PUSH1 0x01 000006b5: PUSH1 0x01 000006b7: PUSH1 0xa8 000006b9: SHL 000006ba: SUB 000006bb: SWAP1 000006bc: SWAP2 000006bd: AND 000006be: OR 000006bf: DUP8 000006c0: SSTORE 000006c1: PUSH2 0x06ca 000006c4: DUP6 000006c5: DUP8 000006c6: PUSH2 0x092c 000006c9: JUMP 000006ca: JUMPDEST 000006cb: DUP8 000006cc: SLOAD 000006cd: PUSH12 0xffffffffffffffffffffffff 000006da: NOT 000006db: AND 000006dc: PUSH1 0x01 000006de: PUSH1 0x01 000006e0: PUSH1 0x60 000006e2: SHL 000006e3: SUB 000006e4: SWAP2 000006e5: SWAP1 000006e6: SWAP2 000006e7: AND 000006e8: OR 000006e9: DUP8 000006ea: SSTORE 000006eb: PUSH1 0x40 000006ed: DUP1 000006ee: MLOAD 000006ef: PUSH4 0x3d2f7b35 000006f4: PUSH1 0xe1 000006f6: SHL 000006f7: DUP2 000006f8: MSTORE 000006f9: CALLER 000006fa: PUSH1 0x04 000006fc: DUP3 000006fd: ADD 000006fe: MSTORE 000006ff: PUSH1 0x24 00000701: DUP2 00000702: ADD 00000703: DUP4 00000704: SWAP1 00000705: MSTORE 00000706: SWAP1 00000707: MLOAD 00000708: PUSH1 0x01 0000070a: PUSH1 0x01 0000070c: PUSH1 0xa0 0000070e: SHL 0000070f: SUB 00000710: DUP12 00000711: AND 00000712: SWAP2 00000713: PUSH4 0x7a5ef66a 00000718: SWAP2 00000719: PUSH1 0x44 0000071b: DUP1 0000071c: DUP4 0000071d: ADD 0000071e: SWAP3 0000071f: PUSH1 0x00 00000721: SWAP3 00000722: SWAP2 00000723: SWAP1 00000724: DUP3 00000725: SWAP1 00000726: SUB 00000727: ADD 00000728: DUP2 00000729: DUP4 0000072a: DUP8 0000072b: DUP1 0000072c: EXTCODESIZE 0000072d: ISZERO 0000072e: DUP1 0000072f: ISZERO 00000730: PUSH2 0x0738 00000733: JUMPI 00000734: PUSH1 0x00 00000736: DUP1 00000737: REVERT 00000738: JUMPDEST 00000739: POP 0000073a: GAS 0000073b: CALL 0000073c: ISZERO 0000073d: DUP1 0000073e: ISZERO 0000073f: PUSH2 0x074c 00000742: JUMPI 00000743: RETURNDATASIZE 00000744: PUSH1 0x00 00000746: DUP1 00000747: RETURNDATACOPY 00000748: RETURNDATASIZE 00000749: PUSH1 0x00 0000074b: REVERT 0000074c: JUMPDEST 0000074d: POP 0000074e: PUSH2 0x075d 00000751: SWAP3 00000752: POP 00000753: CALLER 00000754: SWAP2 00000755: POP 00000756: DUP5 00000757: SWAP1 00000758: POP 00000759: PUSH2 0x097c 0000075c: JUMP 0000075d: JUMPDEST 0000075e: POP 0000075f: POP 00000760: POP 00000761: POP 00000762: POP 00000763: POP 00000764: POP 00000765: POP 00000766: POP 00000767: JUMP 00000768: JUMPDEST 00000769: PUSH1 0x40 0000076b: DUP1 0000076c: MLOAD 0000076d: PUSH1 0x01 0000076f: PUSH1 0x01 00000771: PUSH1 0xa0 00000773: SHL 00000774: SUB 00000775: DUP6 00000776: DUP2 00000777: AND 00000778: PUSH1 0x24 0000077a: DUP4 0000077b: ADD 0000077c: MSTORE 0000077d: DUP5 0000077e: DUP2 0000077f: AND 00000780: PUSH1 0x44 00000782: DUP4 00000783: ADD 00000784: MSTORE 00000785: PUSH1 0x64 00000787: DUP1 00000788: DUP4 00000789: ADD 0000078a: DUP6 0000078b: SWAP1 0000078c: MSTORE 0000078d: DUP4 0000078e: MLOAD 0000078f: DUP1 00000790: DUP5 00000791: SUB 00000792: SWAP1 00000793: SWAP2 00000794: ADD 00000795: DUP2 00000796: MSTORE 00000797: PUSH1 0x84 00000799: SWAP1 0000079a: SWAP3 0000079b: ADD 0000079c: DUP4 0000079d: MSTORE 0000079e: PUSH1 0x20 000007a0: DUP3 000007a1: ADD 000007a2: DUP1 000007a3: MLOAD 000007a4: PUSH1 0x01 000007a6: PUSH1 0x01 000007a8: PUSH1 0xe0 000007aa: SHL 000007ab: SUB 000007ac: AND 000007ad: PUSH4 0x23b872dd 000007b2: PUSH1 0xe0 000007b4: SHL 000007b5: OR 000007b6: DUP2 000007b7: MSTORE 000007b8: SWAP3 000007b9: MLOAD 000007ba: DUP3 000007bb: MLOAD 000007bc: PUSH1 0x00 000007be: SWAP5 000007bf: DUP6 000007c0: SWAP5 000007c1: SWAP4 000007c2: DUP11 000007c3: AND 000007c4: SWAP4 000007c5: SWAP3 000007c6: SWAP2 000007c7: DUP3 000007c8: SWAP2 000007c9: SWAP1 000007ca: DUP1 000007cb: DUP4 000007cc: DUP4 000007cd: JUMPDEST 000007ce: PUSH1 0x20 000007d0: DUP4 000007d1: LT 000007d2: PUSH2 0x07ec 000007d5: JUMPI 000007d6: DUP1 000007d7: MLOAD 000007d8: DUP3 000007d9: MSTORE 000007da: PUSH1 0x1f 000007dc: NOT 000007dd: SWAP1 000007de: SWAP3 000007df: ADD 000007e0: SWAP2 000007e1: PUSH1 0x20 000007e3: SWAP2 000007e4: DUP3 000007e5: ADD 000007e6: SWAP2 000007e7: ADD 000007e8: PUSH2 0x07cd 000007eb: JUMP 000007ec: JUMPDEST 000007ed: PUSH1 0x01 000007ef: DUP4 000007f0: PUSH1 0x20 000007f2: SUB 000007f3: PUSH2 0x0100 000007f6: EXP 000007f7: SUB 000007f8: DUP1 000007f9: NOT 000007fa: DUP3 000007fb: MLOAD 000007fc: AND 000007fd: DUP2 000007fe: DUP5 000007ff: MLOAD 00000800: AND 00000801: DUP1 00000802: DUP3 00000803: OR 00000804: DUP6 00000805: MSTORE 00000806: POP 00000807: POP 00000808: POP 00000809: POP 0000080a: POP 0000080b: POP 0000080c: SWAP1 0000080d: POP 0000080e: ADD 0000080f: SWAP2 00000810: POP 00000811: POP 00000812: PUSH1 0x00 00000814: PUSH1 0x40 00000816: MLOAD 00000817: DUP1 00000818: DUP4 00000819: SUB 0000081a: DUP2 0000081b: PUSH1 0x00 0000081d: DUP7 0000081e: GAS 0000081f: CALL 00000820: SWAP2 00000821: POP 00000822: POP 00000823: RETURNDATASIZE 00000824: DUP1 00000825: PUSH1 0x00 00000827: DUP2 00000828: EQ 00000829: PUSH2 0x084e 0000082c: JUMPI 0000082d: PUSH1 0x40 0000082f: MLOAD 00000830: SWAP2 00000831: POP 00000832: PUSH1 0x1f 00000834: NOT 00000835: PUSH1 0x3f 00000837: RETURNDATASIZE 00000838: ADD 00000839: AND 0000083a: DUP3 0000083b: ADD 0000083c: PUSH1 0x40 0000083e: MSTORE 0000083f: RETURNDATASIZE 00000840: DUP3 00000841: MSTORE 00000842: RETURNDATASIZE 00000843: PUSH1 0x00 00000845: PUSH1 0x20 00000847: DUP5 00000848: ADD 00000849: RETURNDATACOPY 0000084a: PUSH2 0x0853 0000084d: JUMP 0000084e: JUMPDEST 0000084f: PUSH1 0x60 00000851: SWAP2 00000852: POP 00000853: JUMPDEST 00000854: POP 00000855: SWAP2 00000856: POP 00000857: SWAP2 00000858: POP 00000859: DUP2 0000085a: DUP1 0000085b: ISZERO 0000085c: PUSH2 0x0881 0000085f: JUMPI 00000860: POP 00000861: DUP1 00000862: MLOAD 00000863: ISZERO 00000864: DUP1 00000865: PUSH2 0x0881 00000868: JUMPI 00000869: POP 0000086a: DUP1 0000086b: DUP1 0000086c: PUSH1 0x20 0000086e: ADD 0000086f: SWAP1 00000870: MLOAD 00000871: PUSH1 0x20 00000873: DUP2 00000874: LT 00000875: ISZERO 00000876: PUSH2 0x087e 00000879: JUMPI 0000087a: PUSH1 0x00 0000087c: DUP1 0000087d: REVERT 0000087e: JUMPDEST 0000087f: POP 00000880: MLOAD 00000881: JUMPDEST 00000882: PUSH2 0x08bb 00000885: JUMPI 00000886: PUSH1 0x40 00000888: DUP1 00000889: MLOAD 0000088a: PUSH3 0x461bcd 0000088e: PUSH1 0xe5 00000890: SHL 00000891: DUP2 00000892: MSTORE 00000893: PUSH1 0x20 00000895: PUSH1 0x04 00000897: DUP3 00000898: ADD 00000899: MSTORE 0000089a: PUSH1 0x06 0000089c: PUSH1 0x24 0000089e: DUP3 0000089f: ADD 000008a0: MSTORE 000008a1: PUSH6 0x2a241d29aa23 000008a8: PUSH1 0xd1 000008aa: SHL 000008ab: PUSH1 0x44 000008ad: DUP3 000008ae: ADD 000008af: MSTORE 000008b0: SWAP1 000008b1: MLOAD 000008b2: SWAP1 000008b3: DUP2 000008b4: SWAP1 000008b5: SUB 000008b6: PUSH1 0x64 000008b8: ADD 000008b9: SWAP1 000008ba: REVERT 000008bb: JUMPDEST 000008bc: POP 000008bd: POP 000008be: POP 000008bf: POP 000008c0: POP 000008c1: POP 000008c2: JUMP 000008c3: JUMPDEST 000008c4: PUSH1 0x00 000008c6: DUP2 000008c7: ISZERO 000008c8: DUP1 000008c9: PUSH2 0x08de 000008cc: JUMPI 000008cd: POP 000008ce: POP 000008cf: DUP1 000008d0: DUP3 000008d1: MUL 000008d2: DUP3 000008d3: DUP3 000008d4: DUP3 000008d5: DUP2 000008d6: PUSH2 0x08db 000008d9: JUMPI 000008da: INVALID 000008db: JUMPDEST 000008dc: DIV 000008dd: EQ 000008de: JUMPDEST 000008df: PUSH2 0x0926 000008e2: JUMPI 000008e3: PUSH1 0x40 000008e5: DUP1 000008e6: MLOAD 000008e7: PUSH3 0x461bcd 000008eb: PUSH1 0xe5 000008ed: SHL 000008ee: DUP2 000008ef: MSTORE 000008f0: PUSH1 0x20 000008f2: PUSH1 0x04 000008f4: DUP3 000008f5: ADD 000008f6: MSTORE 000008f7: PUSH1 0x14 000008f9: PUSH1 0x24 000008fb: DUP3 000008fc: ADD 000008fd: MSTORE 000008fe: PUSH20 0x64732d6d6174682d6d756c2d6f766572666c6f77 00000913: PUSH1 0x60 00000915: SHL 00000916: PUSH1 0x44 00000918: DUP3 00000919: ADD 0000091a: MSTORE 0000091b: SWAP1 0000091c: MLOAD 0000091d: SWAP1 0000091e: DUP2 0000091f: SWAP1 00000920: SUB 00000921: PUSH1 0x64 00000923: ADD 00000924: SWAP1 00000925: REVERT 00000926: JUMPDEST 00000927: SWAP3 00000928: SWAP2 00000929: POP 0000092a: POP 0000092b: JUMP 0000092c: JUMPDEST 0000092d: DUP1 0000092e: DUP3 0000092f: SUB 00000930: DUP3 00000931: DUP2 00000932: GT 00000933: ISZERO 00000934: PUSH2 0x0926 00000937: JUMPI 00000938: PUSH1 0x40 0000093a: DUP1 0000093b: MLOAD 0000093c: PUSH3 0x461bcd 00000940: PUSH1 0xe5 00000942: SHL 00000943: DUP2 00000944: MSTORE 00000945: PUSH1 0x20 00000947: PUSH1 0x04 00000949: DUP3 0000094a: ADD 0000094b: MSTORE 0000094c: PUSH1 0x15 0000094e: PUSH1 0x24 00000950: DUP3 00000951: ADD 00000952: MSTORE 00000953: PUSH21 0x64732d6d6174682d7375622d756e646572666c6f77 00000969: PUSH1 0x58 0000096b: SHL 0000096c: PUSH1 0x44 0000096e: DUP3 0000096f: ADD 00000970: MSTORE 00000971: SWAP1 00000972: MLOAD 00000973: SWAP1 00000974: DUP2 00000975: SWAP1 00000976: SUB 00000977: PUSH1 0x64 00000979: ADD 0000097a: SWAP1 0000097b: REVERT 0000097c: JUMPDEST 0000097d: PUSH1 0x40 0000097f: MLOAD 00000980: PUSH1 0x00 00000982: SWAP1 00000983: PUSH1 0x01 00000985: PUSH1 0x01 00000987: PUSH1 0xa0 00000989: SHL 0000098a: SUB 0000098b: DUP5 0000098c: AND 0000098d: SWAP1 0000098e: DUP4 0000098f: SWAP1 00000990: DUP4 00000991: DUP2 00000992: DUP2 00000993: DUP2 00000994: DUP6 00000995: DUP8 00000996: GAS 00000997: CALL 00000998: SWAP3 00000999: POP 0000099a: POP 0000099b: POP 0000099c: RETURNDATASIZE 0000099d: DUP1 0000099e: PUSH1 0x00 000009a0: DUP2 000009a1: EQ 000009a2: PUSH2 0x09c7 000009a5: JUMPI 000009a6: PUSH1 0x40 000009a8: MLOAD 000009a9: SWAP2 000009aa: POP 000009ab: PUSH1 0x1f 000009ad: NOT 000009ae: PUSH1 0x3f 000009b0: RETURNDATASIZE 000009b1: ADD 000009b2: AND 000009b3: DUP3 000009b4: ADD 000009b5: PUSH1 0x40 000009b7: MSTORE 000009b8: RETURNDATASIZE 000009b9: DUP3 000009ba: MSTORE 000009bb: RETURNDATASIZE 000009bc: PUSH1 0x00 000009be: PUSH1 0x20 000009c0: DUP5 000009c1: ADD 000009c2: RETURNDATACOPY 000009c3: PUSH2 0x09cc 000009c6: JUMP 000009c7: JUMPDEST 000009c8: PUSH1 0x60 000009ca: SWAP2 000009cb: POP 000009cc: JUMPDEST 000009cd: POP 000009ce: POP 000009cf: SWAP1 000009d0: POP 000009d1: DUP1 000009d2: PUSH2 0x0a0b 000009d5: JUMPI 000009d6: PUSH1 0x40 000009d8: DUP1 000009d9: MLOAD 000009da: PUSH3 0x461bcd 000009de: PUSH1 0xe5 000009e0: SHL 000009e1: DUP2 000009e2: MSTORE 000009e3: PUSH1 0x20 000009e5: PUSH1 0x04 000009e7: DUP3 000009e8: ADD 000009e9: MSTORE 000009ea: PUSH1 0x06 000009ec: PUSH1 0x24 000009ee: DUP3 000009ef: ADD 000009f0: MSTORE 000009f1: PUSH6 0x54483a535445 000009f8: PUSH1 0xd0 000009fa: SHL 000009fb: PUSH1 0x44 000009fd: DUP3 000009fe: ADD 000009ff: MSTORE 00000a00: SWAP1 00000a01: MLOAD 00000a02: SWAP1 00000a03: DUP2 00000a04: SWAP1 00000a05: SUB 00000a06: PUSH1 0x64 00000a08: ADD 00000a09: SWAP1 00000a0a: REVERT 00000a0b: JUMPDEST 00000a0c: POP 00000a0d: POP 00000a0e: POP 00000a0f: JUMP 00000a10: INVALID 00000a11: LOG1 00000a12: PUSH5 0x736f6c6343 00000a18: STOP 00000a19: SMOD 00000a1a: MOD 00000a1b: STOP 00000a1c: EXP
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xca13c470833f057e236a9bebc7308dc9054047d4e39280df456cbb00e9400926
call_targets:
0x589f9d287766d810aafccaee3a133f22c13eb6f8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xca13c470833f057e236a9bebc7308dc9054047d4e39280df456cbb00e9400926",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x589f9d287766d810aafccaee3a133f22c13eb6f8"
],
"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": "0x976eb268",
"selector": "0x976eb268",
"calldata_variants": [
"0x976eb268",
"0x976eb2680000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc1f37be3",
"selector": "0xc1f37be3",
"calldata_variants": [
"0xc1f37be3",
"0xc1f37be30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd6d8461f",
"selector": "0xd6d8461f",
"calldata_variants": [
"0xd6d8461f",
"0xd6d8461f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf4ee798a",
"selector": "0xf4ee798a",
"calldata_variants": [
"0xf4ee798a",
"0xf4ee798a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7d88b770",
"selector": "0x7d88b770",
"calldata_variants": [
"0x7d88b770",
"0x7d88b7700000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7f52c4eb",
"selector": "0x7f52c4eb",
"calldata_variants": [
"0x7f52c4eb",
"0x7f52c4eb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x951567da",
"selector": "0x951567da",
"calldata_variants": [
"0x951567da",
"0x951567da0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x69555fb5",
"selector": "0x69555fb5",
"calldata_variants": [
"0x69555fb5",
"0x69555fb50000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 890,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1851,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2079,
"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 |
viewtrace_id: 0xca13c470833f057e236a9bebc7308dc9054047d4e39280df456cbb00e9400926
call_targets:
0x589f9d287766d810aafccaee3a133f22c13eb6f8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xca13c470833f057e236a9bebc7308dc9054047d4e39280df456cbb00e9400926",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x589f9d287766d810aafccaee3a133f22c13eb6f8"
],
"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": "0x976eb268",
"selector": "0x976eb268",
"calldata_variants": [
"0x976eb268",
"0x976eb2680000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc1f37be3",
"selector": "0xc1f37be3",
"calldata_variants": [
"0xc1f37be3",
"0xc1f37be30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd6d8461f",
"selector": "0xd6d8461f",
"calldata_variants": [
"0xd6d8461f",
"0xd6d8461f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf4ee798a",
"selector": "0xf4ee798a",
"calldata_variants": [
"0xf4ee798a",
"0xf4ee798a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7d88b770",
"selector": "0x7d88b770",
"calldata_variants": [
"0x7d88b770",
"0x7d88b7700000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7f52c4eb",
"selector": "0x7f52c4eb",
"calldata_variants": [
"0x7f52c4eb",
"0x7f52c4eb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x951567da",
"selector": "0x951567da",
"calldata_variants": [
"0x951567da",
"0x951567da0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x69555fb5",
"selector": "0x69555fb5",
"calldata_variants": [
"0x69555fb5",
"0x69555fb50000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 890,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1851,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2079,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 4,
"guards_detected": []
}
|