// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

/// @title AerePingCounter - harmless call target for modular-account tests and
///        live session-key proofs on chain 2800.
contract AerePingCounter {
    uint256 public pings;
    uint256 public forbiddenCalls;

    event Ping(address indexed from, uint256 count, uint256 value);

    /// @notice The in-scope call: increments a counter, optionally accepts value.
    function ping() external payable {
        pings += 1;
        emit Ping(msg.sender, pings, msg.value);
    }

    /// @notice Deliberately OUT of session scope in tests (wrong-selector case).
    function forbidden() external {
        forbiddenCalls += 1;
    }

    receive() external payable {}
}
