{"language":"Solidity","sources":{"EthVault.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.29;\n\ncontract EthVault {\n    address public owner = 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2;\n\n    event Deposit(address indexed sender, uint256 amount);\n    event Withdrawal(address indexed recipient, uint256 amount);\n\n    modifier onlyOwner() {\n        require(msg.sender == owner, \"Not authorized\");\n        _;\n    }\n\n    receive() external payable {\n        emit Deposit(msg.sender, msg.value);\n    }\n\n    function withdraw(uint256 _amount) external onlyOwner {\n        require(address(this).balance >= _amount, \"Insufficient balance\");\n        payable(owner).transfer(_amount);\n        emit Withdrawal(owner, _amount);\n    }\n\n    function getBalance() external view returns (uint256) {\n        return address(this).balance;\n    }\n}"}},"settings":{"outputSelection":{"*":{"*":["*"]}},"optimizer":{"enabled":true,"runs":200}}}