Contract Address Details

0x5491Db3cC1f3AFf6C229e061735F92936004da3c

Contract Name
DomainNotifier
Creator
0x8d6c8c–53d3e1 at 0xebcefd–9fb73c
Balance
0 EWT ( )
Tokens
Fetching tokens...
Transactions
0 Transactions
Transfers
0 Transfers
Gas Used
Fetching gas used...
Last Balance Update
37377152
Contract name:
DomainNotifier




Optimization enabled
false
Compiler version
v0.8.6+commit.11564f7e




EVM Version
default




Verified at
2021-12-20T10:54:02.634830Z

Constructor Arguments

0000000000000000000000000a6d64413c07e10e890220bbe1c49170080c6ca0

Arg [0] (address) : 0x0a6d64413c07e10e890220bbe1c49170080c6ca0

              

Contract source code

// File: @ensdomains/ens-contracts/contracts/registry/ENS.sol

pragma solidity >=0.8.4;

interface ENS {

    // Logged when the owner of a node assigns a new owner to a subnode.
    event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);

    // Logged when the owner of a node transfers ownership to a new account.
    event Transfer(bytes32 indexed node, address owner);

    // Logged when the resolver for a node changes.
    event NewResolver(bytes32 indexed node, address resolver);

    // Logged when the TTL of a node changes
    event NewTTL(bytes32 indexed node, uint64 ttl);

    // Logged when an operator is added or removed.
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    function setRecord(bytes32 node, address owner, address resolver, uint64 ttl) external virtual;
    function setSubnodeRecord(bytes32 node, bytes32 label, address owner, address resolver, uint64 ttl) external virtual;
    function setSubnodeOwner(bytes32 node, bytes32 label, address owner) external virtual returns(bytes32);
    function setResolver(bytes32 node, address resolver) external virtual;
    function setOwner(bytes32 node, address owner) external virtual;
    function setTTL(bytes32 node, uint64 ttl) external virtual;
    function setApprovalForAll(address operator, bool approved) external virtual;
    function owner(bytes32 node) external virtual view returns (address);
    function resolver(bytes32 node) external virtual view returns (address);
    function ttl(bytes32 node) external virtual view returns (uint64);
    function recordExists(bytes32 node) external virtual view returns (bool);
    function isApprovedForAll(address owner, address operator) external virtual view returns (bool);
}

// File: contracts/roles/DomainNotifier.sol

// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity 0.8.6;


/**
 * DomainNotifier is used as a central point from which to
 * determine which ENS domains (namespaces) have had their
 * resolved data updated
 */
contract DomainNotifier {
    event DomainUpdated(bytes32 indexed node);

    ENS _ens;

    constructor(ENS ens) {
        _ens = ens;
    }

    /**
     * Notifies of a domain/namespace's resolver data update.
     * Only the resolver that is set for a given node should
     * be able to trigger the notification
     */
    function domainUpdated(bytes32 node) external {
        address resolver = _ens.resolver(node);
        require(resolver == msg.sender);
        emit DomainUpdated(node);
    }
}
        

Contract ABI

[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"address","name":"ens","internalType":"contract ENS"}]},{"type":"event","name":"DomainUpdated","inputs":[{"type":"bytes32","name":"node","internalType":"bytes32","indexed":true}],"anonymous":false},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"domainUpdated","inputs":[{"type":"bytes32","name":"node","internalType":"bytes32"}]}]
            

Deployed ByteCode

0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80636161016414610030575b600080fd5b61004a600480360381019061004591906101ba565b61004c565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf836040518263ffffffff1660e01b81526004016100a891906101f6565b60206040518083038186803b1580156100c057600080fd5b505afa1580156100d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f8919061018d565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461013257600080fd5b817f8c7bc2aee1d48bb46b825273bef0ffd000ccf7d354d5be84bd1e7fe6a208db4960405160405180910390a25050565b60008151905061017281610252565b92915050565b60008135905061018781610269565b92915050565b6000602082840312156101a3576101a261024d565b5b60006101b184828501610163565b91505092915050565b6000602082840312156101d0576101cf61024d565b5b60006101de84828501610178565b91505092915050565b6101f081610223565b82525050565b600060208201905061020b60008301846101e7565b92915050565b600061021c8261022d565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b61025b81610211565b811461026657600080fd5b50565b61027281610223565b811461027d57600080fd5b5056fea2646970667358221220c8227124f3183d4c5889d86c3ad4a74ff632210e25cf67b343ec4ce925b4a0f364736f6c63430008060033