Cryo Explorer Ethereum Mainnet

Address Contract Verified

Address 0xcFd8463C97dB9F285a8298D31E5dBa1AC72928Fd
Balance 0 ETH
Nonce 1
Code Size 7079 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

7079 bytes
0x6080604052600436106101355760003560e01c80637b59af16116100ab5780639f6f509f1161006f5780639f6f509f1461039c578063b3f00674146103bc578063c212f791146103dc578063c69bebe4146103fc578063dd05d0de1461041c578063f2fde38b1461044d57600080fd5b80637b59af161461030957806386e881971461031c5780638da5cb5b14610332578063965306aa146103525780639abbbd3b1461038257600080fd5b80634f573cb2116100fd5780634f573cb21461022e5780635e4dbef51461024357806362af0fa114610258578063652734e11461028e5780636e9ca012146102ae5780637a8c85ba146102e957600080fd5b806307bda4dc1461013a57806325390d231461015c5780632898f9481461017c578063422505d2146101b5578063461a44781461020e575b600080fd5b34801561014657600080fd5b5061015a610155366004611526565b61046d565b005b34801561016857600080fd5b5061015a61017736600461159c565b610514565b34801561018857600080fd5b5061019c610197366004611608565b6107f7565b6040516101ac9493929190611670565b60405180910390f35b3480156101c157600080fd5b506101f66101d0366004611526565b60016020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b0390911681526020016101ac565b34801561021a57600080fd5b506101f66102293660046116e3565b6108ae565b34801561023a57600080fd5b5061015a610949565b34801561024f57600080fd5b5061015a610a13565b34801561026457600080fd5b506101f6610273366004611608565b6000602081905290815260409020546001600160a01b031681565b34801561029a57600080fd5b5061015a6102a9366004611608565b610a51565b3480156102ba57600080fd5b506102db6102c936600461173c565b60076020526000908152604090205481565b6040519081526020016101ac565b3480156102f557600080fd5b5061015a610304366004611757565b610ac3565b61015a61031736600461178a565b610bba565b34801561032857600080fd5b506102db60055481565b34801561033e57600080fd5b506003546101f6906001600160a01b031681565b34801561035e57600080fd5b5061037261036d3660046116e3565b610fcf565b60405190151581526020016101ac565b34801561038e57600080fd5b506006546103729060ff1681565b3480156103a857600080fd5b5061015a6103b73660046117de565b6110cd565b3480156103c857600080fd5b506004546101f6906001600160a01b031681565b3480156103e857600080fd5b5061015a6103f7366004611831565b611285565b34801561040857600080fd5b5061015a61041736600461173c565b6112b4565b34801561042857600080fd5b5061043c610437366004611608565b611349565b6040516101ac95949392919061184a565b34801561045957600080fd5b5061015a61046836600461173c565b611477565b6001600160d81b0319821660009081526020819052604090205482906001600160a01b031633146104b95760405162461bcd60e51b81526004016104b09061188a565b60405180910390fd5b6001600160d81b0319831660008181526002602052604090819020849055517f23a5fabe995965964927a521d2b187998745ba5acd1fd4ab2044f7aab7dee04f906105079085815260200190565b60405180910390a2505050565b6003546001600160a01b0316331461053e5760405162461bcd60e51b81526004016104b0906118b5565b82811461057e5760405162461bcd60e51b815260206004820152600e60248201526d082e4e4c2f240dad2e6dac2e8c6d60931b60448201526064016104b0565b60005b838110156107f0576000808087878581811061059f5761059f6118d8565b90506020020160208101906105b49190611608565b6001600160d81b03191681526020810191909152604001600020546001600160a01b0316036107de57336000808787858181106105f3576105f36118d8565b90506020020160208101906106089190611608565b6001600160d81b0319166001600160d81b031916815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506040518060800160405280600554815260200160008152602001600115158152602001848484818110610683576106836118d8565b905060200281019061069591906118ee565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452506002925088905087858181106106e2576106e26118d8565b90506020020160208101906106f79190611608565b6001600160d81b031916815260208082019290925260409081016000208351815591830151600183015582015160028201805460ff19169115159190911790556060820151600382019061074b90826119d4565b503391508690508583818110610763576107636118d8565b90506020020160208101906107789190611608565b6001600160d81b0319167f3b6edc46ecb42f61caee091fe8879326563052879caeb00f63a0a100b958d5578585858181106107b5576107b56118d8565b90506020028101906107c791906118ee565b6040516107d5929190611a94565b60405180910390a35b806107e881611ad9565b915050610581565b5050505050565b6002602081905260009182526040909120805460018201549282015460038301805492949360ff9092169261082b9061194b565b80601f01602080910402602001604051908101604052809291908181526020018280546108579061194b565b80156108a45780601f10610879576101008083540402835291602001916108a4565b820191906000526020600020905b81548152906001019060200180831161088757829003601f168201915b5050505050905084565b60008083838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505082519293505050600511156108fe576000915050610943565b600061090982611af2565b82516020938401206001600160d81b0319909116600090815260018452604080822092825291909352909120546001600160a01b03169150505b92915050565b336000908152600760205260409020548061099f5760405162461bcd60e51b81526020600482015260166024820152754e6f20726576656e756520746f20776974686472617760501b60448201526064016104b0565b336000818152600760205260408082208290555183156108fc0291849190818181858888f193505050501580156109da573d6000803e3d6000fd5b5060405181815233907f86a5cc8fe9af9ae68fb50f62885307a7755a30cbd290131644377f0bd94a71819060200160405180910390a250565b6003546001600160a01b03163314610a3d5760405162461bcd60e51b81526004016104b0906118b5565b6006805460ff19811660ff90911615179055565b6001600160d81b0319811660009081526020819052604090205481906001600160a01b03163314610a945760405162461bcd60e51b81526004016104b09061188a565b506001600160d81b031916600090815260026020819052604090912001805460ff19811660ff90911615179055565b6001600160d81b0319821660009081526020819052604090205482906001600160a01b03163314610b065760405162461bcd60e51b81526004016104b09061188a565b6001600160a01b038216610b505760405162461bcd60e51b815260206004820152601160248201527024b73b30b634b2103732bb9037bbb732b960791b60448201526064016104b0565b6001600160d81b0319831660008181526020819052604080822080546001600160a01b038781166001600160a01b0319831681179093559251921693909284927fbe6ea6417317cb0bea8ec6b1bc7560c014491809deb164ea6e6d2b39225f2a419190a450505050565b60065460ff1615610c035760405162461bcd60e51b8152602060048201526013602482015272149959da5cdd1c985d1a5bdb881c185d5cd959606a1b60448201526064016104b0565b600083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250508251929350505060051115610c815760405162461bcd60e51b815260206004820152600e60248201526d13985b59481d1bdbc81cda1bdc9d60921b60448201526064016104b0565b6000610c8c82611af2565b6001600160d81b031981166000908152602081905260409020549091506001600160a01b0316610cf75760405162461bcd60e51b815260206004820152601660248201527514185d1d195c9b881b9bdd081c9959da5cdd195c995960521b60448201526064016104b0565b6001600160d81b031981166000908152600260208190526040909120015460ff16610d595760405162461bcd60e51b81526020600482015260126024820152715061747465726e206e6f742061637469766560701b60448201526064016104b0565b6001600160d81b0319811660009081526002602052604090205434811115610dba5760405162461bcd60e51b8152602060048201526014602482015273125b9cdd59999a58da595b9d081c185e5b595b9d60621b60448201526064016104b0565b82516020808501919091206001600160d81b03198416600090815260018352604080822083835290935291909120546001600160a01b031615610e3f5760405162461bcd60e51b815260206004820152601760248201527f4e616d6520616c7265616479207265676973746572656400000000000000000060448201526064016104b0565b6001600160d81b031983166000818152600160208181526040808420868552825280842080546001600160a01b0319166001600160a01b038c1617905593835260029052918120909101805491610e9583611ad9565b9091555060009050610ea8600a84611b29565b90506000610eb68285611b4b565b6004546001600160a01b0316600090815260076020526040812080549293508492909190610ee5908490611b5e565b90915550506001600160d81b03198516600090815260208181526040808320546001600160a01b03168352600790915281208054839290610f27908490611b5e565b909155505034841015610f6c57336108fc610f428634611b4b565b6040518115909202916000818181858888f19350505050158015610f6a573d6000803e3d6000fd5b505b336001600160a01b0316876001600160a01b0316866001600160d81b0319167f853598e156648da4df53d775562c260521893835bd362aaadad2128ac5fa9d3b8c8c604051610fbc929190611a94565b60405180910390a4505050505050505050565b60008083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050825192935050506005111561101f576000915050610943565b600061102a82611af2565b6001600160d81b031981166000908152602081905260409020549091506001600160a01b031661105f57600092505050610943565b6001600160d81b031981166000908152600260208190526040909120015460ff1661108f57600092505050610943565b81516020928301206001600160d81b03199091166000908152600183526040808220928252919092529020546001600160a01b031615905092915050565b6003546001600160a01b031633146110f75760405162461bcd60e51b81526004016104b0906118b5565b6001600160d81b031983166000908152602081905260409020546001600160a01b0316156111675760405162461bcd60e51b815260206004820152601a60248201527f5061747465726e20616c7265616479207265676973746572656400000000000060448201526064016104b0565b6001600160d81b0319831660009081526020818152604080832080546001600160a01b0319163317905580516080810182526005548152808301939093526001838201528051601f85018390048302810183019091528381526060830191859085908190840183828082843760009201829052509390945250506001600160d81b031986168152600260208181526040928390208551815590850151600182015591840151908201805460ff19169115159190911790556060830151909150600382019061123590826119d4565b50506040513391506001600160d81b03198516907f3b6edc46ecb42f61caee091fe8879326563052879caeb00f63a0a100b958d557906112789086908690611a94565b60405180910390a3505050565b6003546001600160a01b031633146112af5760405162461bcd60e51b81526004016104b0906118b5565b600555565b6003546001600160a01b031633146112de5760405162461bcd60e51b81526004016104b0906118b5565b6001600160a01b0381166113275760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2103932b1b2b4bb32b960811b60448201526064016104b0565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160d81b0319811660009081526002602081815260408084208151608081018352815481526001820154938101939093529283015460ff16151590820152600382018054849384938493606093859391838601916113a99061194b565b80601f01602080910402602001604051908101604052809291908181526020018280546113d59061194b565b80156114225780601f106113f757610100808354040283529160200191611422565b820191906000526020600020905b81548152906001019060200180831161140557829003601f168201915b505050919092525050506001600160d81b03199790971660009081526020818152604091829020548951918a0151928a01516060909a01516001600160a01b039091169a919992985091965090945092505050565b6003546001600160a01b031633146114a15760405162461bcd60e51b81526004016104b0906118b5565b6001600160a01b0381166114e75760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21037bbb732b960991b60448201526064016104b0565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160d81b03198116811461152157600080fd5b919050565b6000806040838503121561153957600080fd5b61154283611509565b946020939093013593505050565b60008083601f84011261156257600080fd5b50813567ffffffffffffffff81111561157a57600080fd5b6020830191508360208260051b850101111561159557600080fd5b9250929050565b600080600080604085870312156115b257600080fd5b843567ffffffffffffffff808211156115ca57600080fd5b6115d688838901611550565b909650945060208701359150808211156115ef57600080fd5b506115fc87828801611550565b95989497509550505050565b60006020828403121561161a57600080fd5b61162382611509565b9392505050565b6000815180845260005b8181101561165057602081850181015186830182015201611634565b506000602082860101526020601f19601f83011685010191505092915050565b8481528360208201528215156040820152608060608201526000611697608083018461162a565b9695505050505050565b60008083601f8401126116b357600080fd5b50813567ffffffffffffffff8111156116cb57600080fd5b60208301915083602082850101111561159557600080fd5b600080602083850312156116f657600080fd5b823567ffffffffffffffff81111561170d57600080fd5b611719858286016116a1565b90969095509350505050565b80356001600160a01b038116811461152157600080fd5b60006020828403121561174e57600080fd5b61162382611725565b6000806040838503121561176a57600080fd5b61177383611509565b915061178160208401611725565b90509250929050565b60008060006040848603121561179f57600080fd5b833567ffffffffffffffff8111156117b657600080fd5b6117c2868287016116a1565b90945092506117d5905060208501611725565b90509250925092565b6000806000604084860312156117f357600080fd5b6117fc84611509565b9250602084013567ffffffffffffffff81111561181857600080fd5b611824868287016116a1565b9497909650939450505050565b60006020828403121561184357600080fd5b5035919050565b60018060a01b0386168152846020820152836040820152821515606082015260a06080820152600061187f60a083018461162a565b979650505050505050565b6020808252601190820152702737ba103830ba3a32b9371037bbb732b960791b604082015260600190565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261190557600080fd5b83018035915067ffffffffffffffff82111561192057600080fd5b60200191503681900382131561159557600080fd5b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061195f57607f821691505b60208210810361197f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156119cf57600081815260208120601f850160051c810160208610156119ac5750805b601f850160051c820191505b818110156119cb578281556001016119b8565b5050505b505050565b815167ffffffffffffffff8111156119ee576119ee611935565b611a02816119fc845461194b565b84611985565b602080601f831160018114611a375760008415611a1f5750858301515b600019600386901b1c1916600185901b1785556119cb565b600085815260208120601f198616915b82811015611a6657888601518255948401946001909101908401611a47565b5085821015611a845787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052601160045260246000fd5b600060018201611aeb57611aeb611ac3565b5060010190565b805160208201516001600160d81b03198082169291906005831015611b215780818460050360031b1b83161693505b505050919050565b600082611b4657634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561094357610943611ac3565b8082018082111561094357610943611ac356fea264697066735822122045095d3a0c75a3a628deb82ef6091663dd8e418e02d2d04d1c04b89dc83861b664736f6c63430008110033

