abstract contract base {
address owner;
modifier only_owner() {
require(msg.sender == owner);
_;
}
modifier check_price(int64 price) virtual {
if (price >= 10) {
_;
}
}
}
contract example is base {
modifier check_price(int64 price) override {
if (price >= 50) {
_;
}
}
function foo(int64 price) public only_owner check_price(price) {
// ...
}
}