ETH Price: $2,071.12 (-2.96%)

Contract

0x56Fd5d507eEf6b714F4Cd4E922FE26Bbf32fe277
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Update Sweepers165292702023-01-31 20:42:591137 days ago1675197779IN
0x56Fd5d50...bf32fe277
0 ETH0.0012157934.99401116
_set Implementat...165006712023-01-27 20:55:471141 days ago1674852947IN
0x56Fd5d50...bf32fe277
0 ETH0.0005878319.31759163
Execute164197562023-01-16 13:49:591153 days ago1673876999IN
0x56Fd5d50...bf32fe277
0 ETH0.0018715517.19432156
Queue164119182023-01-15 11:30:591154 days ago1673782259IN
0x56Fd5d50...bf32fe277
0 ETH0.0018265114.66221314
Cast Vote163894422023-01-12 8:10:351157 days ago1673511035IN
0x56Fd5d50...bf32fe277
0 ETH0.0010992913.94289457
Cast Vote163882392023-01-12 4:08:591157 days ago1673496539IN
0x56Fd5d50...bf32fe277
0 ETH0.001357217.21397568
Cast Vote163879442023-01-12 3:09:591157 days ago1673492999IN
0x56Fd5d50...bf32fe277
0 ETH0.0017427222.10379399
Cast Vote With R...163863902023-01-11 21:57:471157 days ago1673474267IN
0x56Fd5d50...bf32fe277
0 ETH0.0019982220.55260291
Propose163860732023-01-11 20:53:231157 days ago1673470403IN
0x56Fd5d50...bf32fe277
0 ETH0.0108908422.61980458
Cast Vote163004492022-12-30 22:05:111169 days ago1672437911IN
0x56Fd5d50...bf32fe277
0 ETH0.0013683317.35522001
Cast Vote163004112022-12-30 21:57:351169 days ago1672437455IN
0x56Fd5d50...bf32fe277
0 ETH0.0014748618.706339
Cast Vote162935862022-12-29 23:05:471170 days ago1672355147IN
0x56Fd5d50...bf32fe277
0 ETH0.0013736317.42237952
Cast Vote With R...162875832022-12-29 2:58:231171 days ago1672282703IN
0x56Fd5d50...bf32fe277
0 ETH0.0011747614.57214265
Cast Vote162874242022-12-29 2:26:351171 days ago1672280795IN
0x56Fd5d50...bf32fe277
0 ETH0.0014335714.94193248
Propose162870362022-12-29 1:08:351171 days ago1672276115IN
0x56Fd5d50...bf32fe277
0 ETH0.008757117.88890673
Execute162703302022-12-26 17:10:351173 days ago1672074635IN
0x56Fd5d50...bf32fe277
0 ETH0.0019499719.08989564
Execute162692922022-12-26 13:41:351174 days ago1672062095IN
0x56Fd5d50...bf32fe277
0 ETH0.0011906610.93886167
Queue162513952022-12-24 1:45:111176 days ago1671846311IN
0x56Fd5d50...bf32fe277
0 ETH0.00161312.94824831
Cast Vote162495112022-12-23 19:27:231176 days ago1671823643IN
0x56Fd5d50...bf32fe277
0 ETH0.0011390114.44657523
Cast Vote162492152022-12-23 18:28:111176 days ago1671820091IN
0x56Fd5d50...bf32fe277
0 ETH0.0014438918.31351778
Queue162482382022-12-23 15:12:351177 days ago1671808355IN
0x56Fd5d50...bf32fe277
0 ETH0.0018577614.91309957
Cast Vote162363272022-12-21 23:22:471178 days ago1671664967IN
0x56Fd5d50...bf32fe277
0 ETH0.0012360312.88302623
Cast Vote162351252022-12-21 19:20:111178 days ago1671650411IN
0x56Fd5d50...bf32fe277
0 ETH0.0012180415.44902616
Propose162349432022-12-21 18:43:351178 days ago1671648215IN
0x56Fd5d50...bf32fe277
0 ETH0.0068488114.10413189
Cast Vote162279832022-12-20 19:25:471179 days ago1671564347IN
0x56Fd5d50...bf32fe277
0 ETH0.0017195921.81033084
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SweepersGovernanceProxy

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 999999 runs

