【Solidity】Modifier 的用法
Modifier主要修饰function方法,在执行function之前,先检查是否有modifier修饰符。如果有,先执行modifier修饰的方法.
// SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 <0.9.0; import "hardhat/console.sol"; contract ExampleModifier { address public owner; uint256 public amount; bool public passed100; constructor(){ owner = msg.sender; } modifier onlyOwner(){ require(msg.sender == owner, "Only owner"); _; } modifier validAmount(uint256 _amount) { console.log("1"); require(_amount == 100,"Amount should be 100"); console.log("2"); _; console.log("3"); passed100 = true; } function updateAmount(uint256 _amount) public onlyOwner validAmount(_amount){ console.log("4"); amount = _amount; // revert("error"); console.log("5"); } }
Facebook评论