Contract 0xf46253ef29FaedAbf63AA8cA6c0A41CbbdC93948

Contract Overview

Balance:
0 Ether
Txn Hash
Method
Block
From
To
Value
0x6464e0920a88640d4f8b2a74b3dfc869ef82da1b9dc71dd52ced61c68a0c658e0x6080604090634922021-08-05 19:35:58334 days 23 hrs ago0x94c34fb5025e054b24398220cbdabe901bd8ee5e IN  Contract Creation0 Ether0.000384841
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x4234d447db947495bbc67b76eb4382e2197fed9567cb7672f325181bf6ba3abf109654322022-07-04 12:40:162 days 6 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x5218e9ba28731c2ba5fdc57852fb1fc29c705a55e39494e3fed3a92119e3fe0c109653192022-07-04 12:11:552 days 6 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x1bfcef1a5b1adcd89abd5e3ae9b0a15628c64722fd889685458052bcf3cf763d109304522022-06-28 10:40:278 days 8 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x054b7ebe0a84c3fe880a5060784856b9b4b67b4a6e781d0b4df5613f8ea024c7109301582022-06-28 9:26:438 days 9 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x8b0099fa74567c699727803015baeffd577599f99be3164bc2c8dc527edcb5e6109263052022-06-27 17:21:379 days 1 hr ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x26dd4e1dd8df82d2fefa5387d2a7223e63af9b7c48876cf7a1615977cfe8ae72109082652022-06-24 13:37:5112 days 5 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x02cbb9a81afe4eb1f9d5d8c736d838f1216af247a65c40195972ea3c35da6f28109074322022-06-24 10:08:5812 days 9 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x7474970e591c3dbf9ef6d470658d579d3865fe7bfcc9dbffb1861e97511d0b32109072892022-06-24 9:33:0712 days 9 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x80f67e485efda5decd956e129699a176ba2a30b6289948300337cefdfd7c3e68109072422022-06-24 9:21:1912 days 9 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0xa0f9261544a9db8d8d597399a7c73edabb82febedfa3381f4781282411124f9e109044602022-06-23 21:35:0312 days 21 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x495a95477512d7c8ee2d89b60a819e5d1ea77d99f4ddf8711e575866a8534104109036412022-06-23 18:09:2513 days 1 hr ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0xf219d5e1df189f9c59196543d4f86c2b6c2937b70a0924a80b3ad8dac96a01d7109032712022-06-23 16:36:4313 days 2 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0xc61e95caff73a21045add2a813c5b84420df544ef1a5d8cd4b18cd0ef18d00ab109013352022-06-23 8:27:1813 days 10 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0xc36663fc5e1006aefc121d248056809ce9545f415aacafab912b77973218d5ac109013112022-06-23 8:21:1813 days 10 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x1d1c9227a0a909db375f2bbb5a4cb1571ba2e69c0eac0f9bec841e332bc7acad108831752022-06-20 4:29:1816 days 14 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x795dc21377a4c5888e9b5737da6f8363cfd32506de83a353fc3286a5c26bc6da108831612022-06-20 4:25:4816 days 14 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x1f6fefdfdec3a054121e4d5ea36cd4e13d818f199615ca2aa77efa4d429a9cf7108830862022-06-20 4:07:0116 days 15 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0xa3f32f5ad5a11e9c515641e54439d3da378bec5735a230a6d253480e1a5c7a2e108830812022-06-20 4:05:4616 days 15 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x3427eb6612ab18c4d651c564b09c2bfb242467a6f9a3bf0dcb52dadcd4fe4aee108830462022-06-20 3:57:0016 days 15 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x745e360dce95395e913cb5ed16b7a37328ea29b7f3f65e01992c4cad0c06aa55108829532022-06-20 3:33:4316 days 15 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0xf7f31274938658b5bdcd34eb48aaa489a8855c66d952926712bc240f5e36a042108829082022-06-20 3:22:2516 days 15 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0xc79efdff44bac7992fddb2501fa03b6e7dae646464b3b5d4305c4c5176af3970108632742022-06-16 17:24:5720 days 1 hr ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x0a8517c335263fe770768e1b88356c118df1ec15a1c2e5010445f619215ceea9108447492022-06-13 12:03:2323 days 7 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x1a622b371cc843218a403ee592da7bf30cecacb3cb355228d0e508807c816111108447082022-06-13 11:53:0723 days 7 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
0x034bef4fbcbd620cf4efff87ea3ef6a9ceee11f6a2b4c93c2d549dd0a60ba925108422832022-06-13 1:45:3623 days 17 hrs ago 0x46013753f3a02ab4239ca936632e6c6b39235cce 0xf46253ef29faedabf63aa8ca6c0a41cbbdc939480 Ether
[ Download CSV Export 
Loading

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x4fE12C45EA84B1ae828615Ccbc958c8E8F38EDD8

Contract Name:
GovernRegistry

Compiler Version
v0.6.8+commit.0bbfe453

Optimization Enabled:
Yes with 20000 runs

Other Settings:
default evmVersion, GNU GPLv3 license
File 1 of 7 : ERC165.sol
/*
 * SPDX-License-Identifier:    MIT
 */

pragma solidity ^0.6.8;

abstract contract ERC165 {
    // Includes supportsInterface method:
    bytes4 internal constant ERC165_INTERFACE_ID = bytes4(0x01ffc9a7);

    /**
    * @dev Query if a contract implements a certain interface
    * @param _interfaceId The interface identifier being queried, as specified in ERC-165
    * @return True if the contract implements the requested interface and if its not 0xffffffff, false otherwise
    */
    function supportsInterface(bytes4 _interfaceId) virtual public view returns (bool) {
        return _interfaceId == ERC165_INTERFACE_ID;
    }
}

File 2 of 7 : GovernRegistry.sol
/*
 * SPDX-License-Identifier:    GPL-3.0
 */

pragma solidity 0.6.8;

import "erc3k/contracts/IERC3000.sol";
import "erc3k/contracts/IERC3000Executor.sol";
import "erc3k/contracts/IERC3000Registry.sol";

import "@aragon/govern-contract-utils/contracts/erc165/ERC165.sol";

contract GovernRegistry is IERC3000Registry {
    mapping(string => bool) public nameUsed;

    function register(
        IERC3000Executor _executor,
        IERC3000 _queue,
        IERC20 _token,
        address minter,
        string calldata _name,
        bytes calldata _initialMetadata
    ) override external
    {
        require(!nameUsed[_name], "registry: name used");

        nameUsed[_name] = true;

        emit Registered(_executor, _queue, _token, minter, msg.sender, _name);
        _setMetadata(_executor, _initialMetadata);
    }

    function setMetadata(bytes memory _metadata) override public {
        _setMetadata(IERC3000Executor(msg.sender), _metadata);
    }

    function _setMetadata(IERC3000Executor _executor, bytes memory _metadata) internal {
        emit SetMetadata(_executor, _metadata);
    }
}

File 3 of 7 : IERC20.sol
/*
 * SPDX-License-Identifier:    GPL-3.0
 */

pragma solidity ^0.6.8;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}

