ETH Price: $3,312.40 (+1.24%)
Gas: 4 Gwei

Contract

0x8b4A30c8884ca4AfF1E4c82Cce79802a63E61397
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim184285522023-10-25 16:50:47278 days ago1698252647IN
0x8b4A30c8...a63E61397
0 ETH0.0020176443
Claim174634372023-06-12 10:38:35413 days ago1686566315IN
0x8b4A30c8...a63E61397
0 ETH0.0017308816.985589
Claim174606242023-06-12 1:09:35413 days ago1686532175IN
0x8b4A30c8...a63E61397
0 ETH0.0023584215.82294677
Claim173799002023-05-31 15:59:59425 days ago1685548799IN
0x8b4A30c8...a63E61397
0 ETH0.0035936545.12886645
Claim173792972023-05-31 13:57:11425 days ago1685541431IN
0x8b4A30c8...a63E61397
0 ETH0.0038848637.09871566
Claim173777972023-05-31 8:54:23425 days ago1685523263IN
0x8b4A30c8...a63E61397
0 ETH0.0023549127.83747661
Claim173386722023-05-25 20:56:47430 days ago1685048207IN
0x8b4A30c8...a63E61397
0 ETH0.0023889330
Claim173381592023-05-25 19:12:59431 days ago1685041979IN
0x8b4A30c8...a63E61397
0 ETH0.0042149449.82497182
Claim173313002023-05-24 20:03:35431 days ago1684958615IN
0x8b4A30c8...a63E61397
0 ETH0.0032967638.97121436
Claim173309722023-05-24 18:57:35432 days ago1684954655IN
0x8b4A30c8...a63E61397
0 ETH0.003857645.6009032
Claim173284672023-05-24 10:31:23432 days ago1684924283IN
0x8b4A30c8...a63E61397
0 ETH0.0028279533.42939255
Claim172769682023-05-17 4:23:47439 days ago1684297427IN
0x8b4A30c8...a63E61397
0 ETH0.0043623751.56775452
Claim172361812023-05-11 9:20:23445 days ago1683796823IN
0x8b4A30c8...a63E61397
0 ETH0.0075963589.79678751
Claim171589542023-04-30 12:46:59456 days ago1682858819IN
0x8b4A30c8...a63E61397
0 ETH0.0029395234.74818994
Claim171523022023-04-29 14:19:35457 days ago1682777975IN
0x8b4A30c8...a63E61397
0 ETH0.0036217542.81287214
Claim171511872023-04-29 10:33:35457 days ago1682764415IN
0x8b4A30c8...a63E61397
0 ETH0.0028451533.63267717
Claim171395822023-04-27 19:26:47458 days ago1682623607IN
0x8b4A30c8...a63E61397
0 ETH0.0032146138
Claim171380452023-04-27 14:15:47459 days ago1682604947IN
0x8b4A30c8...a63E61397
0 ETH0.0044070140.98900757
Claim171319962023-04-26 17:49:59460 days ago1682531399IN
0x8b4A30c8...a63E61397
0 ETH0.0032436238.34296881
Claim171185692023-04-24 20:38:23461 days ago1682368703IN
0x8b4A30c8...a63E61397
0 ETH0.0042627850.39046406
Claim171016172023-04-22 11:34:23464 days ago1682163263IN
0x8b4A30c8...a63E61397
0 ETH0.0025886230.60022859
Claim170760322023-04-18 20:50:47467 days ago1681851047IN
0x8b4A30c8...a63E61397
0 ETH0.0049463758.47126997
Claim170739602023-04-18 13:49:11468 days ago1681825751IN
0x8b4A30c8...a63E61397
0 ETH0.0044835553.00020282
Claim170629362023-04-17 0:21:23469 days ago1681690883IN
0x8b4A30c8...a63E61397
0 ETH0.0020706124.47675929
Claim170624912023-04-16 22:50:23469 days ago1681685423IN
0x8b4A30c8...a63E61397
0 ETH0.0020448324.1719977
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:
GROHodler

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license
File 1 of 3 : GROHodler.sol
// SPDX-License-Identifier: AGPLv3
pragma solidity 0.8.4;

import "@openzeppelin/contracts/access/Ownable.sol";

interface IHodler {
    function totalBonus() external view returns (uint256);

    function correctionAmount() external view returns (uint256);

    function claimDelay() external view returns (uint256);

    function maintainer() external view returns (address);

    function userClaims(address account) external view returns (uint256);
}

interface IVester {
    function vestingBalance(address _account) external view returns (uint256);

    function totalGroove() external view returns (uint256);

    function vest(
        bool vest,
        address account,
        uint256 amount
    ) external;
}