Other Settings:
istanbul EvmVersion, BSD-3-Clause license
// SPDX-License-Identifier: BSD-3-Clause

/// @title The Sweepers Governance proxy contract



// LICENSE
// SweepersGovernanceProxy.sol is a modified version of Compound Lab's GovernorBravoDelegator.sol:
// https://github.com/compound-finance/compound-protocol/blob/b9b14038612d846b83f8a009a82c38974ff2dcfe/contracts/Governance/GovernorBravoDelegator.sol
//
// GovernorBravoDelegator.sol source code Copyright 2020 Compound Labs, Inc. licensed under the BSD-3-Clause license.
// With modifications by Sweeperders Governance.
//
// Additional conditions of BSD-3-Clause can be found here: https://opensource.org/licenses/BSD-3-Clause
//
//
// SweepersGovernanceProxy.sol uses parts of Open Zeppelin's Proxy.sol:
// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/5c8746f56b4bed8cc9e0e044f5f69ab2f9428ce1/contracts/proxy/Proxy.sol
//
// Proxy.sol source code licensed under MIT License.
//
// MODIFICATIONS
// The fallback() and receive() functions of Proxy.sol have been used to allow Solidity > 0.6.0 compatibility

pragma solidity 0.8.17;

import './SweepersGovernanceInterfaces.sol';

contract SweepersGovernanceProxy is SweepersGovernanceProxyStorage, SweepersGovernanceEvents {
    constructor(
        address timelock_,
        address sweepers_,
        address vetoer_,
        address admin_,
        address implementation_,
        uint256 votingPeriod_,
        uint256 votingDelay_,
        uint256 proposalThresholdBPS_,
        uint256 quorumVotesBPS_
    ) {
        // Admin set to msg.sender for initialization
        admin = msg.sender;

        delegateTo(
            implementation_,
            abi.encodeWithSignature(
                'initialize(address,address,address,uint256,uint256,uint256,uint256)',
                timelock_,
                sweepers_,
                vetoer_,
                votingPeriod_,
                votingDelay_,
                proposalThresholdBPS_,
                quorumVotesBPS_
            )
        );

        _setImplementation(implementation_);

        admin = admin_;
    }

    /**
     * @notice Called by the admin to update the implementation of the delegator
     * @param implementation_ The address of the new implementation for delegation
     */
    function _setImplementation(address implementation_) public {
        require(msg.sender == admin, 'SweepersGovernanceProxy::_setImplementation: admin only');
        require(implementation_ != address(0), 'SweepersGovernanceProxy::_setImplementation: invalid implementation address');

        address oldImplementation = implementation;
        implementation = implementation_;

        emit NewImplementation(oldImplementation, implementation);
    }

    /**
     * @notice Internal method to delegate execution to another contract
     * @dev It returns to the external caller whatever the implementation returns or forwards reverts
     * @param callee The contract to delegatecall
     * @param data The raw data to delegatecall
     */
    function delegateTo(address callee, bytes memory data) internal {
        (bool success, bytes memory returnData) = callee.delegatecall(data);
        assembly {
            if eq(success, 0) {
                revert(add(returnData, 0x20), returndatasize())
            }
        }
    }

    /**
     * @dev Delegates execution to an implementation contract.
     * It returns to the external caller whatever the implementation returns
     * or forwards reverts.
     */
    function _fallback() internal {
        // delegate all other functions to current implementation
        (bool success, ) = implementation.delegatecall(msg.data);

        assembly {
            let free_mem_ptr := mload(0x40)
            returndatacopy(free_mem_ptr, 0, returndatasize())

            switch success
            case 0 {
                revert(free_mem_ptr, returndatasize())
            }
            default {
                return(free_mem_ptr, returndatasize())
            }
        }
    }

    /**
     * @dev Fallback function that delegates calls to the `implementation`. Will run if no other
     * function in the contract matches the call data.
     */
    fallback() external payable {
        _fallback();
    }

    /**
     * @dev Fallback function that delegates calls to `implementation`. Will run if call data
     * is empty.
     */
    receive() external payable {
        _fallback();
    }
}

// SPDX-License-Identifier: BSD-3-Clause

/// @title Sweepers Governance Logic interfaces and events



