S Price: $0.497289 (+2.03%)
    /

    Contract Diff Checker

    Contract Name:
    Greeter

    Contract Source Code:

    File 1 of 1 : Greeter

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.22;
    
    contract Greeter {
        string public name;
        address public owner;
    
        event NameChanged(string oldName, string newName);
    
        modifier onlyOwner() {
            require(msg.sender == owner, "Only the owner can perform this action");
            _;
        }
        
        constructor(string memory _initialName) {
            name = _initialName;
            owner = msg.sender;
        }
    
    
        function changeName(string memory _newName) external onlyOwner {
            string memory oldName = name;
            name = _newName;
            emit NameChanged(oldName, _newName);
        }
    
    
        function greet() external view returns (string memory) {
            return string(abi.encodePacked("Hello, ", name, "!"));
        }
    }

    Contract Name:
    Greeter

    Contract Source Code:

    File 1 of 1 : Greeter

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.22;
    
    contract Greeter {
        string public name;
        address public owner;
    
        event NameChanged(string oldName, string newName);
    
        modifier onlyOwner() {
            require(msg.sender == owner, "Only the owner can perform this action");
            _;
        }
        
        constructor(string memory _initialName) {
            name = _initialName;
            owner = msg.sender;
        }
    
    
        function changeName(string memory _newName) external onlyOwner {
            string memory oldName = name;
            name = _newName;
            emit NameChanged(oldName, _newName);
        }
    
    
        function greet() external view returns (string memory) {
            return string(abi.encodePacked("Hello, ", name, "!"));
        }
    }

    Context size (optional):