首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带应付修饰符的非应付函数

带应付修饰符的非应付函数
EN

Ethereum用户
提问于 2022-11-08 15:12:42
回答 1查看 69关注 0票数 0

我有一个不需要支付的函数来提出建议。它有一个名为isSubmitFeePaid的修饰符。修饰符调用应付款函数。我在写剧本来求婚。但问题是,当我尝试调用FundProject__NotEnoughPayment()时,它会使用我没有发送给eth的revert ()。但是我不能,因为它是不支付的。因为它有应付修饰符,所以我不得不寄出一些eth。我无法支付目的函数。它的OpenZeppelin(治理)功能它的压倒和不喜欢支付。我能解决这个问题吗?

代码语言:javascript
运行
复制
 modifier isSubmitFeePaid() {
    paySubmitFee();
    _;
}
function paySubmitFee() public payable {
    if (msg.value < enteranceFee) {
        revert FundProject__NotEnoughPayment();
    }
    projectOwners = payable(msg.sender);
}


function propose(
    address[] memory targets,
    uint256[] memory values,
    bytes[] memory calldatas,
    string memory description
) public override(Governor, IGovernor) isSubmitFeePaid returns (uint256) {
    return super.propose(targets, values, calldatas, description);
}
EN

回答 1

Ethereum用户

发布于 2022-11-08 15:19:48

简单的技巧是创建另一个调用提议方法的方法。您可以使这个包装器成为一个可支付的方法,并将isSubmitFeePaid修饰符附加到它上。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/139023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档