solidity-audit-ai / samples /safe /SafeWallet.sol
LaelaZ's picture
Deploy Solidity Audit AI to HF Spaces (Docker)
31ea9b2 verified
raw
history blame contribute delete
867 Bytes
// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;
/// @title SafeWallet
/// @notice Uses msg.sender for auth, access-controlled sensitive functions,
/// and checks low-level call results.
contract SafeWallet {
address public owner;
constructor() {
owner = msg.sender;
}
modifier onlyOwner() {
require(msg.sender == owner, "not owner");
_;
}
receive() external payable {}
// SAFE: msg.sender auth + access control + checked call.
function transferTo(address payable dest, uint256 amount) external onlyOwner {
(bool ok, ) = dest.call{value: amount}("");
require(ok, "transfer failed");
}
// SAFE: guarded owner change.
function setOwner(address newOwner) external onlyOwner {
require(newOwner != address(0), "zero owner");
owner = newOwner;
}
}