ETH Price: $2,808.31 (-0.45%)
 

Overview

ETH Balance

0.005 ETH

Eth Value

$14.04 (@ $2,808.31/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Breed100334302020-05-09 17:39:011732 days ago1589045941IN
0x71607668...38dfCc22E
0 ETH0.000607966
Breed100334302020-05-09 17:39:011732 days ago1589045941IN
0x71607668...38dfCc22E
0 ETH0.000655976
Breed100109682020-05-06 6:02:481736 days ago1588744968IN
0x71607668...38dfCc22E
0 ETH0.000607966
Breed99934992020-05-03 13:34:441739 days ago1588512884IN
0x71607668...38dfCc22E
0 ETH0.000618096.1
Breed99934992020-05-03 13:34:441739 days ago1588512884IN
0x71607668...38dfCc22E
0 ETH0.000618096.1
Breed99934702020-05-03 13:28:281739 days ago1588512508IN
0x71607668...38dfCc22E
0 ETH0.000607966
Breed99932932020-05-03 12:51:311739 days ago1588510291IN
0x71607668...38dfCc22E
0 ETH0.000607966
Breed99876222020-05-02 15:40:231739 days ago1588434023IN
0x71607668...38dfCc22E
0 ETH0.000607966
Breed99876222020-05-02 15:40:231739 days ago1588434023IN
0x71607668...38dfCc22E
0 ETH0.000607966
Breed99876222020-05-02 15:40:231739 days ago1588434023IN
0x71607668...38dfCc22E
0 ETH0.000655976
Breed99706042020-04-30 0:03:451742 days ago1588205025IN
0x71607668...38dfCc22E
0 ETH0.000506635
Breed99531502020-04-27 7:20:241745 days ago1587972024IN
0x71607668...38dfCc22E
0 ETH0.000607966
Breed99531482020-04-27 7:20:061745 days ago1587972006IN
0x71607668...38dfCc22E
0 ETH0.000607966
Breed99530692020-04-27 7:00:351745 days ago1587970835IN
0x71607668...38dfCc22E
0 ETH0.00040534
Breed99529252020-04-27 6:30:431745 days ago1587969043IN
0x71607668...38dfCc22E
0 ETH0.000314113.1
Breed99472662020-04-26 9:17:351746 days ago1587892655IN
0x71607668...38dfCc22E
0 ETH0.000283986
Breed99472662020-04-26 9:17:351746 days ago1587892655IN
0x71607668...38dfCc22E
0 ETH0.000567435.6
Breed99472522020-04-26 9:14:291746 days ago1587892469IN
0x71607668...38dfCc22E
0 ETH0.000567435.6
Breed99472522020-04-26 9:14:291746 days ago1587892469IN
0x71607668...38dfCc22E
0 ETH0.000612245.6
Breed99302352020-04-23 18:00:091748 days ago1587664809IN
0x71607668...38dfCc22E
0 ETH0.000506635
Breed99128002020-04-21 1:10:241751 days ago1587431424IN
0x71607668...38dfCc22E
0 ETH0.00040534
Breed99127842020-04-21 1:07:211751 days ago1587431241IN
0x71607668...38dfCc22E
0 ETH0.00040534
Breed99127162020-04-21 0:50:351751 days ago1587430235IN
0x71607668...38dfCc22E
0 ETH0.00040534
Breed99125652020-04-21 0:21:291751 days ago1587428489IN
0x71607668...38dfCc22E
0 ETH0.00040534
Breed99068592020-04-20 3:10:171752 days ago1587352217IN
0x71607668...38dfCc22E
0 ETH0.000506635
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
100334302020-05-09 17:39:011732 days ago1589045941
0x71607668...38dfCc22E
0.001 ETH
100334302020-05-09 17:39:011732 days ago1589045941
0x71607668...38dfCc22E
0.008 ETH
100334302020-05-09 17:39:011732 days ago1589045941
0x71607668...38dfCc22E
0.001 ETH
100334302020-05-09 17:39:011732 days ago1589045941
0x71607668...38dfCc22E
0.008 ETH
100109682020-05-06 6:02:481736 days ago1588744968
0x71607668...38dfCc22E
0.001 ETH
100109682020-05-06 6:02:481736 days ago1588744968
0x71607668...38dfCc22E
0.008 ETH
99934992020-05-03 13:34:441739 days ago1588512884
0x71607668...38dfCc22E
0.001 ETH
99934992020-05-03 13:34:441739 days ago1588512884
0x71607668...38dfCc22E
0.008 ETH
99934992020-05-03 13:34:441739 days ago1588512884
0x71607668...38dfCc22E
0.001 ETH
99934992020-05-03 13:34:441739 days ago1588512884
0x71607668...38dfCc22E
0.008 ETH
99934702020-05-03 13:28:281739 days ago1588512508
0x71607668...38dfCc22E
0.001 ETH
99934702020-05-03 13:28:281739 days ago1588512508
0x71607668...38dfCc22E
0.008 ETH
99932932020-05-03 12:51:311739 days ago1588510291
0x71607668...38dfCc22E
0.001 ETH
99932932020-05-03 12:51:311739 days ago1588510291
0x71607668...38dfCc22E
0.008 ETH
99876222020-05-02 15:40:231739 days ago1588434023
0x71607668...38dfCc22E
0.001 ETH
99876222020-05-02 15:40:231739 days ago1588434023
0x71607668...38dfCc22E
0.008 ETH
99876222020-05-02 15:40:231739 days ago1588434023
0x71607668...38dfCc22E
0.001 ETH
99876222020-05-02 15:40:231739 days ago1588434023
0x71607668...38dfCc22E
0.008 ETH
99876222020-05-02 15:40:231739 days ago1588434023
0x71607668...38dfCc22E
0.001 ETH
99876222020-05-02 15:40:231739 days ago1588434023
0x71607668...38dfCc22E
0.008 ETH
99706042020-04-30 0:03:451742 days ago1588205025
0x71607668...38dfCc22E
0.001 ETH
99706042020-04-30 0:03:451742 days ago1588205025
0x71607668...38dfCc22E
0.008 ETH
99531502020-04-27 7:20:241745 days ago1587972024
0x71607668...38dfCc22E
0.001 ETH
99531502020-04-27 7:20:241745 days ago1587972024
0x71607668...38dfCc22E
0.008 ETH
99531482020-04-27 7:20:061745 days ago1587972006
0x71607668...38dfCc22E
0.001 ETH
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xa9aeE61a...c1d92283A
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
SimpleBreeding

Compiler Version
v0.5.3+commit.10d17f24

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-25
*/

pragma solidity ^0.5.3;

/**
 * @title SafeMath
 * @dev Unsigned math operations with safety checks that revert on error
 */
library SafeMath {
    /**
     * @dev Multiplies two unsigned integers, reverts on overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b);

        return c;
    }

    /**
     * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Adds two unsigned integers, reverts on overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        return c;
    }

    /**
     * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
     * reverts when dividing by zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}

/// @title Interface for contracts conforming to ERC-721: Non-Fungible Tokens
contract ERC721 {
    // Required methods
    function totalSupply() public view returns (uint256 total);
    function balanceOf(address _owner) public view returns (uint256 balance);
    function ownerOf(uint256 _tokenId) external view returns (address owner);
    function approve(address _to, uint256 _tokenId) external;
    function transfer(address _to, uint256 _tokenId) external;
    function transferFrom(address _from, address _to, uint256 _tokenId) external;

    // Events
    event Transfer(address from, address to, uint256 tokenId);
    event Approval(address owner, address approved, uint256 tokenId);

    // Optional
    // function name() public view returns (string name);
    // function symbol() public view returns (string symbol);
    // function tokensOfOwner(address _owner) external view returns (uint256[] tokenIds);
    // function tokenMetadata(uint256 _tokenId, string _preferredTransport) public view returns (string infoUrl);

    // ERC-165 Compatibility (https://github.com/ethereum/EIPs/issues/165)
    function supportsInterface(bytes4 _interfaceID) external view returns (bool);
}

contract KittyCoreInterface is ERC721  {
    uint256 public autoBirthFee;
    address public saleAuction;
    address public siringAuction;
    function breedWithAuto(uint256 _matronId, uint256 _sireId) public payable;
    function createSaleAuction(uint256 _kittyId, uint256 _startingPrice, uint256 _endingPrice, uint256 _duration) external;
    function createSiringAuction(uint256 _kittyId, uint256 _startingPrice, uint256 _endingPrice, uint256 _duration) external;
    function supportsInterface(bytes4 _interfaceID) external view returns (bool);
}

contract AuctionInterface {
    function cancelAuction(uint256 _tokenId) external;
}

contract Ownable {
  address payable public owner;

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

  constructor(address payable _owner) public {
    if(_owner == address(0)) {
      owner = msg.sender;
    } else {
      owner = _owner;
    }
  }

  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  function transferOwnership(address payable _newOwner) public onlyOwner {
    _transferOwnership(_newOwner);
  }

  function _transferOwnership(address payable _newOwner) internal {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }

  function destroy() public onlyOwner {
    selfdestruct(owner);
  }

  function destroyAndSend(address payable _recipient) public onlyOwner {
    selfdestruct(_recipient);
  }
}

contract Pausable is Ownable {
    event Pause();
    event Unpause();

    bool public paused = false;

    constructor(address payable _owner) Ownable(_owner) public {}

    modifier whenNotPaused() {
        require(!paused, "Contract paused");
        _;
    }

    modifier whenPaused() {
        require(paused, "Contract should be paused");
        _;
    }

    function pause() public onlyOwner whenNotPaused {
        paused = true;
        emit Pause();
    }

    function unpause() public onlyOwner whenPaused {
        paused = false;
        emit Unpause();
    }
}

contract CKProxy is Pausable {
  KittyCoreInterface public kittyCore;
  AuctionInterface public saleAuction;
  AuctionInterface public siringAuction;

constructor(address payable _owner, address _kittyCoreAddress) Pausable(_owner) public {
    require(_kittyCoreAddress != address(0));
    kittyCore = KittyCoreInterface(_kittyCoreAddress);
    require(kittyCore.supportsInterface(0x9a20483d));

    saleAuction = AuctionInterface(kittyCore.saleAuction());
    siringAuction = AuctionInterface(kittyCore.siringAuction());
  }

  /**
   * Owner can transfer kitty
   */
  function transferKitty(address _to, uint256 _kittyId) external onlyOwner {
    kittyCore.transfer(_to, _kittyId);
  }

  /**
   * Owner can transfer kitty
   */
  function transferKittyBulk(address _to, uint256[] calldata _kittyIds) external onlyOwner {
    for(uint256 i = 0; i < _kittyIds.length; i++) {
      kittyCore.transfer(_to, _kittyIds[i]);
    }
  }

  /**
   * Owner can transferFrom kitty
   */
  function transferKittyFrom(address _from, address _to, uint256 _kittyId) external onlyOwner {
    kittyCore.transferFrom(_from, _to, _kittyId);
  }

  /**
   * Owner can approve kitty
   */
  function approveKitty(address _to, uint256 _kittyId) external  onlyOwner {
    kittyCore.approve(_to, _kittyId);
  }

  /**
   * Owner can start sales auction for kitty owned by contract
   */
  function createSaleAuction(uint256 _kittyId, uint256 _startingPrice, uint256 _endingPrice, uint256 _duration) external onlyOwner {
    kittyCore.createSaleAuction(_kittyId, _startingPrice, _endingPrice, _duration);
  }

  /**
   * Owner can cancel sales auction for kitty owned by contract
   */
  function cancelSaleAuction(uint256 _kittyId) external onlyOwner {
    saleAuction.cancelAuction(_kittyId);
  }

  /**
   * Owner can start siring auction for kitty owned by contract
   */
  function createSiringAuction(uint256 _kittyId, uint256 _startingPrice, uint256 _endingPrice, uint256 _duration) external onlyOwner {
    kittyCore.createSiringAuction(_kittyId, _startingPrice, _endingPrice, _duration);
  }

  /**
   * Owner can cancel siring auction for kitty owned by contract
   */
  function cancelSiringAuction(uint256 _kittyId) external onlyOwner {
    siringAuction.cancelAuction(_kittyId);
  }
}

 /**
 * @title SimpleBreeding
 * @dev Simple breeding contract allows dedicated breeder to breed kitties on behalf of owner, while owner retains control over funds and kitties.
 * Breeder gets reward per each successful breed. Breeder can breed when contract is not paused.
 * Owner should transfer kitties and funds to contact to breeding starts and withdraw afterwards.
 * Breeder can only breed kitties owned by contract and cannot transfer funds or kitties itself.
 */

contract SimpleBreeding is CKProxy {
  address payable public breeder;
  uint256 public breederReward;
  uint256 public originalBreederReward;
  uint256 public maxBreedingFee;

  event Breed(address breeder, uint256 matronId, uint256 sireId, uint256 reward);
  event MaxBreedingFeeChange(uint256 oldBreedingFee, uint256 newBreedingFee);
  event BreederRewardChange(uint256 oldBreederReward, uint256 newBreederReward);

  constructor(address payable _owner, address payable _breeder, address _kittyCoreAddress, uint256 _breederReward) CKProxy(_owner, _kittyCoreAddress) public {
    require(_breeder != address(0));
    breeder = _breeder;
    maxBreedingFee = kittyCore.autoBirthFee();
    breederReward = _breederReward;
    originalBreederReward = _breederReward;
  }

  /**
   * Contract funds are used to cover breeding fees and pay callee
   */
  function () external payable {}

  /**
   * Owner can withdraw funds from contract
   */
  function withdraw(uint256 amount) external onlyOwner {
    owner.transfer(amount);
  }

  /**
   * Owner can adjust breedering fee if needed
   */
  function setMaxBreedingFee(
    uint256 _maxBreedingFee
  ) external onlyOwner {
    emit MaxBreedingFeeChange(maxBreedingFee, _maxBreedingFee);
    maxBreedingFee = _maxBreedingFee;
  }

   /**
   * Owner or breeder can change breeder's reward if needed.
   * Breeder can lower reward to make more attractive offer, it cannot set more than was originally agreed.
   * Owner can increase reward to motivate breeder to breed during high gas price, it cannot set less than was set by breeder.
   */
  function setBreederReward(
    uint256 _breederReward
  ) external {
    require(msg.sender == breeder || msg.sender == owner);
    
    if(msg.sender == owner) {
      require(_breederReward >= originalBreederReward || _breederReward > breederReward, 'Reward value is less than required');
    } else if(msg.sender == breeder) {
      require(_breederReward <= originalBreederReward, 'Reward value is more than original');
    }

    emit BreederRewardChange(breederReward, _breederReward);
    breederReward = _breederReward;
  }

  /**
   * Breeder can call this function to breed kitties on behalf of owner
   * Owner can breed as well
   */
  function breed(uint256 _matronId, uint256 _sireId) external whenNotPaused {
    require(msg.sender == breeder || msg.sender == owner);
    uint256 fee = kittyCore.autoBirthFee();
    require(fee <= maxBreedingFee);
    kittyCore.breedWithAuto.value(fee)(_matronId, _sireId);

    uint256 reward = 0;
    // breeder can reenter but that's OK, since breeder is payed per successful breed
    if(msg.sender == breeder) {
      reward = breederReward;
      breeder.transfer(reward);
    }

    emit Breed(msg.sender, _matronId, _sireId, reward);
  }

  function destroy() public onlyOwner {
    require(kittyCore.balanceOf(address(this)) == 0, 'Contract has tokens');
    selfdestruct(owner);
  }

  function destroyAndSend(address payable _recipient) public onlyOwner {
    require(kittyCore.balanceOf(address(this)) == 0, 'Contract has tokens');
    selfdestruct(_recipient);
  }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_kittyId","type":"uint256"}],"name":"approveKitty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"originalBreederReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_kittyId","type":"uint256"}],"name":"cancelSiringAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"siringAuction","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"kittyCore","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_maxBreedingFee","type":"uint256"}],"name":"setMaxBreedingFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_kittyId","type":"uint256"},{"name":"_startingPrice","type":"uint256"},{"name":"_endingPrice","type":"uint256"},{"name":"_duration","type":"uint256"}],"name":"createSaleAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_breederReward","type":"uint256"}],"name":"setBreederReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_kittyId","type":"uint256"},{"name":"_startingPrice","type":"uint256"},{"name":"_endingPrice","type":"uint256"},{"name":"_duration","type":"uint256"}],"name":"createSiringAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_kittyIds","type":"uint256[]"}],"name":"transferKittyBulk","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"breeder","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_kittyId","type":"uint256"}],"name":"transferKittyFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_kittyId","type":"uint256"}],"name":"cancelSaleAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"breederReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_matronId","type":"uint256"},{"name":"_sireId","type":"uint256"}],"name":"breed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"saleAuction","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"}],"name":"destroyAndSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxBreedingFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_kittyId","type":"uint256"}],"name":"transferKitty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_breeder","type":"address"},{"name":"_kittyCoreAddress","type":"address"},{"name":"_breederReward","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"breeder","type":"address"},{"indexed":false,"name":"matronId","type":"uint256"},{"indexed":false,"name":"sireId","type":"uint256"},{"indexed":false,"name":"reward","type":"uint256"}],"name":"Breed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldBreedingFee","type":"uint256"},{"indexed":false,"name":"newBreedingFee","type":"uint256"}],"name":"MaxBreedingFeeChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldBreederReward","type":"uint256"},{"indexed":false,"name":"newBreederReward","type":"uint256"}],"name":"BreederRewardChange","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

