neo-devpack-solidity 0.22.0

Production-focused Solidity-to-NeoVM compilation system
Documentation
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

/**
 * @title EVMFallbackDispatcher
 * @notice Explicit fallback routing for contracts ported from EVM semantics.
 * @dev Neo N3 does not route unknown method selectors to an implicit fallback entrypoint.
 *      Expose dispatch(selector, data) and let callers or adapters pass the selector
 *      intentionally. This keeps the ABI manifest explicit and auditable.
 */
abstract contract EVMFallbackDispatcher {
    function dispatch(bytes4 selector, bytes calldata data)
        external
        virtual
        returns (bytes memory result)
    {
        result = _dispatch(selector, data);
    }

    function _dispatch(bytes4 selector, bytes memory data)
        internal
        virtual
        returns (bytes memory result)
    {
        selector;
        data;
        revert("EVM fallback selector unsupported");
    }
}