diff --git a/ratelim/ratelim.txt b/ratelim/ratelim.txt new file mode 100644 index 0000000..c2ce762 --- /dev/null +++ b/ratelim/ratelim.txt @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract RateLimited { + mapping(address => uint256) public lastAccessTime; + uint256 public rateLimit = 30; // Rate limit set to 30 seconds + + modifier rateLimiting() { + require( + lastAccessTime[msg.sender] + rateLimit < block.timestamp, + "Shenanigans" + ); + _; + lastAccessTime[msg.sender] = block.timestamp; + } + + function rateLimitedFunction() external rateLimiting { + // Function logic here + } +}