// LICENSE
// SweepersGovernanceInterfaces.sol is a modified version of Compound Lab's GovernorBravoInterfaces.sol:
// https://github.com/compound-finance/compound-protocol/blob/b9b14038612d846b83f8a009a82c38974ff2dcfe/contracts/Governance/GovernorBravoInterfaces.sol
//
// GovernorBravoInterfaces.sol source code Copyright 2020 Compound Labs, Inc. licensed under the BSD-3-Clause license.
// With modifications by Sweeperders Governance.
//
// Additional conditions of BSD-3-Clause can be found here: https://opensource.org/licenses/BSD-3-Clause
//
// MODIFICATIONS
// SweepersGovernanceEvents, SweepersGovernanceProxyStorage, SweepersGovernanceStorageV1 adds support for changes made by Sweepers Governance to GovernorBravo.sol
// See SweepersGovernanceLogicV1.sol for more details.

pragma solidity 0.8.17;

contract SweepersGovernanceEvents {
    /// @notice An event emitted when a new proposal is created
    event ProposalCreated(
        uint256 id,
        address proposer,
        address[] targets,
        uint256[] values,
        string[] signatures,
        bytes[] calldatas,
        uint256 startBlock,
        uint256 endBlock,
        string description,
        string openseaSlug,
        address project
    );

    event ProposalCreatedWithRequirements(
        uint256 id,
        address proposer,
        address[] targets,
        uint256[] values,
        string[] signatures,
        bytes[] calldatas,
        uint256 startBlock,
        uint256 endBlock,
        uint256 proposalThreshold,
        uint256 quorumVotes,
        string description,
        string openseaSlug,
        address project
    );

    /// @notice An event emitted when a vote has been cast on a proposal
    /// @param voter The address which casted a vote
    /// @param proposalId The proposal id which was voted on
    /// @param support Support value for the vote. 0=against, 1=for, 2=abstain
    /// @param votes Number of votes which were cast by the voter
    /// @param reason The reason given for the vote by the voter
    event VoteCast(address indexed voter, uint256 proposalId, uint8 support, uint256 votes, string reason);

    /// @notice An event emitted when a proposal has been canceled
    event ProposalCanceled(uint256 id);

    /// @notice An event emitted when a proposal has been queued in the SweepersGovernanceExecutor
    event ProposalQueued(uint256 id, uint256 eta);

    /// @notice An event emitted when a proposal has been executed in the SweepersGovernanceExecutor
    event ProposalExecuted(uint256 id);

    /// @notice An event emitted when a proposal has been vetoed by vetoAddress
    event ProposalVetoed(uint256 id);

    /// @notice An event emitted when the voting delay is set
    event VotingDelaySet(uint256 oldVotingDelay, uint256 newVotingDelay);

    /// @notice An event emitted when the voting period is set
    event VotingPeriodSet(uint256 oldVotingPeriod, uint256 newVotingPeriod);

    /// @notice Emitted when implementation is changed
    event NewImplementation(address oldImplementation, address newImplementation);

    /// @notice Emitted when proposal threshold basis points is set
    event ProposalThresholdBPSSet(uint256 oldProposalThresholdBPS, uint256 newProposalThresholdBPS);

    /// @notice Emitted when proposal threshold strict amount is set
    event ProposalThresholdStrictSet(uint256 oldProposalThresholdStrict, uint256 newProposalThresholdStrict);

    /// @notice Emitted when quorum votes basis points is set
    event QuorumVotesBPSSet(uint256 oldQuorumVotesBPS, uint256 newQuorumVotesBPS);

    /// @notice Emitted when pendingAdmin is changed
    event NewPendingAdmin(address oldPendingAdmin, address newPendingAdmin);

    /// @notice Emitted when pendingAdmin is accepted, which means admin is updated
    event NewAdmin(address oldAdmin, address newAdmin);

    /// @notice Emitted when vetoer is changed
    event NewVetoer(address oldVetoer, address newVetoer);
}

contract SweepersGovernanceProxyStorage {
    /// @notice Administrator for this contract
    address public admin;

    /// @notice Pending administrator for this contract
    address public pendingAdmin;

    /// @notice Active brains of Governor
    address public implementation;
}

/**
 * @title Storage for Governor Bravo Delegate
 * @notice For future upgrades, do not change SweepersGovernanceStorageV1. Create a new
 * contract which implements SweepersGovernanceStorageV1 and following the naming convention
 * SweepersGovernanceStorageVX.
 */