File 4 of 7 : ERC3000Data.sol
/*
 * SPDX-License-Identifier:    MIT
 */

pragma solidity ^0.6.8;
pragma experimental ABIEncoderV2;

import "./IERC3000Executor.sol";

library ERC3000Data {
    // TODO: come up with a non-shitty name
    struct Container {
        Payload payload;
        Config config;
    }

    // WARN: Always remember to change the 'hash' function if modifying the struct
    struct Payload {
        uint256 nonce;
        uint256 executionTime;
        address submitter;
        IERC3000Executor executor;
        Action[] actions;
        bytes32 allowFailuresMap;
        bytes proof;
    }

    struct Action {
        address to;
        uint256 value;
        bytes data;
    }

    struct Config {
        uint256 executionDelay; // how many seconds to wait before being able to call `execute`.
        Collateral scheduleDeposit; // fees for scheduling
        Collateral challengeDeposit; // fees for challenging
        address resolver;  // resolver that will rule the disputes
        bytes rules; // rules of how DAO should be managed
        uint256 maxCalldataSize; // max calldatasize for the schedule
    }

    struct Collateral {
        address token;
        uint256 amount;
    }

    function containerHash(bytes32 payloadHash, bytes32 configHash) internal view returns (bytes32) {
        uint chainId;
        assembly {
            chainId := chainid()
        }

        return keccak256(abi.encodePacked("erc3k-v1", address(this), chainId, payloadHash, configHash));
    }

    function hash(Container memory container) internal view returns (bytes32) {
        return containerHash(hash(container.payload), hash(container.config));
    }

    function hash(Payload memory payload) internal pure returns (bytes32) {
        return keccak256(
            abi.encode(
                payload.nonce,
                payload.executionTime,
                payload.submitter,
                payload.executor,
                keccak256(abi.encode(payload.actions)),
                payload.allowFailuresMap,
                keccak256(payload.proof)
            )
        );
    }

    function hash(Config memory config) internal pure returns (bytes32) {
        return keccak256(abi.encode(config));
    }
}

