ETH Price: $2,627.64 (+7.17%)

Contract

0xB31E9e8d666f8a54613a8B2f3A11370a50A25c83
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Lock Status209367382024-10-10 17:34:354 days ago1728581675IN
0xB31E9e8d...a50A25c83
0 ETH0.0056224415.33213053
Set Lock Status209175532024-10-08 1:25:116 days ago1728350711IN
0xB31E9e8d...a50A25c83
0 ETH0.003270358.91808634
Set Lock Status209081092024-10-06 17:49:238 days ago1728236963IN
0xB31E9e8d...a50A25c83
0 ETH0.002685567.32341137
Set Lock Status209031532024-10-06 1:13:478 days ago1728177227IN
0xB31E9e8d...a50A25c83
0 ETH0.002041095.56596618
Set Lock Status208979742024-10-05 7:54:599 days ago1728114899IN
0xB31E9e8d...a50A25c83
0 ETH0.001547094.21871046
Set Lock Status208888402024-10-04 1:23:1110 days ago1728004991IN
0xB31E9e8d...a50A25c83
0 ETH0.001857775.06605232
Set Lock Status208787132024-10-02 15:28:3512 days ago1727882915IN
0xB31E9e8d...a50A25c83
0 ETH0.0056660215.45046229
Set Lock Status208675132024-10-01 1:59:1113 days ago1727747951IN
0xB31E9e8d...a50A25c83
0 ETH0.002105885.74246202
Set Lock Status208590812024-09-29 21:47:5915 days ago1727646479IN
0xB31E9e8d...a50A25c83
0 ETH0.0044586212.15845481
Set Lock Status208589972024-09-29 21:30:4715 days ago1727645447IN
0xB31E9e8d...a50A25c83
0 ETH0.002831797.75506162
Set Lock Status208502722024-09-28 16:16:4716 days ago1727540207IN
0xB31E9e8d...a50A25c83
0 ETH0.00217555.93230529
Set Lock Status208449922024-09-27 22:36:3517 days ago1727476595IN
0xB31E9e8d...a50A25c83
0 ETH0.002711637.39448078
Set Lock Status208364962024-09-26 18:10:2318 days ago1727374223IN
0xB31E9e8d...a50A25c83
0 ETH0.0089227224.33183353
Set Lock Status208237892024-09-24 23:37:2320 days ago1727221043IN
0xB31E9e8d...a50A25c83
0 ETH0.0102074527.83522658
Set Lock Status208085762024-09-22 20:41:5922 days ago1727037719IN
0xB31E9e8d...a50A25c83
0 ETH0.0042872811.69122492
Set Lock Status207989422024-09-21 12:26:3523 days ago1726921595IN
0xB31E9e8d...a50A25c83
0 ETH0.0042542511.60115257
Set Lock Status207889252024-09-20 2:49:3524 days ago1726800575IN
0xB31E9e8d...a50A25c83
0 ETH0.002112885.76153805
Set Lock Status207810372024-09-19 0:24:1125 days ago1726705451IN
0xB31E9e8d...a50A25c83
0 ETH0.003368939.18691355
Set Lock Status207735682024-09-17 23:21:2327 days ago1726615283IN
0xB31E9e8d...a50A25c83
0 ETH0.002066435.63507736
Set Lock Status207659982024-09-16 21:55:4728 days ago1726523747IN
0xB31E9e8d...a50A25c83
0 ETH0.001169753.18977227
Set Lock Status207579682024-09-15 19:00:1129 days ago1726426811IN
0xB31E9e8d...a50A25c83
0 ETH0.00333469.09300579
Set Lock Status207505622024-09-14 18:13:4730 days ago1726337627IN
0xB31E9e8d...a50A25c83
0 ETH0.001337613.64749169
Set Lock Status207410972024-09-13 10:28:1131 days ago1726223291IN
0xB31E9e8d...a50A25c83
0 ETH0.000694181.8930646
Set Lock Status207306132024-09-11 23:20:2333 days ago1726096823IN
0xB31E9e8d...a50A25c83
0 ETH0.001010332.75504092
Set Lock Status207171012024-09-10 2:01:3534 days ago1725933695IN
0xB31E9e8d...a50A25c83
0 ETH0.001368913.73284152
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
esLBRBoost

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 5 : esLBRBoost.sol
// SPDX-License-Identifier: GPL-3.0

pragma solidity ^0.8.17;

