// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; interface IOracle { function latestAnswer() external view returns (int256); function latestTimestamp() external view returns (uint256); } contract StaleOracleLending { IOracle public oracle; mapping(address => uint256) public collateral; constructor(address _oracle) { oracle = IOracle(_oracle); } function depositCollateral() external payable { collateral[msg.sender] += msg.value; } function borrow(uint256 amount) external { int256 price = oracle.latestAnswer(); require(price > 0, "bad price"); // no staleness check on latestTimestamp uint256 value = collateral[msg.sender] * uint256(price); require(value >= amount * 1e18, "insufficient collateral"); payable(msg.sender).transfer(amount); } receive() external payable {} }