File 5 of 7 : IERC3000.sol
/*
 * SPDX-License-Identifier:    MIT
 */

pragma solidity ^0.6.8;
pragma experimental ABIEncoderV2;

import "./ERC3000Data.sol";

abstract contract IERC3000 {
    /**
     * @notice Schedules an action for execution, allowing for challenges and vetos on a defined time window
     * @param container A Container struct holding both the payload being scheduled for execution and
     * the current configuration of the system
     * @return containerHash
     */
    function schedule(ERC3000Data.Container memory container) virtual public returns (bytes32 containerHash);
    event Scheduled(bytes32 indexed containerHash, ERC3000Data.Payload payload);

    /**
     * @notice Executes an action after its execution delay has passed and its state hasn't been altered by a challenge or veto
     * @param container A ERC3000Data.Container struct holding both the payload being scheduled for execution and
     * the current configuration of the system
     * MUST be an ERC3000Executor call: payload.executor.exec(payload.actions)
     * @return failureMap
     * @return execResults
     */
    function execute(ERC3000Data.Container memory container) virtual public returns (bytes32 failureMap, bytes[] memory execResults);
    event Executed(bytes32 indexed containerHash, address indexed actor);

    /**
     * @notice Challenge a container in case its scheduling is illegal as per Config.rules. Pulls collateral and dispute fees from sender into contract
     * @param container A ERC3000Data.Container struct holding both the payload being scheduled for execution and
     * the current configuration of the system
     * @param reason Hint for case reviewers as to why the scheduled container is illegal
     * @return resolverId
     */
    function challenge(ERC3000Data.Container memory container, bytes memory reason) virtual public returns (uint256 resolverId);
    event Challenged(bytes32 indexed containerHash, address indexed actor, bytes reason, uint256 resolverId, ERC3000Data.Collateral collateral);

    /**
     * @notice Apply arbitrator's ruling over a challenge once it has come to a final ruling
     * @param container A ERC3000Data.Container struct holding both the payload being scheduled for execution and
     * the current configuration of the system
     * @param resolverId disputeId in the arbitrator in which the dispute over the container was created
     * @return failureMap
     * @return execResults
     */
    function resolve(ERC3000Data.Container memory container, uint256 resolverId) virtual public returns (bytes32 failureMap, bytes[] memory execResults);
    event Resolved(bytes32 indexed containerHash, address indexed actor, bool approved);

    /**
     * @notice Apply arbitrator's ruling over a challenge once it has come to a final ruling
     * @param container A ERC3000Data.Container struct holding both the payload being scheduled for execution and
     * the current configuration of the system
     * @param reason Justification for the veto
     */
    function veto(ERC3000Data.Container memory container, bytes memory reason) virtual public;
    event Vetoed(bytes32 indexed containerHash, address indexed actor, bytes reason);

    /**
     * @notice Apply a new configuration for all *new* containers to be scheduled
     * @param config A ERC3000Data.Config struct holding all the new params that will control the system
     * @return configHash
     */
    function configure(ERC3000Data.Config memory config) virtual public returns (bytes32 configHash);
    event Configured(bytes32 indexed configHash, address indexed actor, ERC3000Data.Config config);
}

File 6 of 7 : IERC3000Executor.sol
/*
 * SPDX-License-Identifier:    MIT
 */

pragma solidity ^0.6.8;
pragma experimental ABIEncoderV2;

import "./ERC3000Data.sol";

abstract contract IERC3000Executor {
    bytes4 internal constant ERC3000_EXEC_INTERFACE_ID = this.exec.selector;

    /**
     * @notice Executes all given actions
     * @param actions A array of ERC3000Data.Action for later executing those
     * @param allowFailuresMap A map with the allowed failures
     * @param memo The hash of the ERC3000Data.Container
     * @return failureMap
     * @return execResults
     */
    function exec(ERC3000Data.Action[] memory actions, bytes32 allowFailuresMap, bytes32 memo) virtual public returns (bytes32 failureMap, bytes[] memory execResults);
    event Executed(address indexed actor, ERC3000Data.Action[] actions, bytes32 memo, bytes32 failureMap, bytes[] execResults);
}