Deployed Bytecode

0x60806040526004361061019d576000357c0100000000000000000000000000000000000000000000000000000000900480638456cb59116100ee578063d0826cbb116100a7578063f2fde38b11610081578063f2fde38b146107b6578063f5074f4114610807578063fc1e747614610858578063ffc42470146108835761019d565b8063d0826cbb146106ef578063d9ecad7b1461071a578063e6cbe3511461075f5761019d565b80638456cb59146104ce5780638da5cb5b146104e55780638fb4fc4f1461053c578063ae9dfc4d146105e2578063b2e2418a14610639578063c31f586d146106b45761019d565b80633d280e8e1161015b578063489b388c11610135578063489b388c146103f45780634ad8c9381461042f5780635c975abb1461048857806383197ef0146104b75761019d565b80633d280e8e146103495780633d7d3f5a146103845780633f4ba83a146103dd5761019d565b8062aa418f1461019f5780630504d9c5146101fa578063103335671461022557806321717ebf146102605780632e1a7d4d146102b75780633d115334146102f2575b005b3480156101ab57600080fd5b506101f8600480360360408110156101c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108de565b005b34801561020657600080fd5b5061020f610a1a565b6040518082815260200191505060405180910390f35b34801561023157600080fd5b5061025e6004803603602081101561024857600080fd5b8101908080359060200190929190505050610a20565b005b34801561026c57600080fd5b50610275610b27565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102c357600080fd5b506102f0600480360360208110156102da57600080fd5b8101908080359060200190929190505050610b4d565b005b3480156102fe57600080fd5b50610307610c13565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035557600080fd5b506103826004803603602081101561036c57600080fd5b8101908080359060200190929190505050610c39565b005b34801561039057600080fd5b506103db600480360360808110156103a757600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610cdf565b005b3480156103e957600080fd5b506103f2610e01565b005b34801561040057600080fd5b5061042d6004803603602081101561041757600080fd5b8101908080359060200190929190505050610f28565b005b34801561043b57600080fd5b506104866004803603608081101561045257600080fd5b810190808035906020019092919080359060200190929190803590602001909291908035906020019092919050505061119e565b005b34801561049457600080fd5b5061049d6112c0565b604051808215151515815260200191505060405180910390f35b3480156104c357600080fd5b506104cc6112d3565b005b3480156104da57600080fd5b506104e36114d5565b005b3480156104f157600080fd5b506104fa6115fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561054857600080fd5b506105e06004803603604081101561055f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561059c57600080fd5b8201836020820111156105ae57600080fd5b803590602001918460208302840111640100000000831117156105d057600080fd5b9091929391929390505050611623565b005b3480156105ee57600080fd5b506105f7611793565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561064557600080fd5b506106b26004803603606081101561065c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117b9565b005b3480156106c057600080fd5b506106ed600480360360208110156106d757600080fd5b810190808035906020019092919050505061192a565b005b3480156106fb57600080fd5b50610704611a31565b6040518082815260200191505060405180910390f35b34801561072657600080fd5b5061075d6004803603604081101561073d57600080fd5b810190808035906020019092919080359060200190929190505050611a37565b005b34801561076b57600080fd5b50610774611e40565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107c257600080fd5b50610805600480360360208110156107d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e66565b005b34801561081357600080fd5b506108566004803603602081101561082a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ecd565b005b34801561086457600080fd5b5061086d6120ae565b6040518082815260200191505060405180910390f35b34801561088f57600080fd5b506108dc600480360360408110156108a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506120b4565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093957600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b383836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156109fe57600080fd5b505af1158015610a12573d6000803e3d6000fd5b505050505050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a7b57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166396b5a755826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015610b0c57600080fd5b505af1158015610b20573d6000803e3d6000fd5b5050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ba857600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c0f573d6000803e3d6000fd5b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c9457600080fd5b7f693d3e7d14d8f845811b787f8d28c1aef4b4bac15721fbea5dc8a8a7c85da61b60075482604051808381526020018281526020019250505060405180910390a18060078190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d3a57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633d7d3f5a858585856040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180858152602001848152602001838152602001828152602001945050505050600060405180830381600087803b158015610de357600080fd5b505af1158015610df7573d6000803e3d6000fd5b5050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e5c57600080fd5b600060149054906101000a900460ff161515610ee0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f436f6e74726163742073686f756c64206265207061757365640000000000000081525060200191505060405180910390fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610fd057506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610fdb57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561109e5760065481101580611042575060055481115b1515611099576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806122eb6022913960400191505060405180910390fd5b611153565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611152576006548111151515611151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061230d6022913960400191505060405180910390fd5b5b5b7ffdac16f44d837cccd5f18e297e4e2c1366844b81ed087ea6506eb1f1bcd7b6f460055482604051808381526020018281526020019250505060405180910390a18060058190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111f957600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ad8c938858585856040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180858152602001848152602001838152602001828152602001945050505050600060405180830381600087803b1580156112a257600080fd5b505af11580156112b6573d6000803e3d6000fd5b5050505050505050565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561132e57600080fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156113eb57600080fd5b505afa1580156113ff573d6000803e3d6000fd5b505050506040513d602081101561141557600080fd5b810190808051906020019092919050505014151561149b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f436f6e74726163742068617320746f6b656e730000000000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561153057600080fd5b600060149054906101000a900460ff161515156115b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f436f6e747261637420706175736564000000000000000000000000000000000081525060200191505060405180910390fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561167e57600080fd5b60008090505b8282905081101561178d57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585858581811015156116dc57fe5b905060200201356040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561176857600080fd5b505af115801561177c573d6000803e3d6000fd5b505050508080600101915050611684565b50505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561181457600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561190d57600080fd5b505af1158015611921573d6000803e3d6000fd5b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561198557600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166396b5a755826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015611a1657600080fd5b505af1158015611a2a573d6000803e3d6000fd5b5050505050565b60055481565b600060149054906101000a900460ff16151515611abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f436f6e747261637420706175736564000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611b6457506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611b6f57600080fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b0c35c056040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611bf557600080fd5b505afa158015611c09573d6000803e3d6000fd5b505050506040513d6020811015611c1f57600080fd5b810190808051906020019092919050505090506007548111151515611c4357600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f7d8c8838285856040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303818588803b158015611cdc57600080fd5b505af1158015611cf0573d6000803e3d6000fd5b50505050506000809050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611dbf576005549050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611dbd573d6000803e3d6000fd5b505b7fddf1e8fec06a50aa72b8a39a06787808c53eca73b2bd1cc995681cf7b801465033858584604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a150505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ec157600080fd5b611eca816121f0565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f2857600080fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611fe557600080fd5b505afa158015611ff9573d6000803e3d6000fd5b505050506040513d602081101561200f57600080fd5b8101908080519060200190929190505050141515612095576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f436f6e74726163742068617320746f6b656e730000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16ff5b60075481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561210f57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156121d457600080fd5b505af11580156121e8573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561222c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe5265776172642076616c7565206973206c657373207468616e2072657175697265645265776172642076616c7565206973206d6f7265207468616e206f726967696e616ca165627a7a72305820415d3718bd51e9a2d179ab2e727c3e3c482db902f7607a5a94da2c6775443e3a0029

