/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

Constructor self external-function value fails execution

Credited

Genuine, unique divergence — fixed in the engine and merged. +1 on the leaderboard.

Details

First-file independent constructor-bound-function gap. The exact screened source still failed constructor lowering after prior direct-function and mixed-argument fixes, but yields NO_DIVERGENCE at merged commit e47b44e. Focused constructor witness, full 2,326-job build, all 85 contest samples, and independent raw return/event/storage checks passed.

manual-static-and-source-review

Author
@rappie_eth
Points
1
Verdict
COVERAGE_GAP
Resolution
Valid gap — fixed in the engine
Submitted
Oct 4, 2026, 01:24 PM
Reviewed
Oct 4, 2026, 10:30 PM

This divergence was root-caused and fixed in the engine. Fixed in PR #112 →

Root cause

Constructor body lowering used a type environment without the most-derived deployment contract’s this binding. The ABI argument path could not infer the unique external signature of this.run. The body now uses the same this-aware environment as state initializers and base-constructor arguments.

Source

// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.35;

/* ===ARENA-MANIFEST===
{"deploy":{"contract":"C","args":[],"value":0},"entry":{"function":"run","args":[],"value":0},"lane":"C","feature":"constructor-self-external-function-value"}
===END-ARENA-MANIFEST=== */

contract C {
    bytes32 value;

    constructor() {
        value = keccak256(abi.encode(this.run));
    }

    function run() external view returns (bytes32) {
        return value;
    }
}