Contract 0x9f0631f10d607dd80696a067df2150da683aca81

Txn Hash Method
Block
From
To
Value [Txn Fee]
0x5437e32febff2bb26b2f3add70a5e97ac2bb2125d0910152463bb28202394950Distribute Rewar...149647252022-05-21 0:27:014 hrs 51 mins ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.02116777525
0x50c5243352e62f0e539bb6ec90cd3857ea1d1256560feae8a29c3ce7c330a8c8Distribute Rewar...149221452022-05-20 0:51:591 day 4 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.000772925
0x358022087af51d7e4c2d3c94280bf2899887f8e444ed53f2ec26c13088933951Distribute Rewar...149207722022-05-20 0:06:101 day 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.021462825
0xdec05d8cb04df395abca93df65999169c3654a37ddef1754b9c807ab44151d05Distribute Rewar...148780122022-05-19 0:24:552 days 4 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.02190886353225.519577516
0x1915e3c4b0ee7f9ee269f335f4d9bd7df151b4628f7d65b671d73322a2476d7aDistribute Rewar...148368822022-05-18 1:24:593 days 3 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.02125132525
0x2f35c15de76be1fd7c88d72c6aefba6151b34c0c43eb86ae26c0fe7043924b6aDistribute Rewar...147941302022-05-17 1:30:244 days 3 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.02181882525
0x0aac4167b6a8d1088ae6c40dbd9d7d170c4a8459455de7603e5b0258b2ce8cc4Distribute Rewar...147511862022-05-16 1:39:185 days 3 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.02116777525
0xfd4af6edcc9a82f69e79108efe80076db75e330c70edaf92db14de3534a57585Distribute Rewar...147075472022-05-15 1:22:186 days 3 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.0211694525
0xfbc65e534c28fd767dd87fc37970aeb9f4666ced6b56c058a3638da4b80791eaDistribute Rewar...146198892022-05-13 0:39:348 days 4 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.00244973232279.238333615
0x538b0a6fc430ace52ab98f2f5ed49b08600c7084807716f8235826cf84526e75Distribute Rewar...146188382022-05-13 0:05:008 days 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.063836471775.097048891
0x83846d0717d2aa8f733769aba073b6a429c4a4d148fc06661116aca8eb60576fDistribute Rewar...145771072022-05-12 1:05:399 days 4 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.126305774276145.277405366
0x14b67b24667e0590f30a8dfd6c74b2ca060a73f81a6ab74b3c9f0b0c9b2c8bccDistribute Rewar...145321872022-05-11 0:08:2010 days 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.06148275632472.61362652
0x4fb5489df3d075eb104f78969d926121f2394ab031f3e43d858b88efd722e69bDistribute Rewar...144894902022-05-10 0:04:0711 days 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.295741916227347.90997294
0xc2d2d97ab0ca2aaf082b3091e5060bc066612bbd2bf65541135335f2c8bbffa7Distribute Rewar...144473162022-05-09 0:06:5912 days 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.02942417372934.27345655
0xa5e422302451a5722909dc1515a410493b89b7552c082ffa0fc44d826ca4f1e9Distribute Rewar...144063472022-05-08 0:08:0813 days 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.04278889861249.027501037
0x05d22dbec711abb5f743740a94bb4d72b0d0fa6917a915bc77d22a0e4c66a044Distribute Rewar...143656342022-05-07 0:17:3714 days 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.04488593133353.012103697
0xb68c395ab49e0099e47cbdb34726f29d0f146bf965be4fd911a92cd956d0be6fDistribute Rewar...143233502022-05-06 0:08:1415 days 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.05229507195159.919670229
0xe928ae2a2047350b7314d0ce885c37927a28f66f152dc9b7d6c104d22c315243Distribute Rewar...142815532022-05-05 0:08:2216 days 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.089867991646106.428979418
0x0c370a22a37579e18247ed462cad57ee0dc13711b00e26559b94ab9e3956d12fDistribute Rewar...142395552022-05-04 0:12:5317 days 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.086259166052102.561037905
0x51f9a799e2082f3506b4eef5ce90f47504985c2ea3c90f1150641b82d7bec84dDistribute Rewar...141975272022-05-03 0:09:4318 days 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.04597042341754.457325275
0x379f407b2a57f385a3b41fabd365879451714fdb44bf753527534105bfa8d848Distribute Rewar...141133062022-05-01 0:11:3720 days 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.05591833161865.781783853
0xd49f322897bd8d77281721c5c8ce6fd8ca801da3abaec0ffd245a22fca5f5d70Distribute Rewar...139880392022-04-28 0:34:3323 days 4 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.05482690285664.112285109
0x76631f1b9a0cd65ed90e94fc37e850396f12450073fc4e2f8526250cfeb1454fDistribute Rewar...139444712022-04-27 0:08:4124 days 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.04163703094747.891079072
0x5b535716c1c690dafbe47e60d89d00d74c7b3fd0555d865359b96654311ca8baDistribute Rewar...139014072022-04-26 0:08:3225 days 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.00204058467866.0041622
0xcf2658fbd89eb36b1556afb02ca7b8889fc97e6fad83aa78c386e3314cc74ac8Distribute Rewar...139013312022-04-26 0:06:0025 days 5 hrs ago0xe26ec86057d74d7a5171297ccf63c2eeaf6ec2ec IN  Cycle Finance: Distribution Proxy0 AVAX0.05699525951667.498418412
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DistributionProxy

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at snowtrace.io on 2021-11-08
*/