Deployed Bytecode Sourcemap

8139:3208:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6520:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6520:118:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6520:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8247:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8247:36:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7534:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7534:116:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7534:116:0;;;;;;;;;;;;;;;;;:::i;:::-;;5421:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5421:37:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9108:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9108:88:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9108:88:0;;;;;;;;;;;;;;;;;:::i;:::-;;5341:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5341:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9264:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9264:191:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9264:191:0;;;;;;;;;;;;;;;;;:::i;:::-;;6722:220;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6722:220:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6722:220:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5195:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5195:105:0;;;:::i;:::-;;9775:544;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9775:544:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9775:544:0;;;;;;;;;;;;;;;;;:::i;:::-;;7224:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7224:224:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;7224:224:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4776:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4776:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11008:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11008:146:0;;;:::i;:::-;;5084:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5084:103:0;;;:::i;:::-;;3827:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3827:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6065:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6065:201:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6065:201:0;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6065:201:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6065:201:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6065:201:0;;;;;;;;;;;;:::i;:::-;;8179:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8179:30:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6321:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6321:149:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6321:149:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7027:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7027:112:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7027:112:0;;;;;;;;;;;;;;;;;:::i;:::-;;8214:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8214:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10442:560;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10442:560:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10442:560:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5381:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5381:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4201:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4201:113:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4201:113:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11160:184;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11160:184:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11160:184:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8288:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8288:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5895:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5895:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5895:119:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6520:118;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;6600:9;;;;;;;;;;;:17;;;6618:3;6623:8;6600:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6600:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6600:32:0;;;;6520:118;;:::o;8247:36::-;;;;:::o;7534:116::-;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;7607:13;;;;;;;;;;;:27;;;7635:8;7607:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7607:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7607:37:0;;;;7534:116;:::o;5421:37::-;;;;;;;;;;;;;:::o;9108:88::-;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;9168:5;;;;;;;;;;;:14;;:22;9183:6;9168:22;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9168:22:0;9108:88;:::o;5341:35::-;;;;;;;;;;;;;:::o;9264:191::-;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;9357:53;9378:14;;9394:15;9357:53;;;;;;;;;;;;;;;;;;;;;;;;9434:15;9417:14;:32;;;;9264:191;:::o;6722:220::-;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;6858:9;;;;;;;;;;;:27;;;6886:8;6896:14;6912:12;6926:9;6858:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6858:78:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6858:78:0;;;;6722:220;;;;:::o;5195:105::-;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;5020:6;;;;;;;;;;;5012:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5262:5;5253:6;;:14;;;;;;;;;;;;;;;;;;5283:9;;;;;;;;;;5195:105::o;9775:544::-;9873:7;;;;;;;;;;;9859:21;;:10;:21;;;:44;;;;9898:5;;;;;;;;;;;9884:19;;:10;:19;;;9859:44;9851:53;;;;;;;;9934:5;;;;;;;;;;;9920:19;;:10;:19;;;9917:296;;;9976:21;;9958:14;:39;;:73;;;;10018:13;;10001:14;:30;9958:73;9950:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9917:296;;;10101:7;;;;;;;;;;;10087:21;;:10;:21;;;10084:129;;;10145:21;;10127:14;:39;;10119:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10084:129;9917:296;10226:50;10246:13;;10261:14;10226:50;;;;;;;;;;;;;;;;;;;;;;;;10299:14;10283:13;:30;;;;9775:544;:::o;7224:224::-;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;7362:9;;;;;;;;;;;:29;;;7392:8;7402:14;7418:12;7432:9;7362:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7362:80:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7362:80:0;;;;7224:224;;;;:::o;4776:26::-;;;;;;;;;;;;;:::o;11008:146::-;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;11097:1;11059:9;;;;;;;;;;;:19;;;11087:4;11059:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11059:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11059:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11059:34:0;;;;;;;;;;;;;;;;:39;11051:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11142:5;;;;;;;;;;;11129:19;;;5084:103;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;4925:6;;;;;;;;;;;4924:7;4916:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5152:4;5143:6;;:13;;;;;;;;;;;;;;;;;;5172:7;;;;;;;;;;5084:103::o;3827:28::-;;;;;;;;;;;;;:::o;6065:201::-;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;6165:9;6177:1;6165:13;;6161:100;6184:9;;:16;;6180:1;:20;6161:100;;;6216:9;;;;;;;;;;;:18;;;6235:3;6240:9;;6250:1;6240:12;;;;;;;;;;;;;;;6216:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6216:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6216:37:0;;;;6202:3;;;;;;;6161:100;;;;6065:201;;;:::o;8179:30::-;;;;;;;;;;;;;:::o;6321:149::-;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;6420:9;;;;;;;;;;;:22;;;6443:5;6450:3;6455:8;6420:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6420:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6420:44:0;;;;6321:149;;;:::o;7027:112::-;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;7098:11;;;;;;;;;;;:25;;;7124:8;7098:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7098:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7098:35:0;;;;7027:112;:::o;8214:28::-;;;;:::o;10442:560::-;4925:6;;;;;;;;;;;4924:7;4916:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10545:7;;;;;;;;;;;10531:21;;:10;:21;;;:44;;;;10570:5;;;;;;;;;;;10556:19;;:10;:19;;;10531:44;10523:53;;;;;;;;10583:11;10597:9;;;;;;;;;;;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10597:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10597:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10597:24:0;;;;;;;;;;;;;;;;10583:38;;10643:14;;10636:3;:21;;10628:30;;;;;;;;10665:9;;;;;;;;;;;:23;;;10695:3;10700:9;10711:7;10665:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10665:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10665:54:0;;;;;10728:14;10745:1;10728:18;;10857:7;;;;;;;;;;;10843:21;;:10;:21;;;10840:98;;;10884:13;;10875:22;;10906:7;;;;;;;;;;;:16;;:24;10923:6;10906:24;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10906:24:0;10840:98;10951:45;10957:10;10969:9;10980:7;10989:6;10951:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4962:1;;10442:560;;:::o;5381:35::-;;;;;;;;;;;;;:::o;4201:113::-;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;4279:29;4298:9;4279:18;:29::i;:::-;4201:113;:::o;11160:184::-;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;11282:1;11244:9;;;;;;;;;;;:19;;;11272:4;11244:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11244:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11244:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11244:34:0;;;;;;;;;;;;;;;;:39;11236:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11327:10;11314:24;;;8288:29;;;;:::o;5895:119::-;4175:5;;;;;;;;;;;4161:19;;:10;:19;;;4153:28;;;;;;;;5975:9;;;;;;;;;;;:18;;;5994:3;5999:8;5975:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5975:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5975:33:0;;;;5895:119;;:::o;4320:183::-;4420:1;4399:23;;:9;:23;;;;4391:32;;;;;;;;4463:9;4435:38;;4456:5;;;;;;;;;;;4435:38;;;;;;;;;;;;4488:9;4480:5;;:17;;;;;;;;;;;;;;;;;;4320:183;:::o

Swarm Source

bzzr://415d3718bd51e9a2d179ab2e727c3e3c482db902f7607a5a94da2c6775443e3a

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  ]
[ 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.