关于合约调用问题,上一篇没描述清楚提交了(可以理解为无注册表ERC6551)

我使用a合约create2生成b合约,b合约的函数功能只有部署b合约的人x才能调用,当我在a合约铸造了一个NFT后,我想要在a合约将这个NFT转给y,同时这个NFT生成的合约b所有者也将变成y(生成的b合约的转账和所有权转移只能是合约所有者触发),由于tx.origin不能用于b合约的权限设置,只能用msg.sender对权限进行设置,但是msg.sender在a调用b方法过程中,msg.sender会变成a合约地址,而不是用户地址。我尝试在a合约使用delegatecall和call调用生成的b时返回的是false,不知道是不是我写的问题,或者有什么办法对生成的b的所有权转移

请先 登录 后评论

2 个回答

Tiny熊
  擅长:智能合约,以太坊
请先 登录 后评论
? or ?
请先 登录 后评论
  • 2 关注
  • 0 收藏,1105 浏览
  • ? or ? 提出于 2023-07-18 18:17