/// @notice GRP vesting bonus claims contract - Where all unvested GRO are returned if user exits vesting contract early
contract GROHodler is Ownable {
    uint256 public constant DEFAULT_DECIMAL_FACTOR = 1E18;
    // The main vesting contract
    address public vester;
    // Total amount of unvested GRO that has been tossed aside
    uint256 public totalBonus;
    // Estimation of total unvested GRO can become unreliable if there is a significant
    //  amount of users who have vesting periods that exceed their vesting end date.
    //  We use a manual correction variable to deal with this issue for now.
    uint256 public correctionAmount;
    // How long you have to wait between claims
    uint256 public claimDelay;
    // Contract that can help maintain the bonus contract by adjusting variables
    address public maintainer;

    // keep track of users last claim
    mapping(address => uint256) public userClaims;
    bool public paused = true;

    IHodler public oldHodler;

    event LogBonusAdded(uint256 amount);
    event LogBonusClaimed(address indexed user, bool vest, uint256 amount);
    event LogNewClaimDelay(uint256 delay);
    event LogNewCorrectionVariable(uint256 correction);
    event LogNewMaintainer(address newMaintainer);
    event LogNewStatus(bool status);

    constructor(address _vester, IHodler _oldHodler) {
        vester = _vester;
        if (address(_oldHodler) != address(0)) {
            oldHodler = _oldHodler;
            totalBonus = _oldHodler.totalBonus();
            correctionAmount = _oldHodler.correctionAmount();
            claimDelay = _oldHodler.claimDelay();
            maintainer = _oldHodler.maintainer();
        }
    }

    /// @notice every time a users exits a vesting position, the penalty gets added to this contract
    /// @param amount user penealty amount
    function add(uint256 amount) external {
        require(msg.sender == vester);
        totalBonus += amount;
        emit LogBonusAdded(amount);
    }

    function setVester(address _vester) external onlyOwner {
        vester = _vester;
    }

    /// @notice Set a new maintainer
    /// @param newMaintainer address of new maintainer
    /// @dev Maintainer will mostly be used to be able to change the correctionValue
    ///  on short notice, as this can change on short notice depending on if users interact with
    ///  their position in the vesting contract
    function setMaintainer(address newMaintainer) external onlyOwner {
        maintainer = newMaintainer;
        emit LogNewMaintainer(newMaintainer);
    }

    /// @notice Start or stop the bonus contract
    /// @param pause Contract Pause state
    function setStatus(bool pause) external {
        require(msg.sender == maintainer || msg.sender == owner(), "setCorrectionVariable: !authorized");
        paused = pause;
        emit LogNewStatus(pause);
    }

    /// @notice maintainer can correct total amount of vested GRO to adjust for drift of central curve vs user curves
    /// @param newCorrection a positive number to deduct from the unvested GRO to correct for central drift
    function setCorrectionVariable(uint256 newCorrection) external {
        require(msg.sender == maintainer || msg.sender == owner(), "setCorrectionVariable: !authorized");
        require(newCorrection <= IVester(vester).totalGroove(), "setCorrectionVariable: correctionAmount to large");
        correctionAmount = newCorrection;
        emit LogNewCorrectionVariable(newCorrection);
    }

    /// @notice after every bonus claim, a user has to wait some time before they can claim again
    /// @param delay time delay until next claim is possible
    function setClaimDelay(uint256 delay) external onlyOwner {
        claimDelay = delay;
        emit LogNewClaimDelay(delay);
    }

    /// @notice Ease of use function to get users pending bonus
    function getPendingBonus() external view returns (uint256) {
        return getPendingBonus(msg.sender);
    }

    /// @notice Get the pending bonus a user can claim
    /// @param user user to get pending bonus for
    function getPendingBonus(address user) public view returns (uint256) {
        uint256 userGroove = IVester(vester).vestingBalance(user);
        // if the user doesnt have a vesting position, they cannot claim
        if (userGroove == 0) {
            return 0;
        }
        // if for some reason the user has a larger vesting position than the
        //  current vesting position - correctionAmount, then give them the whole bonus.
        // This should only happen if: theres only one vesting position, someone forgot to
        // update the correctionAmount;
        uint256 globalGroove = IVester(vester).totalGroove() - correctionAmount;
        if (userGroove >= globalGroove) {
            return totalBonus;
        }
        uint256 userAmount = (userGroove * totalBonus) / globalGroove;
        return userAmount;
    }

    /// @notice User claims available bonus
    function claim(bool vest) external returns (uint256) {
        // user cannot claim if they have claimed recently or the contract is paused
        if (getLastClaimTime(msg.sender) + claimDelay >= block.timestamp || paused) {
            return 0;
        }
        uint256 userAmount = getPendingBonus(msg.sender);
        if (userAmount > 0) {
            userClaims[msg.sender] = block.timestamp;
            totalBonus -= userAmount;
            IVester(vester).vest(vest, msg.sender, userAmount);
            emit LogBonusClaimed(msg.sender, vest, userAmount);
        }
        return userAmount;
    }

    function canClaim() external view returns (bool) {
        if (getLastClaimTime(msg.sender) + claimDelay >= block.timestamp || paused) {
            return false;
        }
        return true;
    }

    function getLastClaimTime(address account) public view returns (uint256 lastClaimTime) {
        lastClaimTime = userClaims[account];
        if (lastClaimTime == 0 && address(oldHodler) != address(0)) {
            lastClaimTime = oldHodler.userClaims(account);
        }
    }
}