contract SweepersGovernanceStorageV1 is SweepersGovernanceProxyStorage {
    /// @notice Vetoer who has the ability to veto any proposal
    address public vetoer;

    /// @notice The delay before voting on a proposal may take place, once proposed, in blocks
    uint256 public votingDelay;

    /// @notice The duration of voting on a proposal, in blocks
    uint256 public votingPeriod;

    /// @notice The basis point number of votes required in order for a voter to become a proposer.
    uint256 public proposalThresholdBPS;

    /// @notice The strict number of votes required in order for a voter to become a proposer.
    uint256 public proposalThresholdStrict;

    /// @notice Whether to use BPS or Strict Threshold calculation to become a proposer.
    bool public useProposalThresholdBPS;

    /// @notice The basis point number of votes in support of a proposal required in order for a quorum to be reached and for a vote to succeed. *DIFFERS from GovernerBravo
    uint256 public quorumVotesBPS;

    /// @notice The total number of proposals
    uint256 public proposalCount;

    /// @notice Whether or not targets are restricted
    bool public targetsRestricted;

    /// @notice The allowed target addresses
    mapping(address => bool) public allowedTargets;

    /// @notice The address of the Sweepers Governance Executor SweepersGovernanceExecutor
    ISweepersGovernanceExecutor public timelock;

    /// @notice The address of the Sweepers tokens
    SweepersTokenLike public sweepers;

    /// @notice The official record of all proposals ever proposed
    mapping(uint256 => Proposal) public proposals;

    /// @notice The latest proposal for each proposer
    mapping(address => uint256) public latestProposalIds;

    struct Proposal {
        /// @notice Unique id for looking up a proposal
        uint256 id;
        /// @notice Creator of the proposal
        address proposer;
        /// @notice The number of votes needed to create a proposal at the time of proposal creation. *DIFFERS from GovernerBravo
        uint256 proposalThreshold;
        /// @notice The number of votes in support of a proposal required in order for a quorum to be reached and for a vote to succeed at the time of proposal creation. *DIFFERS from GovernerBravo
        uint256 quorumVotes;
        /// @notice The timestamp that the proposal will be available for execution, set once the vote succeeds
        uint256 eta;
        /// @notice the ordered list of target addresses for calls to be made
        address[] targets;
        /// @notice The ordered list of values (i.e. msg.value) to be passed to the calls to be made
        uint256[] values;
        /// @notice The ordered list of function signatures to be called
        string[] signatures;
        /// @notice The ordered list of calldata to be passed to each call
        bytes[] calldatas;
        /// @notice The Opensea slug for the project to be swept
        string openseaSlug;
        ///@notice The contract address for the project to be swept
        address project;
        /// @notice The block at which voting begins: holders must delegate their votes prior to this block
        uint256 startBlock;
        /// @notice The block at which voting ends: votes must be cast prior to this block
        uint256 endBlock;
        /// @notice Current number of votes in favor of this proposal
        uint256 forVotes;
        /// @notice Current number of votes in opposition to this proposal
        uint256 againstVotes;
        /// @notice Current number of votes for abstaining for this proposal
        uint256 abstainVotes;
        /// @notice Flag marking whether the proposal has been canceled
        bool canceled;
        /// @notice Flag marking whether the proposal has been vetoed
        bool vetoed;
        /// @notice Flag marking whether the proposal has been executed
        bool executed;
        /// @notice Receipts of ballots for the entire set of voters
        mapping(address => Receipt) receipts;
    }

    /// @notice Ballot receipt record for a voter
    struct Receipt {
        /// @notice Whether or not a vote has been cast
        bool hasVoted;
        /// @notice Whether or not the voter supports the proposal or abstains
        uint8 support;
        /// @notice The number of votes the voter had, which were cast
        uint96 votes;
    }

    /// @notice Possible states that a proposal may be in
    enum ProposalState {
        Pending,
        Active,
        Canceled,
        Defeated,
        Succeeded,
        Queued,
        Expired,
        Executed,
        Vetoed
    }
}

interface ISweepersGovernanceExecutor {
    function delay() external view returns (uint256);

    function GRACE_PERIOD() external view returns (uint256);

    function acceptAdmin() external;