import "@openzeppelin/contracts/access/Ownable.sol";
import "../interfaces/IesLBR.sol";
import "../interfaces/IMiningIncentives.sol";


contract esLBRBoost is Ownable {
    esLBRLockSetting[] public esLBRLockSettings;
    mapping(address => LockStatus) public userLockStatus;
    IMiningIncentives public miningIncentives;

    // Define a struct for the lock settings
    struct esLBRLockSetting {
        uint256 duration;
        uint256 miningBoost;
    }

    // Define a struct for the user's lock status
    struct LockStatus {
        uint256 lockAmount;
        uint256 unlockTime;
        uint256 duration;
        uint256 miningBoost;
    }

    event StakeLBR(address indexed user, uint256 amount, uint256 time);
    event NewLockSetting(uint256 duration, uint256 miningBoost);
    event UserLockStatus(address indexed user, uint256 lockAmount, uint256 unlockTime, uint256 duration, uint256 miningBoost);
    event Unlock(address indexed user, uint256 unLockAmount, uint256 unlockTime);

    // Constructor to initialize the default lock settings
    constructor(address _miningIncentives) {
        esLBRLockSettings.push(esLBRLockSetting(30 days, 5 * 1e18));
        esLBRLockSettings.push(esLBRLockSetting(90 days, 10 * 1e18));
        esLBRLockSettings.push(esLBRLockSetting(180 days, 25 * 1e18));
        esLBRLockSettings.push(esLBRLockSetting(365 days, 50 * 1e18));
        miningIncentives = IMiningIncentives(_miningIncentives);
    }

    // Function to add a new lock setting
    function addLockSetting(esLBRLockSetting memory setting) external onlyOwner {
        esLBRLockSettings.push(setting);
        emit NewLockSetting(setting.duration, setting.miningBoost);
    }

    function setMiningIncentives(address _addr) external onlyOwner {
        miningIncentives = IMiningIncentives(_addr);
    }

    /**
     * @notice The user can set the lock status and choose to use either esLBR or LBR.
     * @param id The ID of the lock setting.
     * @param lbrAmount The amount of LBR to be locked.
     * @param useLBR A flag indicating whether to use LBR or not.
     */
    function setLockStatus(uint256 id, uint256 lbrAmount, bool useLBR) external {
        require(id < esLBRLockSettings.length, "Invalid lock setting ID");
        esLBRLockSetting memory _setting = esLBRLockSettings[id];
        LockStatus memory userStatus = userLockStatus[msg.sender];
        if (userStatus.unlockTime > block.timestamp) {
            require(userStatus.duration <= _setting.duration, "Your lock-in period has not ended, and the term can only be extended, not reduced.");
        }
        if(useLBR) {
            IesLBR(miningIncentives.LBR()).burn(msg.sender, lbrAmount);
            IesLBR(miningIncentives.esLBR()).mint(msg.sender, lbrAmount);
            emit StakeLBR(msg.sender, lbrAmount, block.timestamp);
        }
        require(IesLBR(miningIncentives.esLBR()).balanceOf(msg.sender) >= userStatus.lockAmount + lbrAmount, "IB");
        miningIncentives.refreshReward(msg.sender);
        userLockStatus[msg.sender] = LockStatus(userStatus.lockAmount + lbrAmount, block.timestamp + _setting.duration, _setting.duration, _setting.miningBoost);
        emit UserLockStatus(msg.sender, userLockStatus[msg.sender].lockAmount, userLockStatus[msg.sender].duration, _setting.duration, _setting.miningBoost);
    }

    function unlock() external {
        LockStatus storage userStatus = userLockStatus[msg.sender];
        require(userStatus.unlockTime < block.timestamp, "TNM");
        emit Unlock(msg.sender, userStatus.lockAmount, block.timestamp);
        userStatus.lockAmount = 0;
    }

    // Function to get the user's unlock time
    function getUnlockTime(address user) external view returns (uint256 unlockTime) {
        unlockTime = userLockStatus[user].unlockTime;
    }

    /**
     * @notice calculate the user's mining boost based on their lock status
     * @dev Based on the user's userUpdatedAt time, finishAt time, and the current time,
     * there are several scenarios that could occur, including no acceleration, full acceleration, and partial acceleration.
     */
    function getUserBoost(address user, uint256 userUpdatedAt, uint256 finishAt) external view returns (uint256) {
        LockStatus memory userStatus = userLockStatus[user];
        uint256 boostEndTime = userStatus.unlockTime;
        if (userUpdatedAt >= boostEndTime || userUpdatedAt >= finishAt || userStatus.lockAmount == 0) {
            return 0;
        }
        uint needLockedAmount = getAmountNeedLocked(user);
        if(needLockedAmount == 0) return 0;
        uint256 maxBoost = userLockStatus[user].miningBoost;

        if (finishAt > boostEndTime && block.timestamp > boostEndTime) {
            uint256 time = block.timestamp > finishAt ? finishAt : block.timestamp;
            maxBoost = ((boostEndTime - userUpdatedAt) * maxBoost) / (time - userUpdatedAt);
        }
        if (userStatus.lockAmount >= needLockedAmount) {
            return maxBoost;
        }
        return maxBoost * userStatus.lockAmount / needLockedAmount;
    }

    function getAmountNeedLocked(address user) public view returns (uint256) {
        uint256 stakedAmount = miningIncentives.stakedOf(user);
        uint256 totalStaked = miningIncentives.totalStaked();
        if(stakedAmount == 0 || totalStaked == 0) return 0;
        return stakedAmount * IesLBR(miningIncentives.esLBR()).totalSupply() / totalStaked;
    }
}