File 2 of 3 : Ownable.sol
// SPDX-License-Identifier: MIT

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() {
        _setOwner(_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 {
        _setOwner(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");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 3 of 3 : Context.sol
// SPDX-License-Identifier: MIT

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;
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_vester","type":"address"},{"internalType":"contract IHodler","name":"_oldHodler","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LogBonusAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"vest","type":"bool"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LogBonusClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"delay","type":"uint256"}],"name":"LogNewClaimDelay","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"correction","type":"uint256"}],"name":"LogNewCorrectionVariable","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newMaintainer","type":"address"}],"name":"LogNewMaintainer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"LogNewStatus","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"},{"inputs":[],"name":"DEFAULT_DECIMAL_FACTOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"canClaim","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"vest","type":"bool"}],"name":"claim","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"correctionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getLastClaimTime","outputs":[{"internalType":"uint256","name":"lastClaimTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPendingBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getPendingBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maintainer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oldHodler","outputs":[{"internalType":"contract IHodler","name":"","type":"address"}],"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":"uint256","name":"delay","type":"uint256"}],"name":"setClaimDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newCorrection","type":"uint256"}],"name":"setCorrectionVariable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMaintainer","type":"address"}],"name":"setMaintainer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"pause","type":"bool"}],"name":"setStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_vester","type":"address"}],"name":"setVester","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userClaims","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vester","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040526007805460ff191660011790553480156200001e57600080fd5b506040516200107238038062001072833981016040819052620000419162000320565b6200004c33620002aa565b600180546001600160a01b0319166001600160a01b0384811691909117909155811615620002a25780600760016101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b031663a8dd07dc6040518163ffffffff1660e01b815260040160206040518083038186803b158015620000d557600080fd5b505afa158015620000ea573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200011091906200035e565b600281905550806001600160a01b03166308826e216040518163ffffffff1660e01b815260040160206040518083038186803b1580156200015057600080fd5b505afa15801562000165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018b91906200035e565b600381905550806001600160a01b0316631c8ec2996040518163ffffffff1660e01b815260040160206040518083038186803b158015620001cb57600080fd5b505afa158015620001e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020691906200035e565b600481905550806001600160a01b0316639850d32b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024657600080fd5b505afa1580156200025b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002819190620002fa565b600580546001600160a01b0319166001600160a01b03929092169190911790555b505062000390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200030c578081fd5b8151620003198162000377565b9392505050565b6000806040838503121562000333578081fd5b8251620003408162000377565b6020840151909250620003538162000377565b809150509250929050565b60006020828403121562000370578081fd5b5051919050565b6001600160a01b03811681146200038d57600080fd5b50565b610cd280620003a06000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063a8dd07dc1161007c578063a8dd07dc1461029a578063b8bde9fd146102a3578063dad5fda3146102b2578063f0a3563c146102c5578063f2fde38b146102e5578063fc22833e146102f857600080fd5b8063715018a614610218578063735da138146102205780638da5cb5b14610250578063919f015e146102615780639850d32b14610274578063a680e0bc1461028757600080fd5b80633a1920f7116101155780633a1920f7146101b2578063421c40b6146101c55780635af9fec9146101d85780635c40f6f4146101e05780635c975abb146101f35780636dc7a6271461021057600080fd5b806308826e21146101525780631003e2d21461016e57806313ea5d29146101835780631c8ec299146101965780632d81a78e1461019f575b600080fd5b61015b60035481565b6040519081526020015b60405180910390f35b61018161017c366004610b71565b61030b565b005b610181610191366004610b23565b610370565b61015b60045481565b61015b6101ad366004610b51565b6103f1565b6101816101c0366004610b71565b610512565b6101816101d3366004610b23565b610571565b61015b6105bd565b6101816101ee366004610b51565b6105cd565b6007546102009060ff1681565b6040519015158152602001610165565b61020061064d565b610181610686565b6007546102389061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610165565b6000546001600160a01b0316610238565b61018161026f366004610b71565b6106bc565b600554610238906001600160a01b031681565b61015b610295366004610b23565b61081e565b61015b60025481565b61015b670de0b6b3a764000081565b600154610238906001600160a01b031681565b61015b6102d3366004610b23565b60066020526000908152604090205481565b6101816102f3366004610b23565b6108e4565b61015b610306366004610b23565b61097f565b6001546001600160a01b0316331461032257600080fd5b80600260008282546103349190610c18565b90915550506040518181527f75c27fa4ab8b98fec58533e5dd93874d1d25401a6822c48e2219703f23688f38906020015b60405180910390a150565b6000546001600160a01b031633146103a35760405162461bcd60e51b815260040161039a90610ba1565b60405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040519081527f28f0f69230c9da82a7c364541a685327c4505bfbc5a1516d54f54ba4d0f4eedb90602001610365565b6000426004546104003361081e565b61040a9190610c18565b101580610419575060075460ff165b1561042657506000919050565b60006104313361097f565b9050801561050c573360009081526006602052604081204290556002805483929061045d908490610c6f565b9091555050600154604051635ef09f2760e01b81528415156004820152336024820152604481018390526001600160a01b0390911690635ef09f2790606401600060405180830381600087803b1580156104b657600080fd5b505af11580156104ca573d6000803e3d6000fd5b5050604080518615158152602081018590523393507f71bfea0e692c49a87eab390d7b7a26e264efcc6c088f5e86366fe0a6e4ffd4b592500160405180910390a25b92915050565b6000546001600160a01b0316331461053c5760405162461bcd60e51b815260040161039a90610ba1565b60048190556040518181527f0fada3ead0e441e2bdf469c12159dc95640fbb2b71e358fdc620d6a76ff7ec7690602001610365565b6000546001600160a01b0316331461059b5760405162461bcd60e51b815260040161039a90610ba1565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006105c83361097f565b905090565b6005546001600160a01b03163314806105f057506000546001600160a01b031633145b61060c5760405162461bcd60e51b815260040161039a90610bd6565b6007805460ff19168215159081179091556040519081527f8ed37d5750d522fcc0f63be53513dca1de3245250790be9afb92a8cc8e9777b190602001610365565b60004260045461065c3361081e565b6106669190610c18565b101580610675575060075460ff165b156106805750600090565b50600190565b6000546001600160a01b031633146106b05760405162461bcd60e51b815260040161039a90610ba1565b6106ba6000610ad3565b565b6005546001600160a01b03163314806106df57506000546001600160a01b031633145b6106fb5760405162461bcd60e51b815260040161039a90610bd6565b600160009054906101000a90046001600160a01b03166001600160a01b031663e01aff4e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561074957600080fd5b505afa15801561075d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107819190610b89565b8111156107e95760405162461bcd60e51b815260206004820152603060248201527f736574436f7272656374696f6e5661726961626c653a20636f7272656374696f60448201526f6e416d6f756e7420746f206c6172676560801b606482015260840161039a565b60038190556040518181527fd6d5ddfb32ef684c983b5cfc8627c874593050ba98a032022e5c72701b0e574290602001610365565b6001600160a01b03811660009081526006602052604090205480158015610854575060075461010090046001600160a01b031615155b156108df57600754604051633c28d58f60e21b81526001600160a01b0384811660048301526101009092049091169063f0a3563c9060240160206040518083038186803b1580156108a457600080fd5b505afa1580156108b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dc9190610b89565b90505b919050565b6000546001600160a01b0316331461090e5760405162461bcd60e51b815260040161039a90610ba1565b6001600160a01b0381166109735760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039a565b61097c81610ad3565b50565b60015460405163192399d160e01b81526001600160a01b038381166004830152600092839291169063192399d19060240160206040518083038186803b1580156109c857600080fd5b505afa1580156109dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a009190610b89565b905080610a105750600092915050565b6003546001546040805163700d7fa760e11b81529051600093926001600160a01b03169163e01aff4e916004808301926020929190829003018186803b158015610a5957600080fd5b505afa158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a919190610b89565b610a9b9190610c6f565b9050808210610aaf57505060025492915050565b60008160025484610ac09190610c50565b610aca9190610c30565b95945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610b34578081fd5b81356001600160a01b0381168114610b4a578182fd5b9392505050565b600060208284031215610b62578081fd5b81358015158114610b4a578182fd5b600060208284031215610b82578081fd5b5035919050565b600060208284031215610b9a578081fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526022908201527f736574436f7272656374696f6e5661726961626c653a2021617574686f72697a604082015261195960f21b606082015260800190565b60008219821115610c2b57610c2b610c86565b500190565b600082610c4b57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615610c6a57610c6a610c86565b500290565b600082821015610c8157610c81610c86565b500390565b634e487b7160e01b600052601160045260246000fdfea26469706673582212207b857418df2f3598bcfa4f6149d2a4bbf703d44f4ca64c0b41f58cd201c8576564736f6c63430008040033000000000000000000000000748218256afe0a19a88ebeb2e0c5ce86d2178360000000000000000000000000ef10eac205817a88c6d504d02481053e85a8f927

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063a8dd07dc1161007c578063a8dd07dc1461029a578063b8bde9fd146102a3578063dad5fda3146102b2578063f0a3563c146102c5578063f2fde38b146102e5578063fc22833e146102f857600080fd5b8063715018a614610218578063735da138146102205780638da5cb5b14610250578063919f015e146102615780639850d32b14610274578063a680e0bc1461028757600080fd5b80633a1920f7116101155780633a1920f7146101b2578063421c40b6146101c55780635af9fec9146101d85780635c40f6f4146101e05780635c975abb146101f35780636dc7a6271461021057600080fd5b806308826e21146101525780631003e2d21461016e57806313ea5d29146101835780631c8ec299146101965780632d81a78e1461019f575b600080fd5b61015b60035481565b6040519081526020015b60405180910390f35b61018161017c366004610b71565b61030b565b005b610181610191366004610b23565b610370565b61015b60045481565b61015b6101ad366004610b51565b6103f1565b6101816101c0366004610b71565b610512565b6101816101d3366004610b23565b610571565b61015b6105bd565b6101816101ee366004610b51565b6105cd565b6007546102009060ff1681565b6040519015158152602001610165565b61020061064d565b610181610686565b6007546102389061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610165565b6000546001600160a01b0316610238565b61018161026f366004610b71565b6106bc565b600554610238906001600160a01b031681565b61015b610295366004610b23565b61081e565b61015b60025481565b61015b670de0b6b3a764000081565b600154610238906001600160a01b031681565b61015b6102d3366004610b23565b60066020526000908152604090205481565b6101816102f3366004610b23565b6108e4565b61015b610306366004610b23565b61097f565b6001546001600160a01b0316331461032257600080fd5b80600260008282546103349190610c18565b90915550506040518181527f75c27fa4ab8b98fec58533e5dd93874d1d25401a6822c48e2219703f23688f38906020015b60405180910390a150565b6000546001600160a01b031633146103a35760405162461bcd60e51b815260040161039a90610ba1565b60405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040519081527f28f0f69230c9da82a7c364541a685327c4505bfbc5a1516d54f54ba4d0f4eedb90602001610365565b6000426004546104003361081e565b61040a9190610c18565b101580610419575060075460ff165b1561042657506000919050565b60006104313361097f565b9050801561050c573360009081526006602052604081204290556002805483929061045d908490610c6f565b9091555050600154604051635ef09f2760e01b81528415156004820152336024820152604481018390526001600160a01b0390911690635ef09f2790606401600060405180830381600087803b1580156104b657600080fd5b505af11580156104ca573d6000803e3d6000fd5b5050604080518615158152602081018590523393507f71bfea0e692c49a87eab390d7b7a26e264efcc6c088f5e86366fe0a6e4ffd4b592500160405180910390a25b92915050565b6000546001600160a01b0316331461053c5760405162461bcd60e51b815260040161039a90610ba1565b60048190556040518181527f0fada3ead0e441e2bdf469c12159dc95640fbb2b71e358fdc620d6a76ff7ec7690602001610365565b6000546001600160a01b0316331461059b5760405162461bcd60e51b815260040161039a90610ba1565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006105c83361097f565b905090565b6005546001600160a01b03163314806105f057506000546001600160a01b031633145b61060c5760405162461bcd60e51b815260040161039a90610bd6565b6007805460ff19168215159081179091556040519081527f8ed37d5750d522fcc0f63be53513dca1de3245250790be9afb92a8cc8e9777b190602001610365565b60004260045461065c3361081e565b6106669190610c18565b101580610675575060075460ff165b156106805750600090565b50600190565b6000546001600160a01b031633146106b05760405162461bcd60e51b815260040161039a90610ba1565b6106ba6000610ad3565b565b6005546001600160a01b03163314806106df57506000546001600160a01b031633145b6106fb5760405162461bcd60e51b815260040161039a90610bd6565b600160009054906101000a90046001600160a01b03166001600160a01b031663e01aff4e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561074957600080fd5b505afa15801561075d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107819190610b89565b8111156107e95760405162461bcd60e51b815260206004820152603060248201527f736574436f7272656374696f6e5661726961626c653a20636f7272656374696f60448201526f6e416d6f756e7420746f206c6172676560801b606482015260840161039a565b60038190556040518181527fd6d5ddfb32ef684c983b5cfc8627c874593050ba98a032022e5c72701b0e574290602001610365565b6001600160a01b03811660009081526006602052604090205480158015610854575060075461010090046001600160a01b031615155b156108df57600754604051633c28d58f60e21b81526001600160a01b0384811660048301526101009092049091169063f0a3563c9060240160206040518083038186803b1580156108a457600080fd5b505afa1580156108b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dc9190610b89565b90505b919050565b6000546001600160a01b0316331461090e5760405162461bcd60e51b815260040161039a90610ba1565b6001600160a01b0381166109735760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039a565b61097c81610ad3565b50565b60015460405163192399d160e01b81526001600160a01b038381166004830152600092839291169063192399d19060240160206040518083038186803b1580156109c857600080fd5b505afa1580156109dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a009190610b89565b905080610a105750600092915050565b6003546001546040805163700d7fa760e11b81529051600093926001600160a01b03169163e01aff4e916004808301926020929190829003018186803b158015610a5957600080fd5b505afa158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a919190610b89565b610a9b9190610c6f565b9050808210610aaf57505060025492915050565b60008160025484610ac09190610c50565b610aca9190610c30565b95945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610b34578081fd5b81356001600160a01b0381168114610b4a578182fd5b9392505050565b600060208284031215610b62578081fd5b81358015158114610b4a578182fd5b600060208284031215610b82578081fd5b5035919050565b600060208284031215610b9a578081fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526022908201527f736574436f7272656374696f6e5661726961626c653a2021617574686f72697a604082015261195960f21b606082015260800190565b60008219821115610c2b57610c2b610c86565b500190565b600082610c4b57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615610c6a57610c6a610c86565b500290565b600082821015610c8157610c81610c86565b500390565b634e487b7160e01b600052601160045260246000fdfea26469706673582212207b857418df2f3598bcfa4f6149d2a4bbf703d44f4ca64c0b41f58cd201c8576564736f6c63430008040033

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