    function queuedTransactions(bytes32 hash) external view returns (bool);

    function queueTransaction(
        address target,
        uint256 value,
        string calldata signature,
        bytes calldata data,
        uint256 eta
    ) external returns (bytes32);

    function cancelTransaction(
        address target,
        uint256 value,
        string calldata signature,
        bytes calldata data,
        uint256 eta
    ) external;

    function executeTransaction(
        address target,
        uint256 value,
        string calldata signature,
        bytes calldata data,
        uint256 eta
    ) external payable returns (bytes memory);
}

interface SweepersTokenLike {
    function getPriorVotes(address account, uint256 blockNumber) external view returns (uint96);

    function totalSupply() external view returns (uint96);
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 999999
  },
  "viaIR": true,
  "evmVersion": "istanbul",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"timelock_","type":"address"},{"internalType":"address","name":"sweepers_","type":"address"},{"internalType":"address","name":"vetoer_","type":"address"},{"internalType":"address","name":"admin_","type":"address"},{"internalType":"address","name":"implementation_","type":"address"},{"internalType":"uint256","name":"votingPeriod_","type":"uint256"},{"internalType":"uint256","name":"votingDelay_","type":"uint256"},{"internalType":"uint256","name":"proposalThresholdBPS_","type":"uint256"},{"internalType":"uint256","name":"quorumVotesBPS_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"NewAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldImplementation","type":"address"},{"indexed":false,"internalType":"address","name":"newImplementation","type":"address"}],"name":"NewImplementation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldPendingAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newPendingAdmin","type":"address"}],"name":"NewPendingAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldVetoer","type":"address"},{"indexed":false,"internalType":"address","name":"newVetoer","type":"address"}],"name":"NewVetoer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"},{"indexed":false,"internalType":"string","name":"openseaSlug","type":"string"},{"indexed":false,"internalType":"address","name":"project","type":"address"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"proposalThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"quorumVotes","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"},{"indexed":false,"internalType":"string","name":"openseaSlug","type":"string"},{"indexed":false,"internalType":"address","name":"project","type":"address"}],"name":"ProposalCreatedWithRequirements","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"ProposalQueued","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldProposalThresholdBPS","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newProposalThresholdBPS","type":"uint256"}],"name":"ProposalThresholdBPSSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldProposalThresholdStrict","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newProposalThresholdStrict","type":"uint256"}],"name":"ProposalThresholdStrictSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"ProposalVetoed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldQuorumVotesBPS","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newQuorumVotesBPS","type":"uint256"}],"name":"QuorumVotesBPSSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"votes","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingDelay","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingDelay","type":"uint256"}],"name":"VotingDelaySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingPeriod","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingPeriod","type":"uint256"}],"name":"VotingPeriodSet","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"implementation_","type":"address"}],"name":"_setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234610099576108dd388190039081906080601f8301601f19168101906001600160401b0382119082101761009e575b6040526080396101208091126100995761008a9061004f61010e565b90610058610124565b9061006161013a565b9061006a610150565b90610073610166565b90519161014051936101605195610180519761017d565b6040516104fc90816103c18239f35b600080fd5b6100a66100ab565b610033565b50634e487b7160e01b600052604160045260246000fd5b61012081019081106001600160401b038211176100de57604052565b6100e66100ab565b604052565b601f909101601f19168101906001600160401b038211908210176100de57604052565b608051906001600160a01b038216820361009957565b60a051906001600160a01b038216820361009957565b60c051906001600160a01b038216820361009957565b60e051906001600160a01b038216820361009957565b61010051906001600160a01b038216820361009957565b9297909396600096879687963360018060a01b0319895416178855604051956020870197630568cad960e31b895260018060a01b03928380921660248a0152166044880152166064860152608485015260a484015260c483015260e482015260e481526101e9816100c2565b5190855af43d15610272573d6001600160401b038111610265575b6040519061021c601f8201601f1916602001836100eb565b8152809260203d92013e5b1561025e57509061023a61025c926102ef565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b565b60203d9101fd5b61026d6100ab565b610204565b60609150610227565b1561028257565b60405162461bcd60e51b815260206004820152604b60248201526000805160206108bd83398151915260448201527f6c656d656e746174696f6e3a20696e76616c696420696d706c656d656e74617460648201526a696f6e206164647265737360a81b608482015260a490fd5b6000546001600160a01b03919082163303610367576103327fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a928216151561027b565b600280546001600160a01b039283166001600160a01b03198216811790925560408051939091168352602083019190915290a1565b60405162461bcd60e51b815260206004820152603760248201526000805160206108bd83398151915260448201527f6c656d656e746174696f6e3a2061646d696e206f6e6c790000000000000000006064820152608490fdfe6080604052600436101561002c575b361561001f575b61001d6103fd565b005b6100276103fd565b610015565b6000803560e01c908163267822471461007f575080635c60da1b14610076578063bb913f411461006d5763f851a4400361000e576100686102c9565b61000e565b5061006861012a565b506100686100d2565b346100cf57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cf5773ffffffffffffffffffffffffffffffffffffffff6001541660805260206080f35b80fd5b50346101255760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012557602073ffffffffffffffffffffffffffffffffffffffff60025416604051908152f35b600080fd5b50346101255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101255773ffffffffffffffffffffffffffffffffffffffff6004358181169182820361012557600054163303610245576101b37fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a92151561031c565b6102176101d560025473ffffffffffffffffffffffffffffffffffffffff1690565b9173ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255565b6002546040805173ffffffffffffffffffffffffffffffffffffffff938416815292909116602083015290a1005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5377656570657273476f7665726e616e636550726f78793a3a5f736574496d7060448201527f6c656d656e746174696f6e3a2061646d696e206f6e6c790000000000000000006064820152fd5b50346101255760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012557602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b1561032357565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604b60248201527f5377656570657273476f7665726e616e636550726f78793a3a5f736574496d7060448201527f6c656d656e746174696f6e3a20696e76616c696420696d706c656d656e74617460648201527f696f6e20616464726573730000000000000000000000000000000000000000006084820152fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b5073ffffffffffffffffffffffffffffffffffffffff60025416604051600080928192368382378036810184815203915af43d156104c15767ffffffffffffffff3d8181116104b4575b604051917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f8501160116830190838210908211176104a7575b60405281528260203d92013e5b604051913d90833e156104a3573d90f35b3d90fd5b6104af6103cd565b610485565b6104bc6103cd565b610447565b61049256fea26469706673582212203b81d901540aa5b2a767862542791019ab9b5a229c865fde0bb8c6beaa58529f64736f6c634300081100335377656570657273476f7665726e616e636550726f78793a3a5f736574496d70000000000000000000000000811074e281d86f862dc84e7df80ed38aa22aa23d0000000000000000000000002276c60f53c9a807e182d112f9b37d7277463fec0000000000000000000000009d0717faddb61c48e3fce46abc2b2dcaa43d12550000000000000000000000009d0717faddb61c48e3fce46abc2b2dcaa43d1255000000000000000000000000f7b413947988d861d0682780e2cbd8019769d5a70000000000000000000000000000000000000000000000000000000000001bee000000000000000000000000000000000000000000000000000000000000012a00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000003e8