// SPDX-License-Identifier: MIT

pragma solidity >=0.6.2 <0.8.0;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

pragma solidity >=0.6.0 <0.8.0;

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor () internal {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and make it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        // On the first call to nonReentrant, _notEntered will be true
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;

        _;

        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

/**
 * @dev Contract module which allows children to implement an emergency stop
 * mechanism that can be triggered by an authorized account.
 *
 * This module is used through inheritance. It will make available the
 * modifiers `whenNotPaused` and `whenPaused`, which can be applied to
 * the functions of your contract. Note that they will not be pausable by
 * simply including this module, only once the modifiers are put in place.
 */
abstract contract Pausable is Context {
    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account);

    bool private _paused;

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor () internal {
        _paused = false;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused() public view virtual returns (bool) {
        return _paused;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    modifier whenNotPaused() {
        require(!paused(), "Pausable: paused");
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    modifier whenPaused() {
        require(paused(), "Pausable: not paused");
        _;
    }

    /**
     * @dev Triggers stopped state.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

    /**
     * @dev Returns to normal state.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}

interface IProcessor {
    function process() external;
}

interface IDistributor {
    function distribute(address caller) external;
}

interface IProtocolAddresses {
    function Distributor() external view returns (address);
    function HarvestProcessor() external view returns (address);
}

contract DistributionProxy is Ownable, ReentrancyGuard, Pausable {
    address public ProtocolAddresses;
    uint256 public lastDistribution;

    uint256 public constant frequency = 1 days;

    constructor(uint256 _lastDistribution) public {
        lastDistribution = _lastDistribution;
    }

    function togglePause() external onlyOwner {
        paused() ? _unpause() : _pause();
    }

    function setProtocolAddresses(address _ProtocolAddresses) external onlyOwner {
        ProtocolAddresses = _ProtocolAddresses;
    }

    function distributeRewards() external nonReentrant whenNotPaused {
        require(!Address.isContract(msg.sender), "DistributionProxy: Caller is not an EOA");

        require(block.timestamp > (lastDistribution + frequency), "DistributionProxy: Distribution timer has not elapsed");

        // In case over a day lapses between distributions, bring lastDistribution up to most current time
        while (block.timestamp > (lastDistribution + frequency)) {
            lastDistribution = lastDistribution + frequency;
        }

        IProcessor(IProtocolAddresses(ProtocolAddresses).HarvestProcessor()).process();
        IDistributor(IProtocolAddresses(ProtocolAddresses).Distributor()).distribute(msg.sender);
    }
}

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_lastDistribution","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"ProtocolAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributeRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"frequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastDistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_ProtocolAddresses","type":"address"}],"name":"setProtocolAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"togglePause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50604051610f92380380610f928339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600061005461012160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600180819055506000600260006101000a81548160ff0219169083151502179055508060038190555050610129565b600033905090565b610e5a806101386000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a717639c11610066578063a717639c1461014f578063c4ae31681461016d578063c9f801c714610177578063ead50da3146101ab578063f2fde38b146101c95761009e565b80630ef1d6c8146100a35780635c975abb146100e75780636f4a2cd014610107578063715018a6146101115780638da5cb5b1461011b575b600080fd5b6100e5600480360360208110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061020d565b005b6100ef610300565b60405180821515815260200191505060405180910390f35b61010f610317565b005b610119610722565b005b61012361088f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101576108b8565b6040518082815260200191505060405180910390f35b6101756108be565b005b61017f610991565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101b36109b7565b6040518082815260200191505060405180910390f35b61020b600480360360208110156101df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109be565b005b610215610bb0565b73ffffffffffffffffffffffffffffffffffffffff1661023361088f565b73ffffffffffffffffffffffffffffffffffffffff16146102bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900460ff16905090565b60026001541415610390576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60026001819055506103a0610300565b15610413576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b61041c33610bb8565b15610472576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610dc96027913960400191505060405180910390fd5b620151806003540142116104d1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180610df06035913960400191505060405180910390fd5b5b62015180600354014211156104f45762015180600354016003819055506104d2565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e2af71776040518163ffffffff1660e01b815260040160206040518083038186803b15801561055c57600080fd5b505afa158015610570573d6000803e3d6000fd5b505050506040513d602081101561058657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c33fb8776040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105de57600080fd5b505af11580156105f2573d6000803e3d6000fd5b50505050600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632039d8906040518163ffffffff1660e01b815260040160206040518083038186803b15801561065e57600080fd5b505afa158015610672573d6000803e3d6000fd5b505050506040513d602081101561068857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff166363453ae1336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561070157600080fd5b505af1158015610715573d6000803e3d6000fd5b5050505060018081905550565b61072a610bb0565b73ffffffffffffffffffffffffffffffffffffffff1661074861088f565b73ffffffffffffffffffffffffffffffffffffffff16146107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035481565b6108c6610bb0565b73ffffffffffffffffffffffffffffffffffffffff166108e461088f565b73ffffffffffffffffffffffffffffffffffffffff161461096d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610975610300565b61098657610981610bcb565b61098f565b61098e610cb7565b5b565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6201518081565b6109c6610bb0565b73ffffffffffffffffffffffffffffffffffffffff166109e461088f565b73ffffffffffffffffffffffffffffffffffffffff1614610a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610da36026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600080823b905060008111915050919050565b610bd3610300565b15610c46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600260006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610c8a610bb0565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b610cbf610300565b610d31576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600260006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610d75610bb0565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a156fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373446973747269627574696f6e50726f78793a2043616c6c6572206973206e6f7420616e20454f41446973747269627574696f6e50726f78793a20446973747269627574696f6e2074696d657220686173206e6f7420656c6170736564a264697066735822122034c22ce19b9efcee7c90c6ce64329ea38fb3e2f4e53ea724a4239e76e98d9ffb64736f6c634300060c00330000000000000000000000000000000000000000000000000000000060cfd680

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

0000000000000000000000000000000000000000000000000000000060cfd680

-----Decoded View---------------
Arg [0] : _lastDistribution (uint256): 1624233600

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000060cfd680


Deployed ByteCode Sourcemap

16258:1292:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16670:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14763:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16812:735;;;:::i;:::-;;13216:148;;;:::i;:::-;;12565:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16369:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16569:93;;;:::i;:::-;;16330:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16409:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13519:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16670:134;12796:12;:10;:12::i;:::-;12785:23;;:7;:5;:7::i;:::-;:23;;;12777:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16778:18:::1;16758:17;;:38;;;;;;;;;;;;;;;;;;16670:134:::0;:::o;14763:86::-;14810:4;14834:7;;;;;;;;;;;14827:14;;14763:86;:::o;16812:735::-;9696:1;10302:7;;:19;;10294:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9696:1;10435:7;:18;;;;15089:8:::1;:6;:8::i;:::-;15088:9;15080:38;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;16897:30:::2;16916:10;16897:18;:30::i;:::-;16896:31;16888:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16445:6;17011:16;;:28;16992:15;:48;16984:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17219:131;16445:6;17245:16;;:28;17226:15;:48;17219:131;;;16445:6;17310:16;;:28;17291:16;:47;;;;17219:131;;;17392:17;;;;;;;;;;;17373:54;;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;17362:76;;;:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;17483:17;;;;;;;;;;;17464:49;;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;17451:76;;;17528:10;17451:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;9652:1:::0;10614:7;:22;;;;16812:735::o;13216:148::-;12796:12;:10;:12::i;:::-;12785:23;;:7;:5;:7::i;:::-;:23;;;12777:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13323:1:::1;13286:40;;13307:6;::::0;::::1;;;;;;;;13286:40;;;;;;;;;;;;13354:1;13337:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;13216:148::o:0;12565:87::-;12611:7;12638:6;;;;;;;;;;;12631:13;;12565:87;:::o;16369:31::-;;;;:::o;16569:93::-;12796:12;:10;:12::i;:::-;12785:23;;:7;:5;:7::i;:::-;:23;;;12777:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16622:8:::1;:6;:8::i;:::-;:32;;16646:8;:6;:8::i;:::-;16622:32;;;16633:10;:8;:10::i;:::-;16622:32;16569:93::o:0;16330:32::-;;;;;;;;;;;;;:::o;16409:42::-;16445:6;16409:42;:::o;13519:244::-;12796:12;:10;:12::i;:::-;12785:23;;:7;:5;:7::i;:::-;:23;;;12777:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13628:1:::1;13608:22;;:8;:22;;;;13600:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13718:8;13689:38;;13710:6;::::0;::::1;;;;;;;;13689:38;;;;;;;;;;;;13747:8;13738:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;13519:244:::0;:::o;11194:106::-;11247:15;11282:10;11275:17;;11194:106;:::o;751:422::-;811:4;1019:12;1130:7;1118:20;1110:28;;1164:1;1157:4;:8;1150:15;;;751:422;;;:::o;15563:118::-;15089:8;:6;:8::i;:::-;15088:9;15080:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15633:4:::1;15623:7;;:14;;;;;;;;;;;;;;;;;;15653:20;15660:12;:10;:12::i;:::-;15653:20;;;;;;;;;;;;;;;;;;;;15563:118::o:0;15822:120::-;15366:8;:6;:8::i;:::-;15358:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15891:5:::1;15881:7;;:15;;;;;;;;;;;;;;;;;;15912:22;15921:12;:10;:12::i;:::-;15912:22;;;;;;;;;;;;;;;;;;;;15822:120::o:0

Swarm Source

ipfs://34c22ce19b9efcee7c90c6ce64329ea38fb3e2f4e53ea724a4239e76e98d9ffb
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.