Verified Source Code Full Match

Compiler: v0.8.17+commit.8df45f5f EVM: london Optimization: Yes (200 runs)
Terminal5.sol 296 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

/**
 * @title Terminal5
 * @notice Handler for 5-byte patterns like €£, ™¥, and mixed Unicode combinations
 * @dev Handles pattern ownership and name registration for 5-byte sequences
 * 
 * Common 5-byte patterns:
 * - Euro/TM + Latin-1: €£, €¥, ™©, ™°
 * - Latin-1 + Euro/TM: £€, ¥™, ©€, °™
 * - Accented + Euro/TM: ñ€, é™, ç€, ü™
 */
contract Terminal5 {
    // ============ State Variables ============
    
    // Pattern ownership: pattern → owner
    mapping(bytes5 => address) public patternOwners;
    
    // Name registry: pattern → nameHash → resolver
    mapping(bytes5 => mapping(bytes32 => address)) public nameRegistry;
    
    // Metadata for patterns
    struct PatternInfo {
        uint256 registrationFee;
        uint256 totalNames;
        bool isActive;
        string description;
    }
    mapping(bytes5 => PatternInfo) public patternInfo;
    
    // Global configuration
    address public owner;
    address public feeReceiver;
    uint256 public defaultRegistrationFee = 0.01 ether;
    bool public registrationPaused;
    
    // Revenue tracking
    mapping(address => uint256) public withdrawableRevenue;
    
    // ============ Events ============
    
    event PatternRegistered(bytes5 indexed pattern, address indexed owner, string description);
    event NameRegistered(bytes5 indexed pattern, string name, address indexed resolver, address indexed registrant);
    event PatternTransferred(bytes5 indexed pattern, address indexed from, address indexed to);
    event PatternFeeUpdated(bytes5 indexed pattern, uint256 newFee);
    event RevenueWithdrawn(address indexed recipient, uint256 amount);
    
    // ============ Modifiers ============
    
    modifier onlyOwner() {
        require(msg.sender == owner, "Not owner");
        _;
    }
    
    modifier onlyPatternOwner(bytes5 pattern) {
        require(patternOwners[pattern] == msg.sender, "Not pattern owner");
        _;
    }
    
    modifier notPaused() {
        require(!registrationPaused, "Registration paused");
        _;
    }
    
    // ============ Constructor ============
    
    constructor(address _feeReceiver) {
        owner = msg.sender;
        feeReceiver = _feeReceiver;
    }
    
    // ============ Pattern Registration ============
    
    /**
     * @notice Register a 5-byte pattern
     * @param pattern The 5-byte pattern to register
     * @param description Pattern description
     */
    function registerPattern(bytes5 pattern, string calldata description) external onlyOwner {
        require(patternOwners[pattern] == address(0), "Pattern already registered");
        
        patternOwners[pattern] = msg.sender;
        patternInfo[pattern] = PatternInfo({
            registrationFee: defaultRegistrationFee,
            totalNames: 0,
            isActive: true,
            description: description
        });
        
        emit PatternRegistered(pattern, msg.sender, description);
    }
    
    /**
     * @notice Batch register multiple patterns
     */
    function registerPatternBatch(
        bytes5[] calldata patterns,
        string[] calldata descriptions
    ) external onlyOwner {
        require(patterns.length == descriptions.length, "Array mismatch");
        
        for (uint i = 0; i < patterns.length; i++) {
            if (patternOwners[patterns[i]] == address(0)) {
                patternOwners[patterns[i]] = msg.sender;
                patternInfo[patterns[i]] = PatternInfo({
                    registrationFee: defaultRegistrationFee,
                    totalNames: 0,
                    isActive: true,
                    description: descriptions[i]
                });
                
                emit PatternRegistered(patterns[i], msg.sender, descriptions[i]);
            }
        }
    }
    
    // ============ Name Registration ============
    
    /**
     * @notice Register a name under a pattern
     * @param name The full name to register
     * @param resolver Address the name should resolve to
     */
    function registerName(
        string calldata name,
        address resolver
    ) external payable notPaused {
        bytes memory nameBytes = bytes(name);
        require(nameBytes.length >= 5, "Name too short");
        
        // Extract pattern (first 5 bytes)
        bytes5 pattern = bytes5(nameBytes);
        
        // Verify pattern is registered
        require(patternOwners[pattern] != address(0), "Pattern not registered");
        require(patternInfo[pattern].isActive, "Pattern not active");
        
        // Check payment
        uint256 fee = patternInfo[pattern].registrationFee;
        require(msg.value >= fee, "Insufficient payment");
        
        // Check name availability
        bytes32 nameHash = keccak256(nameBytes);
        require(nameRegistry[pattern][nameHash] == address(0), "Name already registered");
        
        // Register the name
        nameRegistry[pattern][nameHash] = resolver;
        patternInfo[pattern].totalNames++;
        
        // Distribute revenue (90% to pattern owner, 10% to protocol)
        uint256 protocolFee = fee / 10;
        uint256 ownerRevenue = fee - protocolFee;
        
        withdrawableRevenue[feeReceiver] += protocolFee;
        withdrawableRevenue[patternOwners[pattern]] += ownerRevenue;
        
        // Refund excess payment
        if (msg.value > fee) {
            payable(msg.sender).transfer(msg.value - fee);
        }
        
        emit NameRegistered(pattern, name, resolver, msg.sender);
    }
    
    // ============ Resolution ============
    
    /**
     * @notice Resolve a name to an address
     * @param name The name to resolve
     * @return The address the name resolves to
     */
    function resolve(string calldata name) external view returns (address) {
        bytes memory nameBytes = bytes(name);
        if (nameBytes.length < 5) return address(0);
        
        bytes5 pattern = bytes5(nameBytes);
        bytes32 nameHash = keccak256(nameBytes);
        
        return nameRegistry[pattern][nameHash];
    }
    
    /**
     * @notice Check if a name is available
     */
    function isAvailable(string calldata name) external view returns (bool) {
        bytes memory nameBytes = bytes(name);
        if (nameBytes.length < 5) return false;
        
        bytes5 pattern = bytes5(nameBytes);
        
        // Pattern must be registered
        if (patternOwners[pattern] == address(0)) return false;
        if (!patternInfo[pattern].isActive) return false;
        
        // Name must not be taken
        bytes32 nameHash = keccak256(nameBytes);
        return nameRegistry[pattern][nameHash] == address(0);
    }
    
    // ============ Pattern Management ============
    
    /**
     * @notice Transfer pattern ownership
     */
    function transferPattern(bytes5 pattern, address newOwner) external onlyPatternOwner(pattern) {
        require(newOwner != address(0), "Invalid new owner");
        
        address oldOwner = patternOwners[pattern];
        patternOwners[pattern] = newOwner;
        
        emit PatternTransferred(pattern, oldOwner, newOwner);
    }
    
    /**
     * @notice Update pattern registration fee
     */
    function updatePatternFee(bytes5 pattern, uint256 newFee) external onlyPatternOwner(pattern) {
        patternInfo[pattern].registrationFee = newFee;
        emit PatternFeeUpdated(pattern, newFee);
    }
    
    /**
     * @notice Toggle pattern active status
     */
    function togglePatternStatus(bytes5 pattern) external onlyPatternOwner(pattern) {
        patternInfo[pattern].isActive = !patternInfo[pattern].isActive;
    }
    
    // ============ Revenue Management ============
    
    /**
     * @notice Withdraw accumulated revenue
     */
    function withdrawRevenue() external {
        uint256 amount = withdrawableRevenue[msg.sender];
        require(amount > 0, "No revenue to withdraw");
        
        withdrawableRevenue[msg.sender] = 0;
        payable(msg.sender).transfer(amount);
        
        emit RevenueWithdrawn(msg.sender, amount);
    }
    
    /**
     * @notice Get pattern statistics
     */
    function getPatternStats(bytes5 pattern) external view returns (
        address patternOwner,
        uint256 registrationFee,
        uint256 totalNames,
        bool isActive,
        string memory description
    ) {
        PatternInfo memory info = patternInfo[pattern];
        return (
            patternOwners[pattern],
            info.registrationFee,
            info.totalNames,
            info.isActive,
            info.description
        );
    }
    
    // ============ Admin Functions ============
    
    /**
     * @notice Update default registration fee
     */
    function updateDefaultFee(uint256 newFee) external onlyOwner {
        defaultRegistrationFee = newFee;
    }
    
    /**
     * @notice Update fee receiver
     */
    function updateFeeReceiver(address newReceiver) external onlyOwner {
        require(newReceiver != address(0), "Invalid receiver");
        feeReceiver = newReceiver;
    }
    
    /**
     * @notice Pause/unpause registrations
     */
    function toggleRegistrations() external onlyOwner {
        registrationPaused = !registrationPaused;
    }
    
    /**
     * @notice Transfer contract ownership
     */
    function transferOwnership(address newOwner) external onlyOwner {
        require(newOwner != address(0), "Invalid owner");
        owner = newOwner;
    }
}