Deployed Bytecode

0x6080604052600436101561002c575b361561001f575b61001d6103fd565b005b6100276103fd565b610015565b6000803560e01c908163267822471461007f575080635c60da1b14610076578063bb913f411461006d5763f851a4400361000e576100686102c9565b61000e565b5061006861012a565b506100686100d2565b346100cf57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cf5773ffffffffffffffffffffffffffffffffffffffff6001541660805260206080f35b80fd5b50346101255760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012557602073ffffffffffffffffffffffffffffffffffffffff60025416604051908152f35b600080fd5b50346101255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101255773ffffffffffffffffffffffffffffffffffffffff6004358181169182820361012557600054163303610245576101b37fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a92151561031c565b6102176101d560025473ffffffffffffffffffffffffffffffffffffffff1690565b9173ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255565b6002546040805173ffffffffffffffffffffffffffffffffffffffff938416815292909116602083015290a1005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5377656570657273476f7665726e616e636550726f78793a3a5f736574496d7060448201527f6c656d656e746174696f6e3a2061646d696e206f6e6c790000000000000000006064820152fd5b50346101255760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012557602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b1561032357565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604b60248201527f5377656570657273476f7665726e616e636550726f78793a3a5f736574496d7060448201527f6c656d656e746174696f6e3a20696e76616c696420696d706c656d656e74617460648201527f696f6e20616464726573730000000000000000000000000000000000000000006084820152fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b5073ffffffffffffffffffffffffffffffffffffffff60025416604051600080928192368382378036810184815203915af43d156104c15767ffffffffffffffff3d8181116104b4575b604051917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f8501160116830190838210908211176104a7575b60405281528260203d92013e5b604051913d90833e156104a3573d90f35b3d90fd5b6104af6103cd565b610485565b6104bc6103cd565b610447565b61049256fea26469706673582212203b81d901540aa5b2a767862542791019ab9b5a229c865fde0bb8c6beaa58529f64736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000811074e281d86f862dc84e7df80ed38aa22aa23d0000000000000000000000002276c60f53c9a807e182d112f9b37d7277463fec0000000000000000000000009d0717faddb61c48e3fce46abc2b2dcaa43d12550000000000000000000000009d0717faddb61c48e3fce46abc2b2dcaa43d1255000000000000000000000000f7b413947988d861d0682780e2cbd8019769d5a70000000000000000000000000000000000000000000000000000000000001bee000000000000000000000000000000000000000000000000000000000000012a00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000003e8