000000000000000000000000748218256afe0a19a88ebeb2e0c5ce86d2178360000000000000000000000000ef10eac205817a88c6d504d02481053e85a8f927

-----Decoded View---------------
Arg [0] : _vester (address): 0x748218256AfE0A19a88EBEB2E0C5Ce86d2178360
Arg [1] : _oldHodler (address): 0xEf10eac205817A88C6d504d02481053E85A8F927

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000748218256afe0a19a88ebeb2e0c5ce86d2178360
Arg [1] : 000000000000000000000000ef10eac205817a88c6d504d02481053e85a8f927


Deployed Bytecode Sourcemap

843:5953:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1342:31;;;;;;;;;3996:25:3;;;3984:2;3969:18;1342:31:0;;;;;;;;2567:150;;;;;;:::i;:::-;;:::i;:::-;;3139:154;;;;;;:::i;:::-;;:::i;1427:25::-;;;;;;5697:608;;;;;;:::i;:::-;;:::i;4387:130::-;;;;;;:::i;:::-;;:::i;2723:88::-;;;;;;:::i;:::-;;:::i;4587:110::-;;;:::i;3390:211::-;;;;;;:::i;:::-;;:::i;1660:25::-;;;;;;;;;;;;1390:14:3;;1383:22;1365:41;;1353:2;1338:18;1660:25:0;1320:92:3;6311:199:0;;;:::i;1605:92:1:-;;;:::i;1692:24:0:-;;;;;;;;-1:-1:-1;;;;;1692:24:0;;;;;;-1:-1:-1;;;;;1181:32:3;;;1163:51;;1151:2;1136:18;1692:24:0;1118:102:3;973:85:1;1019:7;1045:6;-1:-1:-1;;;;;1045:6:1;973:85;;3833:389:0;;;;;;:::i;:::-;;:::i;1539:25::-;;;;;-1:-1:-1;;;;;1539:25:0;;;6516:278;;;;;;:::i;:::-;;:::i;1061:25::-;;;;;;879:53;;928:4;879:53;;971:21;;;;;-1:-1:-1;;;;;971:21:0;;;1609:45;;;;;;:::i;:::-;;;;;;;;;;;;;;1846:189:1;;;;;;:::i;:::-;;:::i;4808:839:0:-;;;;;;:::i;:::-;;:::i;2567:150::-;2637:6;;-1:-1:-1;;;;;2637:6:0;2623:10;:20;2615:29;;;;;;2668:6;2654:10;;:20;;;;;;;:::i;:::-;;;;-1:-1:-1;;2689:21:0;;3996:25:3;;;2689:21:0;;3984:2:3;3969:18;2689:21:0;;;;;;;;2567:150;:::o;3139:154::-;1019:7:1;1045:6;-1:-1:-1;;;;;1045:6:1;666:10:2;1185:23:1;1177:68;;;;-1:-1:-1;;;1177:68:1;;;;;;;:::i;:::-;;;;;;;;;3214:10:0::1;:26:::0;;-1:-1:-1;;;;;;3214:26:0::1;-1:-1:-1::0;;;;;3214:26:0;::::1;::::0;;::::1;::::0;;;3255:31:::1;::::0;1163:51:3;;;3255:31:0::1;::::0;1151:2:3;1136:18;3255:31:0::1;1118:102:3::0;5697:608:0;5741:7;5894:15;5880:10;;5849:28;5866:10;5849:16;:28::i;:::-;:41;;;;:::i;:::-;:60;;:70;;;-1:-1:-1;5913:6:0;;;;5849:70;5845:109;;;-1:-1:-1;5942:1:0;;5697:608;-1:-1:-1;5697:608:0:o;5845:109::-;5963:18;5984:27;6000:10;5984:15;:27::i;:::-;5963:48;-1:-1:-1;6025:14:0;;6021:251;;6066:10;6055:22;;;;:10;:22;;;;;6080:15;6055:40;;6109:10;:24;;6123:10;;6055:22;6109:24;;6123:10;;6109:24;:::i;:::-;;;;-1:-1:-1;;6155:6:0;;6147:50;;-1:-1:-1;;;6147:50:0;;1638:14:3;;1631:22;6147:50:0;;;1613:41:3;6174:10:0;1670:18:3;;;1663:60;1739:18;;;1732:34;;;-1:-1:-1;;;;;6155:6:0;;;;6147:20;;1586:18:3;;6147:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6216:45:0;;;1970:14:3;;1963:22;1945:41;;2017:2;2002:18;;1995:34;;;6232:10:0;;-1:-1:-1;6216:45:0;;-1:-1:-1;1918:18:3;6216:45:0;;;;;;;6021:251;6288:10;5697:608;-1:-1:-1;;5697:608:0:o;4387:130::-;1019:7:1;1045:6;-1:-1:-1;;;;;1045:6:1;666:10:2;1185:23:1;1177:68;;;;-1:-1:-1;;;1177:68:1;;;;;;;:::i;:::-;4454:10:0::1;:18:::0;;;4487:23:::1;::::0;3996:25:3;;;4487:23:0::1;::::0;3984:2:3;3969:18;4487:23:0::1;3951:76:3::0;2723:88:0;1019:7:1;1045:6;-1:-1:-1;;;;;1045:6:1;666:10:2;1185:23:1;1177:68;;;;-1:-1:-1;;;1177:68:1;;;;;;;:::i;:::-;2788:6:0::1;:16:::0;;-1:-1:-1;;;;;;2788:16:0::1;-1:-1:-1::0;;;;;2788:16:0;;;::::1;::::0;;;::::1;::::0;;2723:88::o;4587:110::-;4637:7;4663:27;4679:10;4663:15;:27::i;:::-;4656:34;;4587:110;:::o;3390:211::-;3462:10;;-1:-1:-1;;;;;3462:10:0;3448;:24;;:49;;-1:-1:-1;1019:7:1;1045:6;-1:-1:-1;;;;;1045:6:1;3476:10:0;:21;3448:49;3440:96;;;;-1:-1:-1;;;3440:96:0;;;;;;;:::i;:::-;3546:6;:14;;-1:-1:-1;;3546:14:0;;;;;;;;;;3575:19;;1365:41:3;;;3575:19:0;;1353:2:3;1338:18;3575:19:0;1320:92:3;6311:199:0;6354:4;6419:15;6405:10;;6374:28;6391:10;6374:16;:28::i;:::-;:41;;;;:::i;:::-;:60;;:70;;;-1:-1:-1;6438:6:0;;;;6374:70;6370:113;;;-1:-1:-1;6467:5:0;;6311:199::o;6370:113::-;-1:-1:-1;6499:4:0;;6311:199::o;1605:92:1:-;1019:7;1045:6;-1:-1:-1;;;;;1045:6:1;666:10:2;1185:23:1;1177:68;;;;-1:-1:-1;;;1177:68:1;;;;;;;:::i;:::-;1669:21:::1;1687:1;1669:9;:21::i;:::-;1605:92::o:0;3833:389:0:-;3928:10;;-1:-1:-1;;;;;3928:10:0;3914;:24;;:49;;-1:-1:-1;1019:7:1;1045:6;-1:-1:-1;;;;;1045:6:1;3942:10:0;:21;3914:49;3906:96;;;;-1:-1:-1;;;3906:96:0;;;;;;;:::i;:::-;4045:6;;;;;;;;;-1:-1:-1;;;;;4045:6:0;-1:-1:-1;;;;;4037:27:0;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4020:13;:46;;4012:107;;;;-1:-1:-1;;;4012:107:0;;2871:2:3;4012:107:0;;;2853:21:3;2910:2;2890:18;;;2883:30;2949:34;2929:18;;;2922:62;-1:-1:-1;;;3000:18:3;;;2993:46;3056:19;;4012:107:0;2843:238:3;4012:107:0;4129:16;:32;;;4176:39;;3996:25:3;;;4176:39:0;;3984:2:3;3969:18;4176:39:0;3951:76:3;6516:278:0;-1:-1:-1;;;;;6629:19:0;;6580:21;6629:19;;;:10;:19;;;;;;6662:18;;:54;;;;-1:-1:-1;6692:9:0;;;;;-1:-1:-1;;;;;6692:9:0;6684:32;;6662:54;6658:130;;;6748:9;;:29;;-1:-1:-1;;;6748:29:0;;-1:-1:-1;;;;;1181:32:3;;;6748:29:0;;;1163:51:3;6748:9:0;;;;;;;;:20;;1136:18:3;;6748:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6732:45;;6658:130;6516:278;;;:::o;1846:189:1:-;1019:7;1045:6;-1:-1:-1;;;;;1045:6:1;666:10:2;1185:23:1;1177:68;;;;-1:-1:-1;;;1177:68:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;1934:22:1;::::1;1926:73;;;::::0;-1:-1:-1;;;1926:73:1;;2464:2:3;1926:73:1::1;::::0;::::1;2446:21:3::0;2503:2;2483:18;;;2476:30;2542:34;2522:18;;;2515:62;-1:-1:-1;;;2593:18:3;;;2586:36;2639:19;;1926:73:1::1;2436:228:3::0;1926:73:1::1;2009:19;2019:8;2009:9;:19::i;:::-;1846:189:::0;:::o;4808:839:0:-;4916:6;;4908:36;;-1:-1:-1;;;4908:36:0;;-1:-1:-1;;;;;1181:32:3;;;4908:36:0;;;1163:51:3;4868:7:0;;;;4916:6;;;4908:30;;1136:18:3;;4908:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4887:57;-1:-1:-1;5031:15:0;5027:54;;-1:-1:-1;5069:1:0;;4808:839;-1:-1:-1;;4808:839:0:o;5027:54::-;5443:16;;5419:6;;5411:29;;;-1:-1:-1;;;5411:29:0;;;;5388:20;;5443:16;-1:-1:-1;;;;;5419:6:0;;5411:27;;:29;;;;;;;;;;;;;;5419:6;5411:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;;;;:::i;:::-;5388:71;;5487:12;5473:10;:26;5469:74;;-1:-1:-1;;5522:10:0;;;4808:839;-1:-1:-1;;4808:839:0:o;5469:74::-;5552:18;5601:12;5587:10;;5574;:23;;;;:::i;:::-;5573:40;;;;:::i;:::-;5552:61;4808:839;-1:-1:-1;;;;;4808:839:0:o;2041:169:1:-;2096:16;2115:6;;-1:-1:-1;;;;;2131:17:1;;;-1:-1:-1;;;;;;2131:17:1;;;;;;2163:40;;2115:6;;;;;;;2163:40;;2096:16;2163:40;2041:169;;:::o;14:306:3:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;178:23;;-1:-1:-1;;;;;230:31:3;;220:42;;210:2;;281:6;273;266:22;210:2;309:5;84:236;-1:-1:-1;;;84:236:3:o;325:293::-;381:6;434:2;422:9;413:7;409:23;405:32;402:2;;;455:6;447;440:22;402:2;499:9;486:23;552:5;545:13;538:21;531:5;528:32;518:2;;579:6;571;564:22;623:190;682:6;735:2;723:9;714:7;710:23;706:32;703:2;;;756:6;748;741:22;703:2;-1:-1:-1;784:23:3;;693:120;-1:-1:-1;693:120:3:o;818:194::-;888:6;941:2;929:9;920:7;916:23;912:32;909:2;;;962:6;954;947:22;909:2;-1:-1:-1;990:16:3;;899:113;-1:-1:-1;899:113:3:o;3086:356::-;3288:2;3270:21;;;3307:18;;;3300:30;3366:34;3361:2;3346:18;;3339:62;3433:2;3418:18;;3260:182::o;3447:398::-;3649:2;3631:21;;;3688:2;3668:18;;;3661:30;3727:34;3722:2;3707:18;;3700:62;-1:-1:-1;;;3793:2:3;3778:18;;3771:32;3835:3;3820:19;;3621:224::o;4032:128::-;4072:3;4103:1;4099:6;4096:1;4093:13;4090:2;;;4109:18;;:::i;:::-;-1:-1:-1;4145:9:3;;4080:80::o;4165:217::-;4205:1;4231;4221:2;;-1:-1:-1;;;4256:31:3;;4310:4;4307:1;4300:15;4338:4;4263:1;4328:15;4221:2;-1:-1:-1;4367:9:3;;4211:171::o;4387:168::-;4427:7;4493:1;4489;4485:6;4481:14;4478:1;4475:21;4470:1;4463:9;4456:17;4452:45;4449:2;;;4500:18;;:::i;:::-;-1:-1:-1;4540:9:3;;4439:116::o;4560:125::-;4600:4;4628:1;4625;4622:8;4619:2;;;4633:18;;:::i;:::-;-1:-1:-1;4670:9:3;;4609:76::o;4690:127::-;4751:10;4746:3;4742:20;4739:1;4732:31;4782:4;4779:1;4772:15;4806:4;4803:1;4796:15

Swarm Source

ipfs://7b857418df2f3598bcfa4f6149d2a4bbf703d44f4ca64c0b41f58cd201c85765

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.