File 2 of 5 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @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() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(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");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 3 of 5 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @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 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) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

File 4 of 5 : IesLBR.sol
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.17;

interface IesLBR {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function mint(address user, uint256 amount) external returns(bool);
    function burn(address user, uint256 amount) external returns(bool);
    function getPastVotes(address account, uint256 timepoint) external view returns (uint256);
    function getPastTotalSupply(uint256 timepoint) external view returns (uint256);
}

File 5 of 5 : IMiningIncentives.sol
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.17;

interface IMiningIncentives {
    function totalStaked() external view returns (uint256);
    function stakedOf(address user) external view returns (uint256);
    function earned(address user) external view returns (uint256);
    function isOtherEarningsClaimable(address user) external view returns (bool);
    function esLBR() external view returns (address);
    function LBR() external view returns (address);
    function refreshReward(address _account) external;
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_miningIncentives","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"miningBoost","type":"uint256"}],"name":"NewLockSetting","type":"event"},{"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":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"StakeLBR","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"unLockAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unlockTime","type":"uint256"}],"name":"Unlock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"lockAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unlockTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"miningBoost","type":"uint256"}],"name":"UserLockStatus","type":"event"},{"inputs":[{"components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"miningBoost","type":"uint256"}],"internalType":"struct esLBRBoost.esLBRLockSetting","name":"setting","type":"tuple"}],"name":"addLockSetting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"esLBRLockSettings","outputs":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"miningBoost","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getAmountNeedLocked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUnlockTime","outputs":[{"internalType":"uint256","name":"unlockTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"userUpdatedAt","type":"uint256"},{"internalType":"uint256","name":"finishAt","type":"uint256"}],"name":"getUserBoost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"miningIncentives","outputs":[{"internalType":"contract IMiningIncentives","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"lbrAmount","type":"uint256"},{"internalType":"bool","name":"useLBR","type":"bool"}],"name":"setLockStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setMiningIncentives","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userLockStatus","outputs":[{"internalType":"uint256","name":"lockAmount","type":"uint256"},{"internalType":"uint256","name":"unlockTime","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"miningBoost","type":"uint256"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b5060405161126438038061126483398101604081905261002f916101da565b6100383361018a565b60408051808201825262278d008152674563918244f400006020808301918252600180548082018255600082815294517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf660029283028181019290925594517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf791820155865180880188526276a7008152678ac7230489e800008186019081528454808601865585895291519184028088019290925551908201558651808801885262ed4e00815268015af1d78b58c4000081860190815284548086018655858952915191840280880192909255519082015586518088019097526301e1338087526802b5e3af16b1880000938701938452825480840184559290955294519402918201939093559151910155600380546001600160a01b0319166001600160a01b039290921691909117905561020a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156101ec57600080fd5b81516001600160a01b038116811461020357600080fd5b9392505050565b61104b806102196000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063c8d236061161008c578063d989a53b11610066578063d989a53b146101a5578063dbed1e88146101b8578063f2ccf056146101e4578063f2fde38b1461023b57600080fd5b8063c8d2360614610157578063d16911ba1461017f578063d64545d91461019257600080fd5b806313ae1e5b146100d4578063715018a6146100fa5780638da5cb5b14610104578063a69df4b514610129578063b237faf914610131578063c67543e914610144575b600080fd5b6100e76100e2366004610e22565b61024e565b6040519081526020015b60405180910390f35b610102610441565b005b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100f1565b610102610455565b6100e761013f366004610e3f565b6104e4565b610102610152366004610e22565b61061c565b61016a610165366004610e74565b610646565b604080519283526020830191909152016100f1565b61010261018d366004610e8d565b610674565b6101026101a0366004610ef8565b610726565b600354610111906001600160a01b031681565b6100e76101c6366004610e22565b6001600160a01b031660009081526002602052604090206001015490565b61021b6101f2366004610e22565b600260208190526000918252604090912080546001820154928201546003909201549092919084565b6040805194855260208501939093529183015260608201526080016100f1565b610102610249366004610e22565b610cea565b60035460405163af500ba360e01b81526001600160a01b038381166004830152600092839291169063af500ba390602401602060405180830381865afa15801561029c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c09190610f31565b90506000600360009054906101000a90046001600160a01b03166001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033b9190610f31565b9050811580610348575080155b15610357575060009392505050565b60035460408051639730875360e01b8152905183926001600160a01b03169163973087539160048083019260209291908290030181865afa1580156103a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c49190610f4a565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610401573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104259190610f31565b61042f9084610f7d565b6104399190610f9a565b949350505050565b610449610d63565b6104536000610dbd565b565b336000908152600260205260409020600181015442116104a25760405162461bcd60e51b8152602060048201526003602482015262544e4d60e81b60448201526064015b60405180910390fd5b80546040805191825242602083015233917ff7870c5b224cbc19873599e46ccfc7103934650509b1af0c3ce90138377c2004910160405180910390a260009055565b6001600160a01b03831660009081526002602081815260408084208151608081018352815481526001820154938101849052938101549184019190915260030154606083015280851015806105395750838510155b8061054357508151155b1561055357600092505050610615565b600061055e8761024e565b9050806000036105745760009350505050610615565b6001600160a01b038716600090815260026020526040902060030154828611801561059e57508242115b156105e35760008642116105b257426105b4565b865b90506105c08882610fbc565b826105cb8a87610fbc565b6105d59190610f7d565b6105df9190610f9a565b9150505b835182116105f657935061061592505050565b835182906106049083610f7d565b61060e9190610f9a565b9450505050505b9392505050565b610624610d63565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001818154811061065657600080fd5b60009182526020909120600290910201805460019091015490915082565b61067c610d63565b600180548082018255600091909152815160029091027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6810182905560208301517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf79091018190556040517ff243b3c3db48511c3a48b7d0662940ba673132d19f1bcd79d50ed445e0bce23b9261071b92908252602082015260400190565b60405180910390a150565b60015483106107775760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964206c6f636b2073657474696e672049440000000000000000006044820152606401610499565b60006001848154811061078c5761078c610fcf565b6000918252602080832060408051808201825260029485029092018054835260019081015483850152338652848452948190208151608081018352815481529581015493860184905293840154908501526003909201546060840152909250421015610888578151604082015111156108885760405162461bcd60e51b815260206004820152605260248201527f596f7572206c6f636b2d696e20706572696f6420686173206e6f7420656e646560448201527f642c20616e6420746865207465726d2063616e206f6e6c792062652065787465606482015271373232b216103737ba103932b23ab1b2b21760711b608482015260a401610499565b8215610a9f57600360009054906101000a90046001600160a01b03166001600160a01b0316638afe540c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109059190610f4a565b604051632770a7eb60e21b8152336004820152602481018690526001600160a01b039190911690639dc29fac906044016020604051808303816000875af1158015610954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109789190610fe5565b50600360009054906101000a90046001600160a01b03166001600160a01b031663973087536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f09190610f4a565b6040516340c10f1960e01b8152336004820152602481018690526001600160a01b0391909116906340c10f19906044016020604051808303816000875af1158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190610fe5565b506040805185815242602082015233917f0528cde2c67617f93e5ba994b14d34131c7027d844573ebbdb78ba556cbd94f6910160405180910390a25b8051610aac908590611002565b600360009054906101000a90046001600160a01b03166001600160a01b031663973087536040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b239190610f4a565b6040516370a0823160e01b81523360048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015610b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8d9190610f31565b1015610bc05760405162461bcd60e51b815260206004820152600260248201526124a160f11b6044820152606401610499565b60035460405163fce67e0d60e01b81523360048201526001600160a01b039091169063fce67e0d90602401600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b505050506040518060800160405280858360000151610c389190611002565b8152602001836000015142610c4d9190611002565b8152835160208083019190915280850180516040938401523360008181526002808552908590208651808255878601516001830155878701519282018390556060978801516003909201919091558851935186519182529481019190915293840191909152928201527f70131146d6fec3f367c6f7d17364f2c1031793e4283e3bb57b2629a4aa45e7d99060800160405180910390a25050505050565b610cf2610d63565b6001600160a01b038116610d575760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610499565b610d6081610dbd565b50565b6000546001600160a01b031633146104535760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610499565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610d6057600080fd5b600060208284031215610e3457600080fd5b813561061581610e0d565b600080600060608486031215610e5457600080fd5b8335610e5f81610e0d565b95602085013595506040909401359392505050565b600060208284031215610e8657600080fd5b5035919050565b600060408284031215610e9f57600080fd5b6040516040810181811067ffffffffffffffff82111715610ed057634e487b7160e01b600052604160045260246000fd5b604052823581526020928301359281019290925250919050565b8015158114610d6057600080fd5b600080600060608486031215610f0d57600080fd5b83359250602084013591506040840135610f2681610eea565b809150509250925092565b600060208284031215610f4357600080fd5b5051919050565b600060208284031215610f5c57600080fd5b815161061581610e0d565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610f9457610f94610f67565b92915050565b600082610fb757634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610f9457610f94610f67565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610ff757600080fd5b815161061581610eea565b80820180821115610f9457610f94610f6756fea2646970667358221220a640dd793d501933ebb2af9c694d144cacfac5c21b3eb00e051ec855e2bec3cd64736f6c634300081100330000000000000000000000000b2659734121feb636534213a159ac91691edbde

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063c8d236061161008c578063d989a53b11610066578063d989a53b146101a5578063dbed1e88146101b8578063f2ccf056146101e4578063f2fde38b1461023b57600080fd5b8063c8d2360614610157578063d16911ba1461017f578063d64545d91461019257600080fd5b806313ae1e5b146100d4578063715018a6146100fa5780638da5cb5b14610104578063a69df4b514610129578063b237faf914610131578063c67543e914610144575b600080fd5b6100e76100e2366004610e22565b61024e565b6040519081526020015b60405180910390f35b610102610441565b005b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100f1565b610102610455565b6100e761013f366004610e3f565b6104e4565b610102610152366004610e22565b61061c565b61016a610165366004610e74565b610646565b604080519283526020830191909152016100f1565b61010261018d366004610e8d565b610674565b6101026101a0366004610ef8565b610726565b600354610111906001600160a01b031681565b6100e76101c6366004610e22565b6001600160a01b031660009081526002602052604090206001015490565b61021b6101f2366004610e22565b600260208190526000918252604090912080546001820154928201546003909201549092919084565b6040805194855260208501939093529183015260608201526080016100f1565b610102610249366004610e22565b610cea565b60035460405163af500ba360e01b81526001600160a01b038381166004830152600092839291169063af500ba390602401602060405180830381865afa15801561029c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c09190610f31565b90506000600360009054906101000a90046001600160a01b03166001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033b9190610f31565b9050811580610348575080155b15610357575060009392505050565b60035460408051639730875360e01b8152905183926001600160a01b03169163973087539160048083019260209291908290030181865afa1580156103a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c49190610f4a565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610401573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104259190610f31565b61042f9084610f7d565b6104399190610f9a565b949350505050565b610449610d63565b6104536000610dbd565b565b336000908152600260205260409020600181015442116104a25760405162461bcd60e51b8152602060048201526003602482015262544e4d60e81b60448201526064015b60405180910390fd5b80546040805191825242602083015233917ff7870c5b224cbc19873599e46ccfc7103934650509b1af0c3ce90138377c2004910160405180910390a260009055565b6001600160a01b03831660009081526002602081815260408084208151608081018352815481526001820154938101849052938101549184019190915260030154606083015280851015806105395750838510155b8061054357508151155b1561055357600092505050610615565b600061055e8761024e565b9050806000036105745760009350505050610615565b6001600160a01b038716600090815260026020526040902060030154828611801561059e57508242115b156105e35760008642116105b257426105b4565b865b90506105c08882610fbc565b826105cb8a87610fbc565b6105d59190610f7d565b6105df9190610f9a565b9150505b835182116105f657935061061592505050565b835182906106049083610f7d565b61060e9190610f9a565b9450505050505b9392505050565b610624610d63565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001818154811061065657600080fd5b60009182526020909120600290910201805460019091015490915082565b61067c610d63565b600180548082018255600091909152815160029091027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6810182905560208301517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf79091018190556040517ff243b3c3db48511c3a48b7d0662940ba673132d19f1bcd79d50ed445e0bce23b9261071b92908252602082015260400190565b60405180910390a150565b60015483106107775760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964206c6f636b2073657474696e672049440000000000000000006044820152606401610499565b60006001848154811061078c5761078c610fcf565b6000918252602080832060408051808201825260029485029092018054835260019081015483850152338652848452948190208151608081018352815481529581015493860184905293840154908501526003909201546060840152909250421015610888578151604082015111156108885760405162461bcd60e51b815260206004820152605260248201527f596f7572206c6f636b2d696e20706572696f6420686173206e6f7420656e646560448201527f642c20616e6420746865207465726d2063616e206f6e6c792062652065787465606482015271373232b216103737ba103932b23ab1b2b21760711b608482015260a401610499565b8215610a9f57600360009054906101000a90046001600160a01b03166001600160a01b0316638afe540c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109059190610f4a565b604051632770a7eb60e21b8152336004820152602481018690526001600160a01b039190911690639dc29fac906044016020604051808303816000875af1158015610954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109789190610fe5565b50600360009054906101000a90046001600160a01b03166001600160a01b031663973087536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f09190610f4a565b6040516340c10f1960e01b8152336004820152602481018690526001600160a01b0391909116906340c10f19906044016020604051808303816000875af1158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190610fe5565b506040805185815242602082015233917f0528cde2c67617f93e5ba994b14d34131c7027d844573ebbdb78ba556cbd94f6910160405180910390a25b8051610aac908590611002565b600360009054906101000a90046001600160a01b03166001600160a01b031663973087536040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b239190610f4a565b6040516370a0823160e01b81523360048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015610b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8d9190610f31565b1015610bc05760405162461bcd60e51b815260206004820152600260248201526124a160f11b6044820152606401610499565b60035460405163fce67e0d60e01b81523360048201526001600160a01b039091169063fce67e0d90602401600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b505050506040518060800160405280858360000151610c389190611002565b8152602001836000015142610c4d9190611002565b8152835160208083019190915280850180516040938401523360008181526002808552908590208651808255878601516001830155878701519282018390556060978801516003909201919091558851935186519182529481019190915293840191909152928201527f70131146d6fec3f367c6f7d17364f2c1031793e4283e3bb57b2629a4aa45e7d99060800160405180910390a25050505050565b610cf2610d63565b6001600160a01b038116610d575760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610499565b610d6081610dbd565b50565b6000546001600160a01b031633146104535760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610499565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610d6057600080fd5b600060208284031215610e3457600080fd5b813561061581610e0d565b600080600060608486031215610e5457600080fd5b8335610e5f81610e0d565b95602085013595506040909401359392505050565b600060208284031215610e8657600080fd5b5035919050565b600060408284031215610e9f57600080fd5b6040516040810181811067ffffffffffffffff82111715610ed057634e487b7160e01b600052604160045260246000fd5b604052823581526020928301359281019290925250919050565b8015158114610d6057600080fd5b600080600060608486031215610f0d57600080fd5b83359250602084013591506040840135610f2681610eea565b809150509250925092565b600060208284031215610f4357600080fd5b5051919050565b600060208284031215610f5c57600080fd5b815161061581610e0d565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610f9457610f94610f67565b92915050565b600082610fb757634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610f9457610f94610f67565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610ff757600080fd5b815161061581610eea565b80820180821115610f9457610f94610f6756fea2646970667358221220a640dd793d501933ebb2af9c694d144cacfac5c21b3eb00e051ec855e2bec3cd64736f6c63430008110033

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

0000000000000000000000000b2659734121feb636534213a159ac91691edbde

-----Decoded View---------------
Arg [0] : _miningIncentives (address): 0x0B2659734121FeB636534213a159AC91691eDbde

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000b2659734121feb636534213a159ac91691edbde


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.