-----Decoded View---------------
Arg [0] : timelock_ (address): 0x811074e281d86f862dC84e7df80Ed38aA22aa23D
Arg [1] : sweepers_ (address): 0x2276C60F53c9a807e182d112f9b37D7277463Fec
Arg [2] : vetoer_ (address): 0x9D0717fAdDb61c48e3fCE46ABC2B2DCAA43D1255
Arg [3] : admin_ (address): 0x9D0717fAdDb61c48e3fCE46ABC2B2DCAA43D1255
Arg [4] : implementation_ (address): 0xF7b413947988D861d0682780e2CbD8019769d5a7
Arg [5] : votingPeriod_ (uint256): 7150
Arg [6] : votingDelay_ (uint256): 298
Arg [7] : proposalThresholdBPS_ (uint256): 200
Arg [8] : quorumVotesBPS_ (uint256): 1000

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 000000000000000000000000811074e281d86f862dc84e7df80ed38aa22aa23d
Arg [1] : 0000000000000000000000002276c60f53c9a807e182d112f9b37d7277463fec
Arg [2] : 0000000000000000000000009d0717faddb61c48e3fce46abc2b2dcaa43d1255
Arg [3] : 0000000000000000000000009d0717faddb61c48e3fce46abc2b2dcaa43d1255
Arg [4] : 000000000000000000000000f7b413947988d861d0682780e2cbd8019769d5a7
Arg [5] : 0000000000000000000000000000000000000000000000000000000000001bee
Arg [6] : 000000000000000000000000000000000000000000000000000000000000012a
Arg [7] : 00000000000000000000000000000000000000000000000000000000000000c8
Arg [8] : 00000000000000000000000000000000000000000000000000000000000003e8


Deployed Bytecode Sourcemap

1100:3302:1:-:0;;;;;;;;;-1:-1:-1;1100:3302:1;;;;-1:-1:-1;4156:56:1;;:::i;:::-;-1:-1:-1;1100:3302:1;4156:56;;:::i;:::-;1100:3302;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;4240:27:0;1100:3302:1;;;;;;;;;;;;;;;;;;;;;;;;4316:29:0;1100:3302:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1100:3302:1;;2320:10;:19;1100:3302;;2409:117;2637:52;2417:29;;;2409:117;:::i;:::-;2589:32;1100:3302;2565:14;1100:3302;;;;;;2589:32;1100:3302;;;2565:14;1100:3302;;;2565:14;1100:3302;;2589:32;2565:14;1100:3302;;;;;;;;;;;;;;;;;;;2637:52;1100:3302;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3468:514;;1100:3302;3593:14;1100:3302;;;;-1:-1:-1;3621:8:1;;;;;1100:3302;;;3621:8;;1100:3302;;;;;3593:37;;;;1100:3302;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3641:335;;;;;;;;;;;;;;;;1100:3302;;;:::i;:::-;;;;;;:::i;:::-;;;;;

Swarm Source

ipfs://3b81d901540aa5b2a767862542791019ab9b5a229c865fde0bb8c6beaa58529f

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

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.