pragma solidity 0.8.20; //Do not change the solidity version as it negatively impacts submission grading // SPDX-License-Identifier: MIT import "@openzeppelin/contracts/access/Ownable.sol"; import "./YourToken.sol"; contract Vendor is Ownable { ///////////////// /// Errors ////// ///////////////// // Errors go here... ////////////////////// /// State Variables // ////////////////////// YourToken public immutable yourToken; //////////////// /// Events ///// //////////////// // Events go here... /////////////////// /// Constructor /// /////////////////// constructor(address tokenAddress) Ownable(msg.sender) { yourToken = YourToken(tokenAddress); } /////////////////// /// Functions ///// /////////////////// function buyTokens() external payable {} function withdraw() public onlyOwner {} function sellTokens(uint256 amount) public {} }