{"language":"Solidity","sources":{"TokenExchange.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.29;\n\ncontract TokenExchange {\n    string public name = \"Token Exchange\";\n    uint256 public rate = 100;\n\n    event TokensPurchased(\n        address account,\n        address token,\n        uint256 amount,\n        uint256 rate\n    );\n\n    function buyTokens(address token, uint256 amount) public payable {\n        require(msg.value == amount * rate, \"Incorrect Ether value sent\");\n        emit TokensPurchased(msg.sender, token, amount, rate);\n    }\n}"}},"settings":{"outputSelection":{"*":{"*":["*"]}},"optimizer":{"enabled":true,"runs":200}}}