Read Contract

defaultRegistrationFee 0x86e88197 → uint256
feeReceiver 0xb3f00674 → address
getPatternStats 0xdd05d0de → address, uint256, uint256, bool, string
isAvailable 0x965306aa → bool
nameRegistry 0x422505d2 → address
owner 0x8da5cb5b → address
patternInfo 0x2898f948 → uint256, uint256, bool, string
patternOwners 0x62af0fa1 → address
registrationPaused 0x9abbbd3b → bool
resolve 0x461a4478 → address
withdrawableRevenue 0x6e9ca012 → uint256

Write Contract 11 functions

These functions modify contract state and require a wallet transaction to execute.

registerName 0x7b59af16
string name
address resolver
registerPattern 0x9f6f509f
bytes5 pattern
string description
registerPatternBatch 0x25390d23
bytes5[] patterns
string[] descriptions
togglePatternStatus 0x652734e1
bytes5 pattern
toggleRegistrations 0x5e4dbef5
No parameters
transferOwnership 0xf2fde38b
address newOwner
transferPattern 0x7a8c85ba
bytes5 pattern
address newOwner
updateDefaultFee 0xc212f791
uint256 newFee
updateFeeReceiver 0xc69bebe4
address newReceiver
updatePatternFee 0x07bda4dc
bytes5 pattern
uint256 newFee
withdrawRevenue 0x4f573cb2
No parameters

Recent Transactions

No transactions found for this address