ETH Price: $2,227.06 (-5.46%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Get Reward132648912021-09-20 20:45:461596 days ago1632170746IN
0xCADEA5B8...09f49dbc7
0 ETH0.0071952478.66492223
Exit132648832021-09-20 20:43:511596 days ago1632170631IN
0xCADEA5B8...09f49dbc7
0 ETH0.0089886662.74283489
Withdraw132480192021-09-18 6:17:411599 days ago1631945861IN
0xCADEA5B8...09f49dbc7
0 ETH0.0078972660
Exit132314572021-09-15 16:41:281602 days ago1631724088IN
0xCADEA5B8...09f49dbc7
0 ETH0.0244828961
Get Reward132284812021-09-15 5:50:071602 days ago1631685007IN
0xCADEA5B8...09f49dbc7
0 ETH0.0034251337.4467023
Exit132282772021-09-15 5:00:241602 days ago1631682024IN
0xCADEA5B8...09f49dbc7
0 ETH0.0149316737.6531074
Withdraw132213292021-09-14 3:10:461603 days ago1631589046IN
0xCADEA5B8...09f49dbc7
0 ETH0.007594351.06409433
Withdraw132162562021-09-13 8:24:441604 days ago1631521484IN
0xCADEA5B8...09f49dbc7
0 ETH0.010407169.98162076
Exit131967562021-09-10 7:48:441607 days ago1631260124IN
0xCADEA5B8...09f49dbc7
0 ETH0.0117397281.94584255
Exit131964442021-09-10 6:36:281607 days ago1631255788IN
0xCADEA5B8...09f49dbc7
0 ETH0.0283955772
Exit131928502021-09-09 17:24:221608 days ago1631208262IN
0xCADEA5B8...09f49dbc7
0 ETH0.04822708120.15947771
Withdraw131887242021-09-09 1:51:341608 days ago1631152294IN
0xCADEA5B8...09f49dbc7
0 ETH0.0122454195.0870939
Exit131874602021-09-08 21:11:231608 days ago1631135483IN
0xCADEA5B8...09f49dbc7
0 ETH0.02607367181.99994518
Exit131841872021-09-08 9:00:541609 days ago1631091654IN
0xCADEA5B8...09f49dbc7
0 ETH0.0116588581.38133888
Exit131833972021-09-08 6:12:071609 days ago1631081527IN
0xCADEA5B8...09f49dbc7
0 ETH0.0332779687.73914025
Exit131829432021-09-08 4:36:021609 days ago1631075762IN
0xCADEA5B8...09f49dbc7
0 ETH0.02306518161
Exit131816392021-09-07 23:43:281609 days ago1631058208IN
0xCADEA5B8...09f49dbc7
0 ETH0.0114609680
Exit131754252021-09-07 0:26:481610 days ago1630974408IN
0xCADEA5B8...09f49dbc7
0 ETH0.0128815689.91613553
Withdraw131743522021-09-06 20:34:191610 days ago1630960459IN
0xCADEA5B8...09f49dbc7
0 ETH0.01438742131.81693551
Withdraw131742012021-09-06 19:59:311610 days ago1630958371IN
0xCADEA5B8...09f49dbc7
0 ETH0.01764985148.6766569
Withdraw131708172021-09-06 7:21:391611 days ago1630912899IN
0xCADEA5B8...09f49dbc7
0 ETH0.01411707101
Withdraw131570972021-09-04 4:36:141613 days ago1630730174IN
0xCADEA5B8...09f49dbc7
0 ETH0.01238997101
Withdraw131470932021-09-02 15:26:301615 days ago1630596390IN
0xCADEA5B8...09f49dbc7
0 ETH0.02376517175
Withdraw131470532021-09-02 15:16:261615 days ago1630595786IN
0xCADEA5B8...09f49dbc7
0 ETH0.02488277157
Get Reward131423172021-09-01 21:59:351615 days ago1630533575IN
0xCADEA5B8...09f49dbc7
0 ETH0.04505542131.90955721
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
-129770652021-08-07 9:20:171641 days ago1628328017  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
Gauge

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU LGPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2021-08-07
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.6;

library Math {
    function max(uint a, uint b) internal pure returns (uint) {
        return a >= b ? a : b;
    }
    function min(uint a, uint b) internal pure returns (uint) {
        return a < b ? a : b;
    }
}

interface erc20 {
    function totalSupply() external view returns (uint256);
    function transfer(address recipient, uint amount) external returns (bool);
    function decimals() external view returns (uint8);
    function balanceOf(address) external view returns (uint);
    function transferFrom(address sender, address recipient, uint amount) external returns (bool);
    function approve(address spender, uint value) external returns (bool);
}

interface ve {
    function locked__end(address) external view returns (uint);
    function deposit_for(address, uint) external;
}

interface delegate {
    function get_adjusted_ve_balance(address, address) external view returns (uint);
}

contract Gauge {
    address constant _ibff = 0xb347132eFf18a3f63426f4988ef626d2CbE274F5;
    address constant _veibff = 0x4D0518C9136025903751209dDDdf6C67067357b1;
    address constant _delegate = 0x0ea89fb2E5b8FA8F14b741ffe1A4617A32611DfC;
    address constant _vedist = 0x15E61581AFa2707bca42Bae529387eEa11f68E6e;
    
    uint constant DURATION = 7 days;
    uint constant PRECISION = 10 ** 18;
    uint constant MAXTIME = 4 * 365 * 86400;
    
    address public immutable stake;
    address immutable distribution;
    
    uint public rewardRate;
    uint public periodFinish;
    uint public lastUpdateTime;
    uint public rewardPerTokenStored;
    
    modifier onlyDistribution() {
        require(msg.sender == distribution);
        _;
    }
    
    mapping(address => uint) public userRewardPerTokenPaid;
    mapping(address => uint) public rewards;

    uint public totalSupply;
    uint public derivedSupply;
    mapping(address => uint) public balanceOf;
    mapping(address => uint) public derivedBalances;
    
    constructor(address _stake) {
        stake = _stake;
        distribution = msg.sender;
    }

    function lastTimeRewardApplicable() public view returns (uint) {
        return Math.min(block.timestamp, periodFinish);
    }

    function rewardPerToken() public view returns (uint) {
        if (totalSupply == 0) {
            return rewardPerTokenStored;
        }
        return rewardPerTokenStored + ((lastTimeRewardApplicable() - lastUpdateTime) * rewardRate * PRECISION / derivedSupply);
    }
    
    function derivedBalance(address account) public view returns (uint) {
        uint _balance = balanceOf[account];
        uint _derived = _balance * 40 / 100;
        uint _adjusted = (totalSupply * delegate(_delegate).get_adjusted_ve_balance(account, address(this)) / erc20(_veibff).totalSupply()) * 60 / 100;
        return Math.min(_derived + _adjusted, _balance);
    }
    
    function kick(address account) public {
        uint _derivedBalance = derivedBalances[account];
        derivedSupply -= _derivedBalance;
        _derivedBalance = derivedBalance(account);
        derivedBalances[account] = _derivedBalance;
        derivedSupply += _derivedBalance;
    }

    function earned(address account) public view returns (uint) {
        return (derivedBalances[account] * (rewardPerToken() - userRewardPerTokenPaid[account]) / PRECISION) + rewards[account];
    }

    function getRewardForDuration() external view returns (uint) {
        return rewardRate * DURATION;
    }
    
    function deposit() external {
        _deposit(erc20(stake).balanceOf(msg.sender), msg.sender);
    }
    
    function deposit(uint amount) external {
        _deposit(amount, msg.sender);
    }
    
    function deposit(uint amount, address account) external {
        _deposit(amount, account);
    }
    
    function _deposit(uint amount, address account) internal updateReward(account) {
        totalSupply += amount;
        balanceOf[account] += amount;
        _safeTransferFrom(stake, account, address(this), amount);
    }
    
    function withdraw() external {
        _withdraw(balanceOf[msg.sender]);
    }

    function withdraw(uint amount) external {
        _withdraw(amount);
    }
    
    function _withdraw(uint amount) internal updateReward(msg.sender) {
        totalSupply -= amount;
        balanceOf[msg.sender] -= amount;
        _safeTransfer(stake, msg.sender, amount);
    }

    function getReward() public updateReward(msg.sender) {
        uint _reward = rewards[msg.sender];
        uint _user_lock = ve(_veibff).locked__end(msg.sender);
        uint _adj = Math.min(_reward * (_user_lock - block.timestamp) / MAXTIME, _reward);
        if (_adj > 0) {
            rewards[msg.sender] = 0;
            _safeTransfer(_ibff, msg.sender, _adj);
            ve(_veibff).deposit_for(msg.sender, _adj);
            _safeTransfer(_ibff, _vedist, _reward - _adj);
        }
    }

    function exit() external {
       _withdraw(balanceOf[msg.sender]);
        getReward();
    }
    
    function notifyRewardAmount(uint amount) external onlyDistribution updateReward(address(0)) {
        if (block.timestamp >= periodFinish) {
            rewardRate = amount / DURATION;
        } else {
            uint _remaining = periodFinish - block.timestamp;
            uint _left = _remaining * rewardRate;
            rewardRate = (amount + _left) / DURATION;
        }
        
        lastUpdateTime = block.timestamp;
        periodFinish = block.timestamp + DURATION;
    }

    modifier updateReward(address account) {
        rewardPerTokenStored = rewardPerToken();
        lastUpdateTime = lastTimeRewardApplicable();
        if (account != address(0)) {
            rewards[account] = earned(account);
            userRewardPerTokenPaid[account] = rewardPerTokenStored;
        }
        _;
        if (account != address(0)) {
            kick(account);
        }
    }
    
    function _safeTransfer(address token, address to, uint256 value) internal {
        (bool success, bytes memory data) =
            token.call(abi.encodeWithSelector(erc20.transfer.selector, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))));
    }
    
    function _safeTransferFrom(address token, address from, address to, uint256 value) internal {
        (bool success, bytes memory data) =
            token.call(abi.encodeWithSelector(erc20.transferFrom.selector, from, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))));
    }
}

