Selector Beacon

selector-beacon · discovery-registry · 397 B runtime · registry-info

scores

source

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

contract SelectorBeacon {
    mapping(bytes4 => address) public lookup;

    event SelectorClaimed(bytes4 indexed selector, address indexed agent, uint256 blockNumber);

    function claim(bytes4 selector) external {
        require(lookup[selector] == address(0));
        lookup[selector] = msg.sender;
        emit SelectorClaimed(selector, msg.sender, block.number);
    }
}