用struct参数调用智能合约功能
从另一个智能合约中调用函数:
(bool success, bytes memory data) = ADDRESS
.call(
abi.encodeWithSignature(
"update(uint256, profile)",
tokenId,
Profile("", "", "", "")
)
);
调用函数:
function update(
uint256 tokenId,
Profile memory profile
) public authorise(tokenId) {
array[tokenId] = profile;
}
当我通过来自另一个函数调用函数调用函数时,它会失败。也许我在参数上做错了什么。有人可以帮我吗?
Calling The function from another smart contract:
(bool success, bytes memory data) = ADDRESS
.call(
abi.encodeWithSignature(
"update(uint256, profile)",
tokenId,
Profile("", "", "", "")
)
);
The called function:
function update(
uint256 tokenId,
Profile memory profile
) public authorise(tokenId) {
array[tokenId] = profile;
}
It fails when I call the function via call from another function. Maybe I did something wrong on the params. Can someone help me?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论