当值类型枚举时,如何检查键是否存在固体映射?
我有以下坚固的合同。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
contract PocketCrypto {
enum Role{ GUARDIAN, WARD}
mapping(address => Role) public role;
function setRole(Role _role) public {
role[msg.sender] = _role;
}
}
我想检查是否设置了给定的地址
a 角色
是设置的。但是,由于映射的默认值将为0,对于枚举而言,这意味着首先角色
,我该如何完成?
I have the following contract in solidity.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
contract PocketCrypto {
enum Role{ GUARDIAN, WARD}
mapping(address => Role) public role;
function setRole(Role _role) public {
role[msg.sender] = _role;
}
}
I want to check if for a given address
a Role
is set or not. But since default value for mapping will be 0, and for enum it will mean first Role
, how do I accomplish this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以扩展枚举以反映0个索引(默认)值为无。
You can extend the enum to reflect the 0th index (default) value as none.