ETH Price: $2,641.85 (-3.90%)

Contract

0xd8f209A01B8b604c7Bd431305bA09D6587ECd79B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HOStaking

Compiler Version
v0.6.9+commit.3e3065ac

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-11-05
*/

pragma solidity 0.6.9;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }


    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

}


interface IERC20 {
  function totalSupply() external view returns (uint256);
  function balanceOf(address account) external view returns (uint256);
  function transfer(address recipient, uint256 amount) external returns (bool);
  function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
  function decimals() external view returns (uint8);
}

interface IUniswapV2Pair {
  function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
  function token0() external view returns (address);
  function token1() external view returns (address);
}

contract HOStaking {

    using SafeMath for uint;

    address private immutable hoToken;
    address private immutable v2Pair;

    uint8 private immutable hoDec;

    uint constant DAY =  60 * 60 * 24; 

    uint constant RATE = 90000;
    uint constant LEAST = 20;

    address _owner;

    constructor(address ho , address v2) public {
      _owner = msg.sender;
      hoToken = ho;
      hoDec = IERC20(ho).decimals();
      v2Pair = v2;
      require(IUniswapV2Pair(v2).token0() == ho || IUniswapV2Pair(v2).token1() == ho, "E/no ho");
    }

    struct Staking {
      uint amount;
      uint stakeTime;
      uint earnTime;   
    }

    mapping(address => Staking) V2Stakings;
    mapping(address => Staking) hoStakings;


    mapping(uint => uint) dayPrices;

    mapping(uint => bool) raiseOver10;

    
    function myV2Staking() external view returns (uint, uint, uint ) {
      return (V2Stakings[msg.sender].amount, V2Stakings[msg.sender].stakeTime, myV2Earn());
    }

    function stakingV2(uint amount) external {
      require(V2Stakings[msg.sender].amount == 0, "E/aleady staking");
      require(IERC20(v2Pair).transferFrom(msg.sender, address(this), amount), "E/transfer error");
      V2Stakings[msg.sender] = Staking(amount, now, now);
    }

    
    function wdV2(uint amount) external {
      uint stakingToal = V2Stakings[msg.sender].amount;
      uint stakingTime = V2Stakings[msg.sender].stakeTime;

      require(stakingToal >= amount, "E/not enough");
      require(now >= stakingTime + 2 * DAY, "E/locked");

      wdV2Earn() ;

      IERC20(v2Pair).transfer(msg.sender, amount);

      if(stakingToal - amount > 0) {
        V2Stakings[msg.sender] = Staking(stakingToal - amount, now, now);
      } else {
        delete V2Stakings[msg.sender];
      }
    }

    
    function myV2Earn() internal view returns (uint) {
      Staking memory s = V2Stakings[msg.sender];
      if(s.amount == 0) {
        return 0;
      }

      uint endDay = getDay(now);
      uint startDay = getDay(s.earnTime);
      if(endDay > startDay) {
        uint earnDays = endDay - startDay;

        uint earns = 0;
        if(earnDays > 0) {
          earns = s.amount.mul(earnDays).mul(RATE).div(10 ** (uint(18).sub(hoDec)));
        }
        return earns;
      } 
      return 0;
    }

    function wdV2Earn() public {
      uint earnsTotal = myV2Earn();

      IERC20(hoToken).transfer(msg.sender, earnsTotal);
      V2Stakings[msg.sender].earnTime = now;
    }

    // ----- for ho staking  ------
    function myHoStaking() external view returns (uint, uint, uint ) {
      return (hoStakings[msg.sender].amount, hoStakings[msg.sender].stakeTime, myHoEarn());
    }

    function stakingHo(uint amount) external {
      require(amount >= LEAST * 10 ** uint(hoDec), "E/not enough");
      require(hoStakings[msg.sender].amount == 0, "E/aleady staking");
      require(IERC20(hoToken).transferFrom(msg.sender, address(this), amount), "E/transfer error");
      
      hoStakings[msg.sender] = Staking(amount, now, now);
    }

    function wdHo(uint amount) external {
      uint stakingToal = hoStakings[msg.sender].amount;
      require(stakingToal >= amount, "E/not enough");

      wdHoEarn();
      
      if(stakingToal - amount >= LEAST * 10 ** uint(hoDec)) {
        IERC20(hoToken).transfer(msg.sender, amount);
        hoStakings[msg.sender] = Staking(stakingToal - amount, now, now);
      } else {
        
        IERC20(hoToken).transfer(msg.sender, stakingToal);
        delete hoStakings[msg.sender];
      }
    }

    
    function myHoEarn() internal view returns (uint) {
      Staking memory s = hoStakings[msg.sender];
      if(s.amount == 0) {
        return 0;
      }

      uint earnDays = getEarnDays(s);
      uint earns = 0;
      if(earnDays > 0) {
        earns = s.amount.div(100) * earnDays;
      }
      return earns;
    }

    

    function wdHoEarn() public {
      uint earnsTotal = myHoEarn();

      IERC20(hoToken).transfer(msg.sender, earnsTotal);

      hoStakings[msg.sender].earnTime = now;
    }

    
    function getEarnDays(Staking memory s) internal view returns (uint) {
    
      uint startDay = getDay(s.earnTime);
    
      uint endDay = getDay(now);

    
      uint earnDays = 0;
      while(endDay > startDay) {
        if(raiseOver10[startDay]) {
          earnDays += 1;
        }
        startDay += 1;
      }
      return earnDays;
    }

    // get 1 ho  =  x eth
    function fetchPrice() internal view returns (uint) {
      (uint reserve0, uint reserve1,) = IUniswapV2Pair(v2Pair).getReserves();
      require(reserve0 > 0 && reserve1 > 0, 'E/INSUFFICIENT_LIQUIDITY');
      uint oneHo = 10 ** uint(hoDec);  

      if(IUniswapV2Pair(v2Pair).token0() == hoToken) {
        return oneHo.mul(reserve1) / reserve0;
      } else {
        return oneHo.mul(reserve0) / reserve1;
      }
    }

    
    function getDay(uint ts) internal pure returns (uint) {   
      return ts / DAY;
    }

    
    function updatePrice() external {
    
      uint d = getDay(now);
    
      uint p = fetchPrice();

      dayPrices[d] = p;
      
      uint lastPrice = dayPrices[d-1];
      
      if(lastPrice > 0) {

        if(p > lastPrice.add(lastPrice/10)) {
          raiseOver10[d] = true;
        }
      }
    }


    modifier onlyOwner() {
      require(isOwner(), "Ownable: caller is not the owner");
      _;
    }

    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

    function owner() public view returns (address) {
      return _owner;
    }

    function transferOwnership(address newOwner) public onlyOwner {
      _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
      require(newOwner != address(0), "Ownable: new owner is the zero address");
      _owner = newOwner;
    }

    function withdrawHo(uint amount) external onlyOwner {
      IERC20(hoToken).transfer(msg.sender, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"ho","type":"address"},{"internalType":"address","name":"v2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myHoStaking","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myV2Staking","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stakingHo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stakingV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updatePrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"wdHo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wdHoEarn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"wdV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wdV2Earn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawHo","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60e06040523480156200001157600080fd5b506040516200166838038062001668833981810160405260408110156200003757600080fd5b508051602091820151600080546001600160a01b031916331790556001600160601b0319606083901b166080526040805163313ce56760e01b81529051929391926001600160a01b0385169263313ce5679260048082019391829003018186803b158015620000a557600080fd5b505afa158015620000ba573d6000803e3d6000fd5b505050506040513d6020811015620000d157600080fd5b505160f81b7fff000000000000000000000000000000000000000000000000000000000000001660c052606081901b6001600160601b03191660a05260408051630dfe168160e01b815290516001600160a01b038481169290841691630dfe168191600480820192602092909190829003018186803b1580156200015457600080fd5b505afa15801562000169573d6000803e3d6000fd5b505050506040513d60208110156200018057600080fd5b50516001600160a01b03161480620002105750816001600160a01b0316816001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015620001d757600080fd5b505afa158015620001ec573d6000803e3d6000fd5b505050506040513d60208110156200020357600080fd5b50516001600160a01b0316145b6200024c576040805162461bcd60e51b8152602060048201526007602482015266452f6e6f20686f60c81b604482015290519081900360640190fd5b505060805160601c60a05160601c60c05160f81c6113a8620002c0600039806104c252806109cb5280610ea652806110ae52508061029552806108865280610da15280610ef95250806103c352806105af52806107455280610a225280610aff5280610c7e5280610ecf52506113a86000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806390a3851f1161008c578063a46be57611610066578063a46be576146101b7578063b9774aa5146101dd578063f2fde38b146101e5578063f351f3641461020b576100cf565b806390a3851f14610160578063a27daaa11461017d578063a428eae01461019a576100cf565b806326fd59b3146100d457806354e65fc4146100f3578063673a7e28146100fb578063807c5a31146101035780638da5cb5b146101205780638f32d59b14610144575b600080fd5b6100f1600480360360208110156100ea57600080fd5b5035610213565b005b6100f161038f565b6100f1610451565b6100f16004803603602081101561011957600080fd5b50356104c0565b6101286106a4565b604080516001600160a01b039092168252519081900360200190f35b61014c6106b4565b604080519115158252519081900360200190f35b6100f16004803603602081101561017657600080fd5b50356106c5565b6100f16004803603602081101561019357600080fd5b50356107b7565b6100f1600480360360208110156101b057600080fd5b503561096d565b6101bf610b95565b60408051938452602084019290925282820152519081900360600190f35b6101bf610bc3565b6100f1600480360360208110156101fb57600080fd5b50356001600160a01b0316610be5565b6100f1610c4a565b3360009081526001602052604090205415610268576040805162461bcd60e51b815260206004820152601060248201526f452f616c65616479207374616b696e6760801b604482015290519081900360640190fd5b604080516323b872dd60e01b81523360048201523060248201526044810183905290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd9160648083019260209291908290030181600087803b1580156102dd57600080fd5b505af11580156102f1573d6000803e3d6000fd5b505050506040513d602081101561030757600080fd5b505161034d576040805162461bcd60e51b815260206004820152601060248201526f2297ba3930b739b332b91032b93937b960811b604482015290519081900360640190fd5b60408051606081018252918252426020808401828152848401928352336000908152600192839052939093209351845591519183019190915551600290910155565b6000610399610d0c565b6040805163a9059cbb60e01b81523360048201526024810183905290519192506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163a9059cbb916044808201926020929091908290030181600087803b15801561040c57600080fd5b505af1158015610420573d6000803e3d6000fd5b505050506040513d602081101561043657600080fd5b50503360009081526002602081905260409091204291015550565b600061045c42610d91565b90506000610468610d9a565b6000838152600360205260408082208390556000198501825290205490915080156104bb5761049a81600a8104610fbf565b8211156104bb576000838152600460205260409020805460ff191660011790555b505050565b7f000000000000000000000000000000000000000000000000000000000000000060ff16600a0a60140281101561052d576040805162461bcd60e51b815260206004820152600c60248201526b08a5edcdee840cadcdeeaced60a31b604482015290519081900360640190fd5b3360009081526002602052604090205415610582576040805162461bcd60e51b815260206004820152601060248201526f452f616c65616479207374616b696e6760801b604482015290519081900360640190fd5b604080516323b872dd60e01b81523360048201523060248201526044810183905290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd9160648083019260209291908290030181600087803b1580156105f757600080fd5b505af115801561060b573d6000803e3d6000fd5b505050506040513d602081101561062157600080fd5b5051610667576040805162461bcd60e51b815260206004820152601060248201526f2297ba3930b739b332b91032b93937b960811b604482015290519081900360640190fd5b6040805160608101825291825242602080840182815284840192835233600090815260029283905293909320935184559151600184015551910155565b6000546001600160a01b03165b90565b6000546001600160a01b0316331490565b6106cd6106b4565b61071e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6040805163a9059cbb60e01b81523360048201526024810183905290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163a9059cbb9160448083019260209291908290030181600087803b15801561078d57600080fd5b505af11580156107a1573d6000803e3d6000fd5b505050506040513d60208110156104bb57600080fd5b336000908152600160208190526040909120805491015482821015610812576040805162461bcd60e51b815260206004820152600c60248201526b08a5edcdee840cadcdeeaced60a31b604482015290519081900360640190fd5b6202a3008101421015610857576040805162461bcd60e51b8152602060048201526008602482015267114bdb1bd8dad95960c21b604482015290519081900360640190fd5b61085f610c4a565b6040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163a9059cbb9160448083019260209291908290030181600087803b1580156108ce57600080fd5b505af11580156108e2573d6000803e3d6000fd5b505050506040513d60208110156108f857600080fd5b50508282031561094a57604080516060810182528484038152426020808301828152838501928352336000908152600192839052949094209251835592519282019290925590516002909101556104bb565b336000908152600160208190526040822082815590810182905560020155505050565b33600090815260026020526040902054818110156109c1576040805162461bcd60e51b815260206004820152600c60248201526b08a5edcdee840cadcdeeaced60a31b604482015290519081900360640190fd5b6109c961038f565b7f000000000000000000000000000000000000000000000000000000000000000060ff16600a0a60140282820310610ad8576040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163a9059cbb9160448083019260209291908290030181600087803b158015610a6a57600080fd5b505af1158015610a7e573d6000803e3d6000fd5b505050506040513d6020811015610a9457600080fd5b505060408051606081018252838303815242602082810182815283850192835233600090815260029283905294909420925183559251600183015551910155610b91565b6040805163a9059cbb60e01b81523360048201526024810183905290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163a9059cbb9160448083019260209291908290030181600087803b158015610b4757600080fd5b505af1158015610b5b573d6000803e3d6000fd5b505050506040513d6020811015610b7157600080fd5b505033600090815260026020819052604082208281556001810183905501555b5050565b336000908152600260205260408120805460019091015482918291610bb8610d0c565b925092509250909192565b3360009081526001602081905260408220805491015482918291610bb8611022565b610bed6106b4565b610c3e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610c478161112b565b50565b6000610c54611022565b6040805163a9059cbb60e01b81523360048201526024810183905290519192506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163a9059cbb916044808201926020929091908290030181600087803b158015610cc757600080fd5b505af1158015610cdb573d6000803e3d6000fd5b505050506040513d6020811015610cf157600080fd5b50503360009081526001602052604090204260029091015550565b6000610d1661130a565b5033600090815260026020818152604092839020835160608101855281548082526001830154938201939093529201549282019290925290610d5c5760009150506106b1565b6000610d6782611192565b905060008115610d8a5782518290610d8690606463ffffffff6111ea16565b0290505b9250505090565b62015180900490565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015610df857600080fd5b505afa158015610e0c573d6000803e3d6000fd5b505050506040513d6060811015610e2257600080fd5b5080516020909101516dffffffffffffffffffffffffffff91821693501690508115801590610e515750600081115b610ea2576040805162461bcd60e51b815260206004820152601860248201527f452f494e53554646494349454e545f4c49515549444954590000000000000000604482015290519081900360640190fd5b60007f000000000000000000000000000000000000000000000000000000000000000060ff16600a0a90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5057600080fd5b505afa158015610f64573d6000803e3d6000fd5b505050506040513d6020811015610f7a57600080fd5b50516001600160a01b03161415610fae5782610f9c828463ffffffff61125416565b81610fa357fe5b0493505050506106b1565b81610f9c828563ffffffff61125416565b600082820183811015611019576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600061102c61130a565b503360009081526001602081815260409283902083516060810185528154808252938201549281019290925260020154928101929092526110715760009150506106b1565b600061107c42610d91565b9050600061108d8360400151610d91565b9050808211156111215780820360008115611115576111126110d9601260ff7f00000000000000000000000000000000000000000000000000000000000000001663ffffffff6112ad16565b600a0a61110662015f906110fa868a6000015161125490919063ffffffff16565b9063ffffffff61125416565b9063ffffffff6111ea16565b90505b94506106b19350505050565b6000935050505090565b6001600160a01b0381166111705760405162461bcd60e51b815260040180806020018281038252602681526020018061132c6026913960400191505060405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806111a28360400151610d91565b905060006111af42610d91565b905060005b828211156111e25760008381526004602052604090205460ff16156111d7576001015b6001830192506111b4565b949350505050565b6000808211611240576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161124b57fe5b04949350505050565b6000826112635750600061101c565b8282028284828161127057fe5b04146110195760405162461bcd60e51b81526004018080602001828103825260218152602001806113526021913960400191505060405180910390fd5b600082821115611304576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6040518060600160405280600081526020016000815260200160008152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220ddd6d04402735c881a1245b834a804cf66e40a59e10dc64f986b6f10b06b485b64736f6c634300060900330000000000000000000000006e6ea783a5e6dd093639586b2182183eb2e6e121000000000000000000000000d19ac56a8a0b1103c2d0045acfedaaf67cfdf5ce

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806390a3851f1161008c578063a46be57611610066578063a46be576146101b7578063b9774aa5146101dd578063f2fde38b146101e5578063f351f3641461020b576100cf565b806390a3851f14610160578063a27daaa11461017d578063a428eae01461019a576100cf565b806326fd59b3146100d457806354e65fc4146100f3578063673a7e28146100fb578063807c5a31146101035780638da5cb5b146101205780638f32d59b14610144575b600080fd5b6100f1600480360360208110156100ea57600080fd5b5035610213565b005b6100f161038f565b6100f1610451565b6100f16004803603602081101561011957600080fd5b50356104c0565b6101286106a4565b604080516001600160a01b039092168252519081900360200190f35b61014c6106b4565b604080519115158252519081900360200190f35b6100f16004803603602081101561017657600080fd5b50356106c5565b6100f16004803603602081101561019357600080fd5b50356107b7565b6100f1600480360360208110156101b057600080fd5b503561096d565b6101bf610b95565b60408051938452602084019290925282820152519081900360600190f35b6101bf610bc3565b6100f1600480360360208110156101fb57600080fd5b50356001600160a01b0316610be5565b6100f1610c4a565b3360009081526001602052604090205415610268576040805162461bcd60e51b815260206004820152601060248201526f452f616c65616479207374616b696e6760801b604482015290519081900360640190fd5b604080516323b872dd60e01b81523360048201523060248201526044810183905290516001600160a01b037f000000000000000000000000d19ac56a8a0b1103c2d0045acfedaaf67cfdf5ce16916323b872dd9160648083019260209291908290030181600087803b1580156102dd57600080fd5b505af11580156102f1573d6000803e3d6000fd5b505050506040513d602081101561030757600080fd5b505161034d576040805162461bcd60e51b815260206004820152601060248201526f2297ba3930b739b332b91032b93937b960811b604482015290519081900360640190fd5b60408051606081018252918252426020808401828152848401928352336000908152600192839052939093209351845591519183019190915551600290910155565b6000610399610d0c565b6040805163a9059cbb60e01b81523360048201526024810183905290519192506001600160a01b037f0000000000000000000000006e6ea783a5e6dd093639586b2182183eb2e6e121169163a9059cbb916044808201926020929091908290030181600087803b15801561040c57600080fd5b505af1158015610420573d6000803e3d6000fd5b505050506040513d602081101561043657600080fd5b50503360009081526002602081905260409091204291015550565b600061045c42610d91565b90506000610468610d9a565b6000838152600360205260408082208390556000198501825290205490915080156104bb5761049a81600a8104610fbf565b8211156104bb576000838152600460205260409020805460ff191660011790555b505050565b7f000000000000000000000000000000000000000000000000000000000000000860ff16600a0a60140281101561052d576040805162461bcd60e51b815260206004820152600c60248201526b08a5edcdee840cadcdeeaced60a31b604482015290519081900360640190fd5b3360009081526002602052604090205415610582576040805162461bcd60e51b815260206004820152601060248201526f452f616c65616479207374616b696e6760801b604482015290519081900360640190fd5b604080516323b872dd60e01b81523360048201523060248201526044810183905290516001600160a01b037f0000000000000000000000006e6ea783a5e6dd093639586b2182183eb2e6e12116916323b872dd9160648083019260209291908290030181600087803b1580156105f757600080fd5b505af115801561060b573d6000803e3d6000fd5b505050506040513d602081101561062157600080fd5b5051610667576040805162461bcd60e51b815260206004820152601060248201526f2297ba3930b739b332b91032b93937b960811b604482015290519081900360640190fd5b6040805160608101825291825242602080840182815284840192835233600090815260029283905293909320935184559151600184015551910155565b6000546001600160a01b03165b90565b6000546001600160a01b0316331490565b6106cd6106b4565b61071e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6040805163a9059cbb60e01b81523360048201526024810183905290516001600160a01b037f0000000000000000000000006e6ea783a5e6dd093639586b2182183eb2e6e121169163a9059cbb9160448083019260209291908290030181600087803b15801561078d57600080fd5b505af11580156107a1573d6000803e3d6000fd5b505050506040513d60208110156104bb57600080fd5b336000908152600160208190526040909120805491015482821015610812576040805162461bcd60e51b815260206004820152600c60248201526b08a5edcdee840cadcdeeaced60a31b604482015290519081900360640190fd5b6202a3008101421015610857576040805162461bcd60e51b8152602060048201526008602482015267114bdb1bd8dad95960c21b604482015290519081900360640190fd5b61085f610c4a565b6040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b037f000000000000000000000000d19ac56a8a0b1103c2d0045acfedaaf67cfdf5ce169163a9059cbb9160448083019260209291908290030181600087803b1580156108ce57600080fd5b505af11580156108e2573d6000803e3d6000fd5b505050506040513d60208110156108f857600080fd5b50508282031561094a57604080516060810182528484038152426020808301828152838501928352336000908152600192839052949094209251835592519282019290925590516002909101556104bb565b336000908152600160208190526040822082815590810182905560020155505050565b33600090815260026020526040902054818110156109c1576040805162461bcd60e51b815260206004820152600c60248201526b08a5edcdee840cadcdeeaced60a31b604482015290519081900360640190fd5b6109c961038f565b7f000000000000000000000000000000000000000000000000000000000000000860ff16600a0a60140282820310610ad8576040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b037f0000000000000000000000006e6ea783a5e6dd093639586b2182183eb2e6e121169163a9059cbb9160448083019260209291908290030181600087803b158015610a6a57600080fd5b505af1158015610a7e573d6000803e3d6000fd5b505050506040513d6020811015610a9457600080fd5b505060408051606081018252838303815242602082810182815283850192835233600090815260029283905294909420925183559251600183015551910155610b91565b6040805163a9059cbb60e01b81523360048201526024810183905290516001600160a01b037f0000000000000000000000006e6ea783a5e6dd093639586b2182183eb2e6e121169163a9059cbb9160448083019260209291908290030181600087803b158015610b4757600080fd5b505af1158015610b5b573d6000803e3d6000fd5b505050506040513d6020811015610b7157600080fd5b505033600090815260026020819052604082208281556001810183905501555b5050565b336000908152600260205260408120805460019091015482918291610bb8610d0c565b925092509250909192565b3360009081526001602081905260408220805491015482918291610bb8611022565b610bed6106b4565b610c3e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610c478161112b565b50565b6000610c54611022565b6040805163a9059cbb60e01b81523360048201526024810183905290519192506001600160a01b037f0000000000000000000000006e6ea783a5e6dd093639586b2182183eb2e6e121169163a9059cbb916044808201926020929091908290030181600087803b158015610cc757600080fd5b505af1158015610cdb573d6000803e3d6000fd5b505050506040513d6020811015610cf157600080fd5b50503360009081526001602052604090204260029091015550565b6000610d1661130a565b5033600090815260026020818152604092839020835160608101855281548082526001830154938201939093529201549282019290925290610d5c5760009150506106b1565b6000610d6782611192565b905060008115610d8a5782518290610d8690606463ffffffff6111ea16565b0290505b9250505090565b62015180900490565b60008060007f000000000000000000000000d19ac56a8a0b1103c2d0045acfedaaf67cfdf5ce6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015610df857600080fd5b505afa158015610e0c573d6000803e3d6000fd5b505050506040513d6060811015610e2257600080fd5b5080516020909101516dffffffffffffffffffffffffffff91821693501690508115801590610e515750600081115b610ea2576040805162461bcd60e51b815260206004820152601860248201527f452f494e53554646494349454e545f4c49515549444954590000000000000000604482015290519081900360640190fd5b60007f000000000000000000000000000000000000000000000000000000000000000860ff16600a0a90507f0000000000000000000000006e6ea783a5e6dd093639586b2182183eb2e6e1216001600160a01b03167f000000000000000000000000d19ac56a8a0b1103c2d0045acfedaaf67cfdf5ce6001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5057600080fd5b505afa158015610f64573d6000803e3d6000fd5b505050506040513d6020811015610f7a57600080fd5b50516001600160a01b03161415610fae5782610f9c828463ffffffff61125416565b81610fa357fe5b0493505050506106b1565b81610f9c828563ffffffff61125416565b600082820183811015611019576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600061102c61130a565b503360009081526001602081815260409283902083516060810185528154808252938201549281019290925260020154928101929092526110715760009150506106b1565b600061107c42610d91565b9050600061108d8360400151610d91565b9050808211156111215780820360008115611115576111126110d9601260ff7f00000000000000000000000000000000000000000000000000000000000000081663ffffffff6112ad16565b600a0a61110662015f906110fa868a6000015161125490919063ffffffff16565b9063ffffffff61125416565b9063ffffffff6111ea16565b90505b94506106b19350505050565b6000935050505090565b6001600160a01b0381166111705760405162461bcd60e51b815260040180806020018281038252602681526020018061132c6026913960400191505060405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806111a28360400151610d91565b905060006111af42610d91565b905060005b828211156111e25760008381526004602052604090205460ff16156111d7576001015b6001830192506111b4565b949350505050565b6000808211611240576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161124b57fe5b04949350505050565b6000826112635750600061101c565b8282028284828161127057fe5b04146110195760405162461bcd60e51b81526004018080602001828103825260218152602001806113526021913960400191505060405180910390fd5b600082821115611304576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6040518060600160405280600081526020016000815260200160008152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220ddd6d04402735c881a1245b834a804cf66e40a59e10dc64f986b6f10b06b485b64736f6c63430006090033

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

0000000000000000000000006e6ea783a5e6dd093639586b2182183eb2e6e121000000000000000000000000d19ac56a8a0b1103c2d0045acfedaaf67cfdf5ce

-----Decoded View---------------
Arg [0] : ho (address): 0x6E6ea783a5E6DD093639586B2182183eB2E6E121
Arg [1] : v2 (address): 0xd19ac56a8a0b1103C2d0045acFedAAF67CfdF5CE

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000006e6ea783a5e6dd093639586b2182183eb2e6e121
Arg [1] : 000000000000000000000000d19ac56a8a0b1103c2d0045acfedaaf67cfdf5ce


Deployed Bytecode Sourcemap

1681:6212:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2713:280;;;;;;;;;;;;;;;;-1:-1:-1;2713:280:0;;:::i;:::-;;5713:179;;;:::i;6854:324::-;;;:::i;4475:358::-;;;;;;;;;;;;;;;;-1:-1:-1;4475:358:0;;:::i;7398:77::-;;;:::i;:::-;;;;-1:-1:-1;;;;;7398:77:0;;;;;;;;;;;;;;7298:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;7777:113;;;;;;;;;;;;;;;;-1:-1:-1;7777:113:0;;:::i;3007:532::-;;;;;;;;;;;;;;;;-1:-1:-1;3007:532:0;;:::i;4841:513::-;;;;;;;;;;;;;;;;-1:-1:-1;4841:513:0;;:::i;4301:166::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;2539;;;:::i;7483:107::-;;;;;;;;;;;;;;;;-1:-1:-1;7483:107:0;-1:-1:-1;;;;;7483:107:0;;:::i;4079:177::-;;;:::i;2713:280::-;2782:10;2771:22;;;;:10;:22;;;;;:29;:34;2763:63;;;;;-1:-1:-1;;;2763:63:0;;;;;;;;;;;;-1:-1:-1;;;2763:63:0;;;;;;;;;;;;;;;2843:62;;;-1:-1:-1;;;2843:62:0;;2871:10;2843:62;;;;2891:4;2843:62;;;;;;;;;;;;-1:-1:-1;;;;;2850:6:0;2843:27;;;;:62;;;;;;;;;;;;;;-1:-1:-1;2843:27:0;:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2843:62:0;2835:91;;;;;-1:-1:-1;;;2835:91:0;;;;;;;;;;;;-1:-1:-1;;;2835:91:0;;;;;;;;;;;;;;;2960:25;;;;;;;;;;;2976:3;2960:25;;;;;;;;;;;;;2946:10;-1:-1:-1;2935:22:0;;;:10;:22;;;;;;;;:50;;;;;;;;;;;;;;;;;;;2713:280::o;5713:179::-;5749:15;5767:10;:8;:10::i;:::-;5788:48;;;-1:-1:-1;;;5788:48:0;;5813:10;5788:48;;;;;;;;;;;;5749:28;;-1:-1:-1;;;;;;5795:7:0;5788:24;;;;:48;;;;;;;;;;;;;;;-1:-1:-1;5788:24:0;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5858:10:0;5847:22;;;;:10;5788:48;5847:22;;;;;;;5881:3;5847:31;;:37;-1:-1:-1;5713:179:0:o;6854:324::-;6901:6;6910:11;6917:3;6910:6;:11::i;:::-;6901:20;;6936:6;6945:12;:10;:12::i;:::-;6968;;;;:9;:12;;;;;;:16;;;-1:-1:-1;;7028:3:0;;7018:14;;;;;6936:21;;-1:-1:-1;7052:13:0;;7049:122;;7087:27;7101:9;7111:2;7101:12;;7087:13;:27::i;:::-;7083:1;:31;7080:82;;;7129:14;;;;:11;:14;;;;;:21;;-1:-1:-1;;7129:21:0;7146:4;7129:21;;;7080:82;6854:324;;;:::o;4475:358::-;4562:5;4557:11;;4551:2;:17;1958:2;4543:25;4533:6;:35;;4525:60;;;;;-1:-1:-1;;;4525:60:0;;;;;;;;;;;;-1:-1:-1;;;4525:60:0;;;;;;;;;;;;;;;4613:10;4602:22;;;;:10;:22;;;;;:29;:34;4594:63;;;;;-1:-1:-1;;;4594:63:0;;;;;;;;;;;;-1:-1:-1;;;4594:63:0;;;;;;;;;;;;;;;4674;;;-1:-1:-1;;;4674:63:0;;4703:10;4674:63;;;;4723:4;4674:63;;;;;;;;;;;;-1:-1:-1;;;;;4681:7:0;4674:28;;;;:63;;;;;;;;;;;;;;-1:-1:-1;4674:28:0;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4674:63:0;4666:92;;;;;-1:-1:-1;;;4666:92:0;;;;;;;;;;;;-1:-1:-1;;;4666:92:0;;;;;;;;;;;;;;;4800:25;;;;;;;;;;;4816:3;4800:25;;;;;;;;;;;;;4786:10;-1:-1:-1;4775:22:0;;;:10;:22;;;;;;;;:50;;;;;;;;;;;;;;4475:358::o;7398:77::-;7436:7;7461:6;-1:-1:-1;;;;;7461:6:0;7398:77;;:::o;7298:92::-;7338:4;7376:6;-1:-1:-1;;;;;7376:6:0;7362:10;:20;;7298:92::o;7777:113::-;7226:9;:7;:9::i;:::-;7218:54;;;;;-1:-1:-1;;;7218:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7838:44:::1;::::0;;-1:-1:-1;;;7838:44:0;;7863:10:::1;7838:44;::::0;::::1;::::0;;;;;;;;;-1:-1:-1;;;;;7845:7:0::1;7838:24;::::0;::::1;::::0;:44;;;;;::::1;::::0;;;;;;;;-1:-1:-1;7838:24:0;:44;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;3007:532:::0;3082:10;3052:16;3071:22;;;:10;:22;;;;;;;;:29;;3128:32;;;3179:21;;;;3171:46;;;;;-1:-1:-1;;;3171:46:0;;;;;;;;;;;;-1:-1:-1;;;3171:46:0;;;;;;;;;;;;;;;3255:7;3241:21;;3234:3;:28;;3226:49;;;;;-1:-1:-1;;;3226:49:0;;;;;;;;;;;;-1:-1:-1;;;3226:49:0;;;;;;;;;;;;;;;3286:10;:8;:10::i;:::-;3308:43;;;-1:-1:-1;;;3308:43:0;;3332:10;3308:43;;;;;;;;;;;;-1:-1:-1;;;;;3315:6:0;3308:23;;;;:43;;;;;;;;;;;;;;-1:-1:-1;3308:23:0;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3365:20:0;;;:24;3362:170;;3427:39;;;;;;;;3435:20;;;3427:39;;3457:3;3427:39;;;;;;;;;;;;;3413:10;-1:-1:-1;3402:22:0;;;:10;:22;;;;;;;;:64;;;;;;;;;;;;;;;;;;;;3362:170;;;3511:10;3500:22;;;;:10;:22;;;;;;;3493:29;;;;;;;;;;;;3007:532;;;:::o;4841:513::-;4916:10;4886:16;4905:22;;;:10;:22;;;;;:29;4951:21;;;;4943:46;;;;;-1:-1:-1;;;4943:46:0;;;;;;;;;;;;-1:-1:-1;;;4943:46:0;;;;;;;;;;;;;;;5000:10;:8;:10::i;:::-;5073:5;5068:11;;5062:2;:17;1958:2;5054:25;5044:6;5030:11;:20;:49;5027:320;;5092:44;;;-1:-1:-1;;;5092:44:0;;5117:10;5092:44;;;;;;;;;;;;-1:-1:-1;;;;;5099:7:0;5092:24;;;;:44;;;;;;;;;;;;;;-1:-1:-1;5092:24:0;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5172:39:0;;;;;;;;5180:20;;;5172:39;;5202:3;5092:44;5172:39;;;;;;;;;;;;5158:10;-1:-1:-1;5147:22:0;;;:10;:22;;;;;;;;:64;;;;;;;;;;;;;;5027:320;;;5248:49;;;-1:-1:-1;;;5248:49:0;;5273:10;5248:49;;;;;;;;;;;;-1:-1:-1;;;;;5255:7:0;5248:24;;;;:49;;;;;;;;;;;;;;-1:-1:-1;5248:24:0;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5326:10:0;5315:22;;;;:10;5248:49;5315:22;;;;;;5308:29;;;;;;;;;;;5027:320;4841:513;;:::o;4301:166::-;4394:10;4347:4;4383:22;;;:10;:22;;;;;:29;;4414:32;;;;;4347:4;;;;4448:10;:8;:10::i;:::-;4375:84;;;;;;4301:166;;;:::o;2539:::-;2632:10;2585:4;2621:22;;;:10;:22;;;;;;;:29;;2652:32;;;2585:4;;;;2686:10;:8;:10::i;7483:107::-;7226:9;:7;:9::i;:::-;7218:54;;;;;-1:-1:-1;;;7218:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7554:28:::1;7573:8;7554:18;:28::i;:::-;7483:107:::0;:::o;4079:177::-;4115:15;4133:10;:8;:10::i;:::-;4154:48;;;-1:-1:-1;;;4154:48:0;;4179:10;4154:48;;;;;;;;;;;;4115:28;;-1:-1:-1;;;;;;4161:7:0;4154:24;;;;:48;;;;;;;;;;;;;;;-1:-1:-1;4154:24:0;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4222:10:0;4211:22;;;;:10;4154:48;4211:22;;;;4245:3;4211:31;;;;:37;-1:-1:-1;4079:177:0:o;5368:329::-;5411:4;5426:16;;:::i;:::-;-1:-1:-1;5456:10:0;5445:22;;;;:10;:22;;;;;;;;;5426:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5476:47;;5512:1;5505:8;;;;;5476:47;5533:13;5549:14;5561:1;5549:11;:14::i;:::-;5533:30;-1:-1:-1;5572:10:0;5598:12;;5595:74;;5631:8;;5651;;5631:17;;5644:3;5631:17;:12;:17;:::i;:::-;:28;5623:36;;5595:74;5684:5;-1:-1:-1;;;5368:329:0;:::o;6751:89::-;1881:12;6824:8;;;6751:89::o;6305:432::-;6350:4;6366:13;6381;6414:6;-1:-1:-1;;;;;6399:34:0;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6399:36:0;;;;;;;6365:70;;;;;-1:-1:-1;6365:70:0;;-1:-1:-1;6452:12:0;;;;;:28;;;6479:1;6468:8;:12;6452:28;6444:65;;;;;-1:-1:-1;;;6444:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6518:10;6542:5;6537:11;;6531:2;:17;6518:30;;6599:7;-1:-1:-1;;;;;6564:42:0;6579:6;-1:-1:-1;;;;;6564:29:0;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6564:31:0;-1:-1:-1;;;;;6564:42:0;;6561:169;;;6648:8;6626:19;:5;6636:8;6626:19;:9;:19;:::i;:::-;:30;;;;;;6619:37;;;;;;;6561:169;6712:8;6690:19;:5;6700:8;6690:19;:9;:19;:::i;50:181::-;108:7;140:5;;;164:6;;;;156:46;;;;;-1:-1:-1;;;156:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;222:1;-1:-1:-1;50:181:0;;;;;:::o;3553:518::-;3596:4;3611:16;;:::i;:::-;-1:-1:-1;3641:10:0;3630:22;;;;:10;:22;;;;;;;;;3611:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3661:47;;3697:1;3690:8;;;;;3661:47;3718:11;3732;3739:3;3732:6;:11::i;:::-;3718:25;;3752:13;3768:18;3775:1;:10;;;3768:6;:18::i;:::-;3752:34;;3807:8;3798:6;:17;3795:251;;;3844:17;;;3828:13;3902:12;;3899:115;;3937:65;3981:19;3986:2;3981:19;3994:5;3981:19;;:12;:19;:::i;:::-;3974:2;:27;3937:32;1924:5;3937:22;3950:8;3937:1;:8;;;:12;;:22;;;;:::i;:::-;:26;:32;:26;:32;:::i;:::-;:36;:65;:36;:65;:::i;:::-;3929:73;;3899:115;4031:5;-1:-1:-1;4024:12:0;;-1:-1:-1;;;;4024:12:0;3795:251;4062:1;4055:8;;;;;3553:518;:::o;7598:171::-;-1:-1:-1;;;;;7670:22:0;;7662:73;;;;-1:-1:-1;;;7662:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7744:6;:17;;-1:-1:-1;;;;;;7744:17:0;-1:-1:-1;;;;;7744:17:0;;;;;;;;;;7598:171::o;5906:364::-;5968:4;5989:13;6005:18;6012:1;:10;;;6005:6;:18::i;:::-;5989:34;;6038:11;6052;6059:3;6052:6;:11::i;:::-;6038:25;-1:-1:-1;6080:13:0;6106:133;6121:8;6112:6;:17;6106:133;;;6145:21;;;;:11;:21;;;;;;;;6142:64;;;6193:1;6181:13;6142:64;6228:1;6216:13;;;;6106:133;;;6254:8;5906:364;-1:-1:-1;;;;5906:364:0:o;691:333::-;749:7;848:1;844;:5;836:44;;;;;-1:-1:-1;;;836:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;891:9;907:1;903;:5;;;;;;;691:333;-1:-1:-1;;;;691:333:0:o;433:250::-;491:7;515:6;511:47;;-1:-1:-1;545:1:0;538:8;;511:47;582:5;;;586:1;582;:5;:1;606:5;;;;;:10;598:56;;;;-1:-1:-1;;;598:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;239:184;297:7;330:1;325;:6;;317:49;;;;;-1:-1:-1;;;317:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;389:5:0;;;239:184::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

ipfs://ddd6d04402735c881a1245b834a804cf66e40a59e10dc64f986b6f10b06b485b

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

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.