Capability Bitmask Registry

capability-bitmask-registry · discovery-registry · 337 B runtime · registry-info

scores

source

pragma solidity ^0.8.13;

contract CapabilityBitmaskRegistry {
    mapping(address => uint256) private masks;

    function register(uint256 mask) external {
        require(mask != 0 && masks[msg.sender] == 0);
        masks[msg.sender] = mask;
    }

    function supportsCapability(address agent, uint256 capability) external view returns (bool) {
        return (masks[agent] & capability) != 0;
    }
}

published

published on mainnet · 0x7A3589f90c9B84AeDe2222263Cc351537eb33C36 · tx 0x775e65c48c83bb61… · base (8453) · mainnet · source as deployed

published on testnet · 0x5ED69E7B48F86eB8369Cd5cabdD17cCD9eb6eAa4 · tx 0x055c696cc4276e81… · tempo (42431) · testnet