polytone-evm 0.3.0

Core interfaces for Polytone Interchain accounts and queries.
Documentation
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.24;

// Counter contract that increments per unique message sender
contract SenderCounter {
    mapping(address => uint256) private counters;

    // Event to emit when a counter is incremented
    event CounterIncremented(address indexed sender, uint256 newCounter);

    // Function to increment the counter for the sender
    function incrementCounter() external {
        counters[msg.sender] += 1;
        emit CounterIncremented(msg.sender, counters[msg.sender]);
    }

    // Function to get the current counter for a sender
    function getCounter(address sender) external view returns (uint256) {
        return counters[sender];
    }
}