contract GaugeProxy {
    address constant _ibff = 0xb347132eFf18a3f63426f4988ef626d2CbE274F5;
    address constant _delegate = 0x0ea89fb2E5b8FA8F14b741ffe1A4617A32611DfC;
    address constant ZERO_ADDRESS = 0x0000000000000000000000000000000000000000;
    
    uint public totalWeight;
    
    address public gov;
    address public nextgov;
    uint public commitgov;
    uint public constant delay = 1 days;
    
    address[] internal _tokens;
    mapping(address => address) public gauges; // token => gauge
    mapping(address => uint) public weights; // token => weight
    mapping(address => mapping(address => uint)) public votes; // msg.sender => votes
    mapping(address => address[]) public tokenVote;// msg.sender => token
    mapping(address => uint) public usedWeights;  // msg.sender => total voting weight of user
    mapping(address => bool) public enabled;
    
    function tokens() external view returns (address[] memory) {
        return _tokens;
    }
    
    constructor() {
        gov = msg.sender;
    }
    
    modifier g() {
        require(msg.sender == gov);
        _;
    }
    
    function setGov(address _gov) external g {
        nextgov = _gov;
        commitgov = block.timestamp + delay;
    }
    
    function acceptGov() external {
        require(msg.sender == nextgov && commitgov < block.timestamp);
        gov = nextgov;
    }
    
    function reset() external {
        _reset(msg.sender);
    }
    
    function _reset(address _owner) internal {
        address[] storage _tokenVote = tokenVote[_owner];
        uint _tokenVoteCnt = _tokenVote.length;

        for (uint i = 0; i < _tokenVoteCnt; i ++) {
            address _token = _tokenVote[i];
            uint _votes = votes[_owner][_token];
            
            if (_votes > 0) {
                totalWeight -= _votes;
                weights[_token] -= _votes;
                votes[_owner][_token] = 0;
            }
        }

        delete tokenVote[_owner];
    }
    
    function poke(address _owner) public {
        address[] memory _tokenVote = tokenVote[_owner];
        uint _tokenCnt = _tokenVote.length;
        uint[] memory _weights = new uint[](_tokenCnt);
        
        uint _prevUsedWeight = usedWeights[_owner];
        uint _weight = delegate(_delegate).get_adjusted_ve_balance(_owner, ZERO_ADDRESS);

        for (uint i = 0; i < _tokenCnt; i ++) {
            uint _prevWeight = votes[_owner][_tokenVote[i]];
            _weights[i] = _prevWeight * _weight / _prevUsedWeight;
        }

        _vote(_owner, _tokenVote, _weights);
    }
    
    function _vote(address _owner, address[] memory _tokenVote, uint[] memory _weights) internal {
        // _weights[i] = percentage * 100
        _reset(_owner);
        uint _tokenCnt = _tokenVote.length;
        uint _weight = delegate(_delegate).get_adjusted_ve_balance(_owner, ZERO_ADDRESS);
        uint _totalVoteWeight = 0;
        uint _usedWeight = 0;

        for (uint i = 0; i < _tokenCnt; i ++) {
            _totalVoteWeight += _weights[i];
        }

        for (uint i = 0; i < _tokenCnt; i ++) {
            address _token = _tokenVote[i];
            address _gauge = gauges[_token];
            uint _tokenWeight = _weights[i] * _weight / _totalVoteWeight;

            if (_gauge != address(0x0)) {
                _usedWeight += _tokenWeight;
                totalWeight += _tokenWeight;
                weights[_token] += _tokenWeight;
                tokenVote[_owner].push(_token);
                votes[_owner][_token] = _tokenWeight;
            }
        }

        usedWeights[_owner] = _usedWeight;
    }
    
    function vote(address[] calldata _tokenVote, uint[] calldata _weights) external {
        require(_tokenVote.length == _weights.length);
        _vote(msg.sender, _tokenVote, _weights);
    }
    
    function addGauge(address _token) external g {
        require(gauges[_token] == address(0x0), "exists");
        address _gauge = address(new Gauge(_token));
        gauges[_token] = _gauge;
        enabled[_token] = true;
        _tokens.push(_token);
    }
    
    function disable(address _token) external g {
        enabled[_token] = false;
    }
    
    function enable(address _token) external g {
        enabled[_token] = true;
    }
    
    function length() external view returns (uint) {
        return _tokens.length;
    }
    
    function distribute() external {
        uint _balance = erc20(_ibff).balanceOf(address(this));
        if (_balance > 0 && totalWeight > 0) {
            uint _totalWeight = totalWeight;
            for (uint i = 0; i < _tokens.length; i++) {
                if (!enabled[_tokens[i]]) {
                    _totalWeight -= weights[_tokens[i]];
                }
            }
            for (uint x = 0; x < _tokens.length; x++) {
                if (enabled[_tokens[x]]) {
                    uint _reward = _balance * weights[_tokens[x]] / _totalWeight;
                    if (_reward > 0) {
                        address _gauge = gauges[_tokens[x]];
                        _safeTransfer(_ibff, _gauge, _reward);
                        Gauge(_gauge).notifyRewardAmount(_reward);
                    }
                }
            }
        }
    }
    
    function _safeTransfer(address token, address to, uint256 value) internal {
        (bool success, bytes memory data) =
            token.call(abi.encodeWithSelector(erc20.transfer.selector, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))));
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_stake","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"derivedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"derivedBalances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"derivedSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getRewardForDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"kick","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stake","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c060405234801561001057600080fd5b5060405161108538038061108583398101604081905261002f9161004c565b6001600160601b0319606091821b1660805233901b60a05261007c565b60006020828403121561005e57600080fd5b81516001600160a01b038116811461007557600080fd5b9392505050565b60805160601c60a05160601c610fc96100bc60003960006103ea0152600081816101e80152818161084d01528181610b230152610cf60152610fc96000f3fe608060405234801561001057600080fd5b50600436106101725760003560e01c80637b0a47ee116100de578063cd3daf9d11610097578063d7da4bb011610071578063d7da4bb01461031b578063df136d6514610324578063e9fad8ee1461032d578063ebe2b12b1461033557600080fd5b8063cd3daf9d146102f8578063d0e30db014610300578063d35e25441461030857600080fd5b80637b0a47ee1461029857806380faa57d146102a15780638b876347146102a957806396c55175146102c9578063b6b55f25146102dc578063c8f33c91146102ef57600080fd5b80633c6b16ab116101305780633c6b16ab146102225780633ccfd60b146102355780633d18b9121461023d57806363fb415b146102455780636e553f651461026557806370a082311461027857600080fd5b80628cc262146101775780630700037d1461019d57806318160ddd146101bd5780631c1f78eb146101c65780632e1a7d4d146101ce5780633a4b66f1146101e3575b600080fd5b61018a610185366004610e37565b61033e565b6040519081526020015b60405180910390f35b61018a6101ab366004610e37565b60056020526000908152604090205481565b61018a60065481565b61018a6103bb565b6101e16101dc366004610e74565b6103d3565b005b61020a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610194565b6101e1610230366004610e74565b6103df565b6101e1610502565b6101e161051d565b61018a610253366004610e37565b60096020526000908152604090205481565b6101e1610273366004610ea6565b610739565b61018a610286366004610e37565b60086020526000908152604090205481565b61018a60005481565b61018a610743565b61018a6102b7366004610e37565b60046020526000908152604090205481565b6101e16102d7366004610e37565b610751565b6101e16102ea366004610e74565b6107c7565b61018a60025481565b61018a6107d1565b6101e1610834565b61018a610316366004610e37565b6108d5565b61018a60075481565b61018a60035481565b6101e1610a66565b61018a60015481565b6001600160a01b0381166000908152600560209081526040808320546004909252822054670de0b6b3a7640000906103746107d1565b61037e9190610f66565b6001600160a01b0385166000908152600960205260409020546103a19190610f47565b6103ab9190610f25565b6103b59190610f0d565b92915050565b600062093a806000546103ce9190610f47565b905090565b6103dc81610a87565b50565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461041457600080fd5b600061041e6107d1565b600355610429610743565b6002556001600160a01b03811615610470576104448161033e565b6001600160a01b0382166000908152600560209081526040808320939093556003546004909152919020555b600154421061048e5761048662093a8083610f25565b6000556104cf565b60004260015461049e9190610f66565b905060008054826104af9190610f47565b905062093a806104bf8286610f0d565b6104c99190610f25565b60005550505b4260028190556104e39062093a8090610f0d565b6001556001600160a01b038116156104fe576104fe81610751565b5050565b3360009081526008602052604090205461051b90610a87565b565b336105266107d1565b600355610531610743565b6002556001600160a01b038116156105785761054c8161033e565b6001600160a01b0382166000908152600560209081526040808320939093556003546004909152919020555b3360008181526005602052604080822054905163adc6358960e01b8152600481019390935291734d0518c9136025903751209ddddf6c67067357b19063adc635899060240160206040518083038186803b1580156105d557600080fd5b505afa1580156105e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060d9190610e8d565b9050600061063d630784ce006106234285610f66565b61062d9086610f47565b6106379190610f25565b84610b61565b9050801561071e57336000818152600560205260408120556106759073b347132eff18a3f63426f4988ef626d2cbe274f59083610b79565b604051631d23139f60e11b815233600482015260248101829052734d0518c9136025903751209ddddf6c67067357b190633a46273e90604401600060405180830381600087803b1580156106c857600080fd5b505af11580156106dc573d6000803e3d6000fd5b5050505061071e73b347132eff18a3f63426f4988ef626d2cbe274f57315e61581afa2707bca42bae529387eea11f68e6e83866107199190610f66565b610b79565b5050506001600160a01b038116156103dc576103dc81610751565b6104fe8282610c51565b60006103ce42600154610b61565b6001600160a01b038116600090815260096020526040812054600780549192839261077d908490610f66565b9091555061078c9050826108d5565b6001600160a01b03831660009081526009602052604081208290556007805492935083929091906107be908490610f0d565b90915550505050565b6103dc8133610c51565b6000600654600014156107e5575060035490565b600754670de0b6b3a76400006000546002546107ff610743565b6108099190610f66565b6108139190610f47565b61081d9190610f47565b6108279190610f25565b6003546103ce9190610f0d565b6040516370a0823160e01b815233600482015261051b907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561089757600080fd5b505afa1580156108ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cf9190610e8d565b33610c51565b6001600160a01b0381166000908152600860205260408120548160646108fc836028610f47565b6109069190610f25565b905060006064734d0518c9136025903751209ddddf6c67067357b16001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561095957600080fd5b505afa15801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190610e8d565b60405163057e116160e41b81526001600160a01b0388166004820152306024820152730ea89fb2e5b8fa8f14b741ffe1a4617a32611dfc906357e116109060440160206040518083038186803b1580156109ea57600080fd5b505afa1580156109fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a229190610e8d565b600654610a2f9190610f47565b610a399190610f25565b610a4490603c610f47565b610a4e9190610f25565b9050610a5d6106378284610f0d565b95945050505050565b33600090815260086020526040902054610a7f90610a87565b61051b61051d565b33610a906107d1565b600355610a9b610743565b6002556001600160a01b03811615610ae257610ab68161033e565b6001600160a01b0382166000908152600560209081526040808320939093556003546004909152919020555b8160066000828254610af49190610f66565b90915550503360009081526008602052604081208054849290610b18908490610f66565b90915550610b4990507f00000000000000000000000000000000000000000000000000000000000000003384610b79565b6001600160a01b038116156104fe576104fe81610751565b6000818310610b705781610b72565b825b9392505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691610bd59190610ed2565b6000604051808303816000865af19150503d8060008114610c12576040519150601f19603f3d011682016040523d82523d6000602084013e610c17565b606091505b5091509150818015610c41575080511580610c41575080806020019051810190610c419190610e52565b610c4a57600080fd5b5050505050565b80610c5a6107d1565b600355610c65610743565b6002556001600160a01b03811615610cac57610c808161033e565b6001600160a01b0382166000908152600560209081526040808320939093556003546004909152919020555b8260066000828254610cbe9190610f0d565b90915550506001600160a01b03821660009081526008602052604081208054859290610ceb908490610f0d565b90915550610d1d90507f0000000000000000000000000000000000000000000000000000000000000000833086610d3a565b6001600160a01b03811615610d3557610d3581610751565b505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151600092839290881691610d9e9190610ed2565b6000604051808303816000865af19150503d8060008114610ddb576040519150601f19603f3d011682016040523d82523d6000602084013e610de0565b606091505b5091509150818015610e0a575080511580610e0a575080806020019051810190610e0a9190610e52565b610e1357600080fd5b505050505050565b80356001600160a01b0381168114610e3257600080fd5b919050565b600060208284031215610e4957600080fd5b610b7282610e1b565b600060208284031215610e6457600080fd5b81518015158114610b7257600080fd5b600060208284031215610e8657600080fd5b5035919050565b600060208284031215610e9f57600080fd5b5051919050565b60008060408385031215610eb957600080fd5b82359150610ec960208401610e1b565b90509250929050565b6000825160005b81811015610ef35760208186018101518583015201610ed9565b81811115610f02576000828501525b509190910192915050565b60008219821115610f2057610f20610f7d565b500190565b600082610f4257634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610f6157610f61610f7d565b500290565b600082821015610f7857610f78610f7d565b500390565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220cdacb81f1121fbb0a0dbdf5c5576234971a6f8b43424475cfad7a9d1f0237a4464736f6c634300080600330000000000000000000000008461a004b50d321cb22b7d034969ce6803911899

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101725760003560e01c80637b0a47ee116100de578063cd3daf9d11610097578063d7da4bb011610071578063d7da4bb01461031b578063df136d6514610324578063e9fad8ee1461032d578063ebe2b12b1461033557600080fd5b8063cd3daf9d146102f8578063d0e30db014610300578063d35e25441461030857600080fd5b80637b0a47ee1461029857806380faa57d146102a15780638b876347146102a957806396c55175146102c9578063b6b55f25146102dc578063c8f33c91146102ef57600080fd5b80633c6b16ab116101305780633c6b16ab146102225780633ccfd60b146102355780633d18b9121461023d57806363fb415b146102455780636e553f651461026557806370a082311461027857600080fd5b80628cc262146101775780630700037d1461019d57806318160ddd146101bd5780631c1f78eb146101c65780632e1a7d4d146101ce5780633a4b66f1146101e3575b600080fd5b61018a610185366004610e37565b61033e565b6040519081526020015b60405180910390f35b61018a6101ab366004610e37565b60056020526000908152604090205481565b61018a60065481565b61018a6103bb565b6101e16101dc366004610e74565b6103d3565b005b61020a7f0000000000000000000000008461a004b50d321cb22b7d034969ce680391189981565b6040516001600160a01b039091168152602001610194565b6101e1610230366004610e74565b6103df565b6101e1610502565b6101e161051d565b61018a610253366004610e37565b60096020526000908152604090205481565b6101e1610273366004610ea6565b610739565b61018a610286366004610e37565b60086020526000908152604090205481565b61018a60005481565b61018a610743565b61018a6102b7366004610e37565b60046020526000908152604090205481565b6101e16102d7366004610e37565b610751565b6101e16102ea366004610e74565b6107c7565b61018a60025481565b61018a6107d1565b6101e1610834565b61018a610316366004610e37565b6108d5565b61018a60075481565b61018a60035481565b6101e1610a66565b61018a60015481565b6001600160a01b0381166000908152600560209081526040808320546004909252822054670de0b6b3a7640000906103746107d1565b61037e9190610f66565b6001600160a01b0385166000908152600960205260409020546103a19190610f47565b6103ab9190610f25565b6103b59190610f0d565b92915050565b600062093a806000546103ce9190610f47565b905090565b6103dc81610a87565b50565b336001600160a01b037f00000000000000000000000090aab6c9d887a7ff8320e56fbd1f4ff80a0811d5161461041457600080fd5b600061041e6107d1565b600355610429610743565b6002556001600160a01b03811615610470576104448161033e565b6001600160a01b0382166000908152600560209081526040808320939093556003546004909152919020555b600154421061048e5761048662093a8083610f25565b6000556104cf565b60004260015461049e9190610f66565b905060008054826104af9190610f47565b905062093a806104bf8286610f0d565b6104c99190610f25565b60005550505b4260028190556104e39062093a8090610f0d565b6001556001600160a01b038116156104fe576104fe81610751565b5050565b3360009081526008602052604090205461051b90610a87565b565b336105266107d1565b600355610531610743565b6002556001600160a01b038116156105785761054c8161033e565b6001600160a01b0382166000908152600560209081526040808320939093556003546004909152919020555b3360008181526005602052604080822054905163adc6358960e01b8152600481019390935291734d0518c9136025903751209ddddf6c67067357b19063adc635899060240160206040518083038186803b1580156105d557600080fd5b505afa1580156105e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060d9190610e8d565b9050600061063d630784ce006106234285610f66565b61062d9086610f47565b6106379190610f25565b84610b61565b9050801561071e57336000818152600560205260408120556106759073b347132eff18a3f63426f4988ef626d2cbe274f59083610b79565b604051631d23139f60e11b815233600482015260248101829052734d0518c9136025903751209ddddf6c67067357b190633a46273e90604401600060405180830381600087803b1580156106c857600080fd5b505af11580156106dc573d6000803e3d6000fd5b5050505061071e73b347132eff18a3f63426f4988ef626d2cbe274f57315e61581afa2707bca42bae529387eea11f68e6e83866107199190610f66565b610b79565b5050506001600160a01b038116156103dc576103dc81610751565b6104fe8282610c51565b60006103ce42600154610b61565b6001600160a01b038116600090815260096020526040812054600780549192839261077d908490610f66565b9091555061078c9050826108d5565b6001600160a01b03831660009081526009602052604081208290556007805492935083929091906107be908490610f0d565b90915550505050565b6103dc8133610c51565b6000600654600014156107e5575060035490565b600754670de0b6b3a76400006000546002546107ff610743565b6108099190610f66565b6108139190610f47565b61081d9190610f47565b6108279190610f25565b6003546103ce9190610f0d565b6040516370a0823160e01b815233600482015261051b907f0000000000000000000000008461a004b50d321cb22b7d034969ce68039118996001600160a01b0316906370a082319060240160206040518083038186803b15801561089757600080fd5b505afa1580156108ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cf9190610e8d565b33610c51565b6001600160a01b0381166000908152600860205260408120548160646108fc836028610f47565b6109069190610f25565b905060006064734d0518c9136025903751209ddddf6c67067357b16001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561095957600080fd5b505afa15801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190610e8d565b60405163057e116160e41b81526001600160a01b0388166004820152306024820152730ea89fb2e5b8fa8f14b741ffe1a4617a32611dfc906357e116109060440160206040518083038186803b1580156109ea57600080fd5b505afa1580156109fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a229190610e8d565b600654610a2f9190610f47565b610a399190610f25565b610a4490603c610f47565b610a4e9190610f25565b9050610a5d6106378284610f0d565b95945050505050565b33600090815260086020526040902054610a7f90610a87565b61051b61051d565b33610a906107d1565b600355610a9b610743565b6002556001600160a01b03811615610ae257610ab68161033e565b6001600160a01b0382166000908152600560209081526040808320939093556003546004909152919020555b8160066000828254610af49190610f66565b90915550503360009081526008602052604081208054849290610b18908490610f66565b90915550610b4990507f0000000000000000000000008461a004b50d321cb22b7d034969ce68039118993384610b79565b6001600160a01b038116156104fe576104fe81610751565b6000818310610b705781610b72565b825b9392505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691610bd59190610ed2565b6000604051808303816000865af19150503d8060008114610c12576040519150601f19603f3d011682016040523d82523d6000602084013e610c17565b606091505b5091509150818015610c41575080511580610c41575080806020019051810190610c419190610e52565b610c4a57600080fd5b5050505050565b80610c5a6107d1565b600355610c65610743565b6002556001600160a01b03811615610cac57610c808161033e565b6001600160a01b0382166000908152600560209081526040808320939093556003546004909152919020555b8260066000828254610cbe9190610f0d565b90915550506001600160a01b03821660009081526008602052604081208054859290610ceb908490610f0d565b90915550610d1d90507f0000000000000000000000008461a004b50d321cb22b7d034969ce6803911899833086610d3a565b6001600160a01b03811615610d3557610d3581610751565b505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151600092839290881691610d9e9190610ed2565b6000604051808303816000865af19150503d8060008114610ddb576040519150601f19603f3d011682016040523d82523d6000602084013e610de0565b606091505b5091509150818015610e0a575080511580610e0a575080806020019051810190610e0a9190610e52565b610e1357600080fd5b505050505050565b80356001600160a01b0381168114610e3257600080fd5b919050565b600060208284031215610e4957600080fd5b610b7282610e1b565b600060208284031215610e6457600080fd5b81518015158114610b7257600080fd5b600060208284031215610e8657600080fd5b5035919050565b600060208284031215610e9f57600080fd5b5051919050565b60008060408385031215610eb957600080fd5b82359150610ec960208401610e1b565b90509250929050565b6000825160005b81811015610ef35760208186018101518583015201610ed9565b81811115610f02576000828501525b509190910192915050565b60008219821115610f2057610f20610f7d565b500190565b600082610f4257634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610f6157610f61610f7d565b500290565b600082821015610f7857610f78610f7d565b500390565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220cdacb81f1121fbb0a0dbdf5c5576234971a6f8b43424475cfad7a9d1f0237a4464736f6c63430008060033

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