File 7 of 7 : IERC3000Registry.sol
/*
 * SPDX-License-Identifier:    MIT
 */

pragma solidity 0.6.8;

import "./IERC3000.sol";
import "./IERC3000Executor.sol";

import "@aragon/govern-token/contracts/interfaces/IERC20.sol";

abstract contract IERC3000Registry {
    /**
     * @notice Registers a IERC3000Executor and IERC3000 contract by a name and with his metadata
     * @param executor IERC3000Executor contract
     * @param queue IERC3000 contract
     * @param name The name of this DAO
     * @param token Governance token of the DAO
     * @param initialMetadata Additional data to store for this DAO
     */
    function register(IERC3000Executor executor, IERC3000 queue, IERC20 token, address minter, string calldata name, bytes calldata initialMetadata) virtual external;
    event Registered(IERC3000Executor indexed executor, IERC3000 queue, IERC20 indexed token, address minter, address indexed registrant, string name);

    /**
     * @notice Sets or updates the metadata of a DAO
     * @param metadata Additional data to store for this DAO
     */
    function setMetadata(bytes memory metadata) virtual public;
    event SetMetadata(IERC3000Executor indexed executor, bytes metadata);
}

Settings
{
  "evmVersion": "istanbul",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs",
    "useLiteralContent": true
  },
  "optimizer": {
    "enabled": true,
    "runs": 20000
  },
  "remappings": [],
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IERC3000Executor","name":"executor","type":"address"},{"indexed":false,"internalType":"contract IERC3000","name":"queue","type":"address"},{"indexed":true,"internalType":"contract IERC20","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"minter","type":"address"},{"indexed":true,"internalType":"address","name":"registrant","type":"address"},{"indexed":false,"internalType":"string","name":"name","type":"string"}],"name":"Registered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IERC3000Executor","name":"executor","type":"address"},{"indexed":false,"internalType":"bytes","name":"metadata","type":"bytes"}],"name":"SetMetadata","type":"event"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"nameUsed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC3000Executor","name":"_executor","type":"address"},{"internalType":"contract IERC3000","name":"_queue","type":"address"},{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"address","name":"minter","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"bytes","name":"_initialMetadata","type":"bytes"}],"name":"register","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_metadata","type":"bytes"}],"name":"setMetadata","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50610603806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630b9b6e8b14610046578063776ff4bd14610100578063ee57e36f146101f9575b600080fd5b6100ec6004803603602081101561005c57600080fd5b81019060208101813564010000000081111561007757600080fd5b82018360208201111561008957600080fd5b803590602001918460018302840111640100000000831117156100ab57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061029f945050505050565b604080519115158252519081900360200190f35b6101f7600480360360c081101561011657600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101358216926040820135831692606083013516919081019060a08101608082013564010000000081111561016657600080fd5b82018360208201111561017857600080fd5b8035906020019184600183028401116401000000008311171561019a57600080fd5b9193909290916020810190356401000000008111156101b857600080fd5b8201836020820111156101ca57600080fd5b803590602001918460018302840111640100000000831117156101ec57600080fd5b5090925090506102bf565b005b6101f76004803603602081101561020f57600080fd5b81019060208101813564010000000081111561022a57600080fd5b82018360208201111561023c57600080fd5b8035906020019184600183028401116401000000008311171561025e57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061050c945050505050565b805160208183018101805160008252928201919093012091525460ff1681565b6000848460405180838380828437919091019485525050604051928390036020019092205460ff16159150610357905057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f72656769737472793a206e616d65207573656400000000000000000000000000604482015290519081900360640190fd5b600160008585604051808383808284378083019250505092505050908152602001604051809103902060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fb8b8650874e8f21584e6566ce5e718fbc6f1c7aeb2ba4c651318e4fbcd7462018a898989604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252848482818152602001925080828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690920182900397509095505050505050a46105028883838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061051992505050565b5050505050505050565b6105163382610519565b50565b8173ffffffffffffffffffffffffffffffffffffffff167f8fa78869a20b896e44b704e4e5ee97cbb81cc5639ff16aec59c41cd97427b5a6826040518080602001828103825283818151815260200191508051906020019080838360005b8381101561058f578181015183820152602001610577565b50505050905090810190601f1680156105bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505056fea2646970667358221220310345ea04100060134c224f0326ee17805ed250f0a2e41a16afb2a3b5a960d564736f6c63430006080033

Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.