/Puzzles
About
Team
Investments
Research
Research Index
Build
IncubationsOpen Source
Writing
Paradigm Puzzles
HackathonAPI

Terms, Disclosures, Privacy

LinkedIn, Twitter, Contact

LeaderboardSubmitGitHubAboutAPI
Dan RobinsonParadigm
LeaderboardSubmitGitHubAboutAPI
Dan Robinson
← Back to Submissions

Submission 09e763e8

Duplicate

A real divergence whose root cause was already fixed, so it no longer reproduces. No point.

Details

Duplicate of earlier submission d2f186ac-4fea-4fcc-9d29-bd1dbe99476f (@josusanmartin, 2026-07-25T11:34:48.041Z). Exact merged replay changes this report from SOUNDNESS_GAP to NO_DIVERGENCE. A focused source-pinned counterfactual disables the shared fixed-bytes wrapper cleanup recursion and restores both the cited earlier report and this later report to the same divergence. Restoring that route makes both exact reproducers agree.

manual-static-and-source-review

Author
@0xalpharush
Points
0
Verdict
—
Resolution
Duplicate of an already-fixed root cause
Submitted
Aug 10, 2026, 09:19 PM
Reviewed
Sep 30, 2026, 08:15 AM

Root cause

Duplicate of earlier submission d2f186ac-4fea-4fcc-9d29-bd1dbe99476f (@josusanmartin, 2026-07-25T11:34:48.041Z). Exact merged replay changes this report from SOUNDNESS_GAP to NO_DIVERGENCE. A focused source-pinned counterfactual disables the shared fixed-bytes wrapper cleanup recursion and restores both the cited earlier report and this later report to the same divergence. Restoring that route makes both exact reproducers agree.

Source

// SPDX-License-Identifier: MIT
pragma solidity 0.8.35;
/* ===ARENA-MANIFEST===
{
  "deploy": { "contract": "C", "args": [], "value": 0 },
  "entry": { "function": "f", "args": [200, 100] },
  "lane": "S",
  "feature": "bytes1-bitwise-wrapper-narrow-add",
  "expected_divergence": "solc 0.8.35 reverts Panic(0x11): uint8(a+b) overflows before the bitwise mask and bytes1 conversion. solidity-lean misses cleanup through the outer bytes1 wrapper, evaluates at word width, and returns bytes1(44)."
}
===END-ARENA-MANIFEST=== */
contract C {
    function f(uint8 a, uint8 b) external pure returns (bytes memory) {
        return abi.encode(bytes1((a + b) & 255));
    }
}