0000000000000000000000008461a004b50d321cb22b7d034969ce6803911899

-----Decoded View---------------
Arg [0] : _stake (address): 0x8461A004b50d321CB22B7d034969cE6803911899

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008461a004b50d321cb22b7d034969ce6803911899


Deployed Bytecode Sourcemap

998:5725:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3286:198;;;;;;:::i;:::-;;:::i;:::-;;;3051:25:1;;;3039:2;3024:18;3286:198:0;;;;;;;;1846:39;;;;;;:::i;:::-;;;;;;;;;;;;;;1894:23;;;;;;3492:108;;;:::i;4262:76::-;;;;;;:::i;:::-;;:::i;:::-;;1461:30;;;;;;;;-1:-1:-1;;;;;1893:32:1;;;;1875:51;;1863:2;1848:18;1461:30:0;1830:102:1;5179:496:0;;;;;;:::i;:::-;;:::i;4174:80::-;;;:::i;4557:505::-;;;:::i;2004:47::-;;;;;;:::i;:::-;;;;;;;;;;;;;;3825:100;;;;;;:::i;:::-;;:::i;1956:41::-;;;;;;:::i;:::-;;;;;;;;;;;;;;1541:22;;;;;;2169:128;;;:::i;1785:54::-;;;;;;:::i;:::-;;;;;;;;;;;;;;2983:295;;;;;;:::i;:::-;;:::i;3727:86::-;;;;;;:::i;:::-;;:::i;1601:26::-;;;;;;2305:276;;;:::i;3612:103::-;;;:::i;2593:378::-;;;;;;:::i;:::-;;:::i;1924:25::-;;;;;;1634:32;;;;;;5070:97;;;:::i;1570:24::-;;;;;;3286:198;-1:-1:-1;;;;;3460:16:0;;3340:4;3460:16;;;:7;:16;;;;;;;;;3412:22;:31;;;;;;1394:8;;3393:16;:14;:16::i;:::-;:50;;;;:::i;:::-;-1:-1:-1;;;;;3365:24:0;;;;;;:15;:24;;;;;;:79;;;;:::i;:::-;:91;;;;:::i;:::-;3364:112;;;;:::i;:::-;3357:119;3286:198;-1:-1:-1;;3286:198:0:o;3492:108::-;3547:4;1355:6;3571:10;;:21;;;;:::i;:::-;3564:28;;3492:108;:::o;4262:76::-;4313:17;4323:6;4313:9;:17::i;:::-;4262:76;:::o;5179:496::-;1740:12;-1:-1:-1;;;;;1726:26:0;:10;:26;1718:35;;;;;;5267:1:::1;5756:16;:14;:16::i;:::-;5733:20;:39:::0;5800:26:::1;:24;:26::i;:::-;5783:14;:43:::0;-1:-1:-1;;;;;5841:21:0;::::1;::::0;5837:157:::1;;5898:15;5905:7;5898:6;:15::i;:::-;-1:-1:-1::0;;;;;5879:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;;;:34;;;;5962:20:::1;::::0;5928:22:::1;:31:::0;;;;;;:54;5837:157:::1;5305:12:::2;;5286:15;:31;5282:281;;5347:17;1355:6;5347::::0;:17:::2;:::i;:::-;5334:10;:30:::0;5282:281:::2;;;5397:15;5430;5415:12;;:30;;;;:::i;:::-;5397:48;;5460:10;5486::::0;::::2;5473;:23;;;;:::i;:::-;5460:36:::0;-1:-1:-1;1355:6:0::2;5525:14;5460:36:::0;5525:6;:14:::2;:::i;:::-;5524:27;;;;:::i;:::-;5511:10;:40:::0;-1:-1:-1;;5282:281:0::2;5600:15;5583:14;:32:::0;;;5641:26:::2;::::0;1355:6:::2;::::0;5641:26:::2;:::i;:::-;5626:12;:41:::0;-1:-1:-1;;;;;6020:21:0;::::1;::::0;6016:67:::1;;6058:13;6063:7;6058:4;:13::i;:::-;1764:1;5179:496:::0;:::o;4174:80::-;4234:10;4224:21;;;;:9;:21;;;;;;4214:32;;:9;:32::i;:::-;4174:80::o;4557:505::-;4598:10;5756:16;:14;:16::i;:::-;5733:20;:39;5800:26;:24;:26::i;:::-;5783:14;:43;-1:-1:-1;;;;;5841:21:0;;;5837:157;;5898:15;5905:7;5898:6;:15::i;:::-;-1:-1:-1;;;;;5879:16:0;;;;;;:7;:16;;;;;;;;:34;;;;5962:20;;5928:22;:31;;;;;;:54;5837:157;4644:10:::1;4621:12;4636:19:::0;;;:7:::1;:19;::::0;;;;;;4684:35;;-1:-1:-1;;;4684:35:0;;::::1;::::0;::::1;1875:51:1::0;;;;4636:19:0;1121:42:::1;::::0;4684:23:::1;::::0;1848:18:1;;4684:35:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4666:53:::0;-1:-1:-1;4730:9:0::1;4742:69;1433:15;4762:28;4775:15;4666:53:::0;4762:28:::1;:::i;:::-;4751:40;::::0;:7;:40:::1;:::i;:::-;:50;;;;:::i;:::-;4803:7;4742:8;:69::i;:::-;4730:81:::0;-1:-1:-1;4826:8:0;;4822:233:::1;;4859:10;4873:1;4851:19:::0;;;:7:::1;:19;::::0;;;;:23;4889:38:::1;::::0;1045:42:::1;::::0;4922:4;4889:13:::1;:38::i;:::-;4942:41;::::0;-1:-1:-1;;;4942:41:0;;4966:10:::1;4942:41;::::0;::::1;2800:51:1::0;2867:18;;;2860:34;;;1121:42:0::1;::::0;4942:23:::1;::::0;2773:18:1;;4942:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4998:45;1045:42;1275;5038:4;5028:7;:14;;;;:::i;:::-;4998:13;:45::i;:::-;-1:-1:-1::0;;;;;;;;6020:21:0;;;6016:67;;6058:13;6063:7;6058:4;:13::i;3825:100::-;3892:25;3901:6;3909:7;3892:8;:25::i;2169:128::-;2226:4;2250:39;2259:15;2276:12;;2250:8;:39::i;2983:295::-;-1:-1:-1;;;;;3055:24:0;;3032:20;3055:24;;;:15;:24;;;;;;3090:13;:32;;3055:24;;;;3090:32;;3055:24;;3090:32;:::i;:::-;;;;-1:-1:-1;3151:23:0;;-1:-1:-1;3166:7:0;3151:14;:23::i;:::-;-1:-1:-1;;;;;3185:24:0;;;;;;:15;:24;;;;;:42;;;3238:13;:32;;3185:42;;-1:-1:-1;3185:42:0;;3238:13;;3185:24;3238:32;;3185:42;;3238:32;:::i;:::-;;;;-1:-1:-1;;;;2983:295:0:o;3727:86::-;3777:28;3786:6;3794:10;3777:8;:28::i;2305:276::-;2352:4;2373:11;;2388:1;2373:16;2369:76;;;-1:-1:-1;2413:20:0;;;2305:276::o;2369:76::-;2559:13;;1394:8;2534:10;;2516:14;;2487:26;:24;:26::i;:::-;:43;;;;:::i;:::-;2486:58;;;;:::i;:::-;:70;;;;:::i;:::-;:86;;;;:::i;:::-;2462:20;;:111;;;;:::i;3612:103::-;3660:34;;-1:-1:-1;;;3660:34:0;;3683:10;3660:34;;;1875:51:1;3651:56:0;;3666:5;-1:-1:-1;;;;;3660:22:0;;;;1848:18:1;;3660:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3696:10;3651:8;:56::i;2593:378::-;-1:-1:-1;;;;;2688:18:0;;2655:4;2688:18;;;:9;:18;;;;;;2655:4;2749:3;2733:13;2688:18;2744:2;2733:13;:::i;:::-;:19;;;;:::i;:::-;2717:35;;2763:14;2902:3;1121:42;-1:-1:-1;;;;;2865:26:0;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2795:67;;-1:-1:-1;;;2795:67:0;;-1:-1:-1;;;;;2167:15:1;;2795:67:0;;;2149:34:1;2856:4:0;2199:18:1;;;2192:43;1199:42:0;;2795:43;;2084:18:1;;2795:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2781:11;;:81;;;;:::i;:::-;:112;;;;:::i;:::-;2780:119;;2897:2;2780:119;:::i;:::-;:125;;;;:::i;:::-;2763:142;-1:-1:-1;2923:40:0;2932:20;2763:142;2932:8;:20;:::i;2923:40::-;2916:47;2593:378;-1:-1:-1;;;;;2593:378:0:o;5070:97::-;5125:10;5115:21;;;;:9;:21;;;;;;5105:32;;:9;:32::i;:::-;5148:11;:9;:11::i;4350:199::-;4404:10;5756:16;:14;:16::i;:::-;5733:20;:39;5800:26;:24;:26::i;:::-;5783:14;:43;-1:-1:-1;;;;;5841:21:0;;;5837:157;;5898:15;5905:7;5898:6;:15::i;:::-;-1:-1:-1;;;;;5879:16:0;;;;;;:7;:16;;;;;;;;:34;;;;5962:20;;5928:22;:31;;;;;;:54;5837:157;4442:6:::1;4427:11;;:21;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;4469:10:0::1;4459:21;::::0;;;:9:::1;:21;::::0;;;;:31;;4484:6;;4459:21;:31:::1;::::0;4484:6;;4459:31:::1;:::i;:::-;::::0;;;-1:-1:-1;4501:40:0::1;::::0;-1:-1:-1;4515:5:0::1;4522:10;4534:6:::0;4501:13:::1;:40::i;:::-;-1:-1:-1::0;;;;;6020:21:0;;;6016:67;;6058:13;6063:7;6058:4;:13::i;184:97::-;236:4;264:1;260;:5;:13;;272:1;260:13;;;268:1;260:13;253:20;184:97;-1:-1:-1;;;184:97:0:o;6102:289::-;6247:58;;;-1:-1:-1;;;;;2818:32:1;;;6247:58:0;;;2800:51:1;2867:18;;;;2860:34;;;6247:58:0;;;;;;;;;;2773:18:1;;;;6247:58:0;;;;;;;-1:-1:-1;;;;;6247:58:0;-1:-1:-1;;;6247:58:0;;;6236:70;;-1:-1:-1;;;;6236:10:0;;;;:70;;6247:58;6236:70;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6187:119;;;;6325:7;:57;;;;-1:-1:-1;6337:11:0;;:16;;:44;;;6368:4;6357:24;;;;;;;;;;;;:::i;:::-;6317:66;;;;;;6176:215;;6102:289;;;:::o;3937:225::-;4007:7;5756:16;:14;:16::i;:::-;5733:20;:39;5800:26;:24;:26::i;:::-;5783:14;:43;-1:-1:-1;;;;;5841:21:0;;;5837:157;;5898:15;5905:7;5898:6;:15::i;:::-;-1:-1:-1;;;;;5879:16:0;;;;;;:7;:16;;;;;;;;:34;;;;5962:20;;5928:22;:31;;;;;;:54;5837:157;4042:6:::1;4027:11;;:21;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;4059:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;:28;;4081:6;;4059:18;:28:::1;::::0;4081:6;;4059:28:::1;:::i;:::-;::::0;;;-1:-1:-1;4098:56:0::1;::::0;-1:-1:-1;4116:5:0::1;4123:7:::0;4140:4:::1;4147:6:::0;4098:17:::1;:56::i;:::-;-1:-1:-1::0;;;;;6020:21:0;;;6016:67;;6058:13;6063:7;6058:4;:13::i;:::-;3937:225;;;:::o;6403:317::-;6566:68;;;-1:-1:-1;;;;;2504:15:1;;;6566:68:0;;;2486:34:1;2556:15;;;2536:18;;;2529:43;2588:18;;;;2581:34;;;6566:68:0;;;;;;;;;;2421:18:1;;;;6566:68:0;;;;;;;-1:-1:-1;;;;;6566:68:0;-1:-1:-1;;;6566:68:0;;;6555:80;;-1:-1:-1;;;;6555:10:0;;;;:80;;6566:68;6555:80;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6506:129;;;;6654:7;:57;;;;-1:-1:-1;6666:11:0;;:16;;:44;;;6697:4;6686:24;;;;;;;;;;;;:::i;:::-;6646:66;;;;;;6495:225;;6403:317;;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:2;;;320:1;317;310:12;272:2;343:29;362:9;343:29;:::i;383:277::-;450:6;503:2;491:9;482:7;478:23;474:32;471:2;;;519:1;516;509:12;471:2;551:9;545:16;604:5;597:13;590:21;583:5;580:32;570:2;;626:1;623;616:12;665:180;724:6;777:2;765:9;756:7;752:23;748:32;745:2;;;793:1;790;783:12;745:2;-1:-1:-1;816:23:1;;735:110;-1:-1:-1;735:110:1:o;850:184::-;920:6;973:2;961:9;952:7;948:23;944:32;941:2;;;989:1;986;979:12;941:2;-1:-1:-1;1012:16:1;;931:103;-1:-1:-1;931:103:1:o;1039:254::-;1107:6;1115;1168:2;1156:9;1147:7;1143:23;1139:32;1136:2;;;1184:1;1181;1174:12;1136:2;1220:9;1207:23;1197:33;;1249:38;1283:2;1272:9;1268:18;1249:38;:::i;:::-;1239:48;;1126:167;;;;;:::o;1298:426::-;1427:3;1465:6;1459:13;1490:1;1500:129;1514:6;1511:1;1508:13;1500:129;;;1612:4;1596:14;;;1592:25;;1586:32;1573:11;;;1566:53;1529:12;1500:129;;;1647:6;1644:1;1641:13;1638:2;;;1682:1;1673:6;1668:3;1664:16;1657:27;1638:2;-1:-1:-1;1702:16:1;;;;;1435:289;-1:-1:-1;;1435:289:1:o;3087:128::-;3127:3;3158:1;3154:6;3151:1;3148:13;3145:2;;;3164:18;;:::i;:::-;-1:-1:-1;3200:9:1;;3135:80::o;3220:217::-;3260:1;3286;3276:2;;3330:10;3325:3;3321:20;3318:1;3311:31;3365:4;3362:1;3355:15;3393:4;3390:1;3383:15;3276:2;-1:-1:-1;3422:9:1;;3266:171::o;3442:168::-;3482:7;3548:1;3544;3540:6;3536:14;3533:1;3530:21;3525:1;3518:9;3511:17;3507:45;3504:2;;;3555:18;;:::i;:::-;-1:-1:-1;3595:9:1;;3494:116::o;3615:125::-;3655:4;3683:1;3680;3677:8;3674:2;;;3688:18;;:::i;:::-;-1:-1:-1;3725:9:1;;3664:76::o;3745:127::-;3806:10;3801:3;3797:20;3794:1;3787:31;3837:4;3834:1;3827:15;3861:4;3858:1;3851:15

Swarm Source

ipfs://cdacb81f1121fbb0a0dbdf5c5576234971a6f8b43424475cfad7a9d1f0237a44

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ 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.