Contract 0xcb283c31ec64eaf4d9d383828c5eaee157eb7830

Contract Overview

Balance:
0 Ether
TxHash Block Age From To Value [TxFee]
0xad8e8a23331bf6ed0253246c353607ff3497748dacd8f9ce4e442133b82aaf7a384984239 days 13 hrs ago0xfb38e6973c2d6b33ca0d8d2d10107fa13def920a IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.00326832
0x96abdaeadf57a0f8cc59bb55eeb310e316e2538c187ba90cca722c8c881c5a0a383138042 days 18 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.00074312
0x084d9df8bdb38928042f0f262ee4da3c9c9158995f5b07ac2a8ce7d294924d3a383137642 days 18 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.0001132956
0x98dd6382dac1f45dfaf547e9aa8afea2ab64e05849bb9c076160b1fb451583c5383136542 days 18 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.00056912
0x76460a4e212c663b2bed4332c9b14c1464ddf762b5145de6d7911afbc14eaf81383135942 days 18 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.0001313199
0x833cee6ae6b980c8a6372010094b85be8cec03fe6c6650f3f0c3a89af31d738e383133242 days 18 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.0005805024
0xca264238c4b7955b25beca43cd35fc8dece184c04ec6b1c805122695fe0807bd383121242 days 19 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.000205992
0x782f4abc93afe3c7073e1b626907365c357c337444fac81d2b2c38bf544075d4382890843 days 4 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.001188992
0xfd551cc10d96ba9d4d1dd02e81052c503e81a471f759eaa253d70005886f405a382872043 days 5 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.000489231
0xa362aec502e10f8a59a050e686fb57b47cdee7b7540ee991bfb22f994ebc7ecf382866643 days 5 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.000891744
0xfd48b34aaeb92131210edd015bdec18ba8de985625cbe2b7c00ddfb91a06b29c382865443 days 5 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.0018
0xb8c4a10c0828072415d7a090cb545130f0604a409bc9bca543d3c2f1c762a35e382865243 days 5 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.000154494
0x881f43cba80c7d4eeda40e7936065fceae838330fef7111451d869fdde789598382863243 days 5 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.00054512
0xacbaa19c7c07ef7f4778690b577e149f0802e33feb75e21152ea32d0514b2221382862743 days 5 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.000128745
0xe5706c0a6ffe698f2f1f9dd952ff3e2eb96d70a118392452aa1ada3093f59570382854843 days 6 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.00054512
0xee3bd7b0e88ee0b6d22470da75617e57e0e13f18ae0bfc8611289370a83af022382854543 days 6 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.000128745
0x885387ca4ca7b7410d8c3a1b4854026135f2348c00175c2a6d2594665cd056f1382852943 days 6 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.00074312
0x146882bc863312941442a515729f0c7b75a6473e312b5ce678babcadc3901585382852643 days 6 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.000128745
0x3f44623e970cb758c78072b5edef5067930a8fe632032feadaa14c2ee467dd47382851943 days 6 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.00074312
0x294737bb67c5954f61e30a4cec2e2773c03241904b083fd540d71a95f55726d7382851643 days 6 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.000128745
0x4b23154cee2b3c95e97cc514301eb746317a2fda13c03fe4bcfca2b93fe122da382795343 days 8 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.00239712
0xa650f366e2a350198be03afa6a6bd066dea8c79eb8cd3bb98a5c580e8ce18d19382794243 days 8 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.000566478
0xaf31091c81d66496beec43318ebf53df7f05616bd012df1a78ec9bab5da9e26d382792243 days 8 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.00326832
0x2a6e243fdaab20a6e5bfe0174852e2d863e2b70929b15508f59372af235c247c382757043 days 10 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.000154494
0xabf8ad60962ec873f1bed1b02be5bbaeee597039b1e446c17222ff7223dcf2a6382756143 days 10 hrs ago0xe4d924bf3db10312cab7b29679c95f18dc2006ad IN  0xcb283c31ec64eaf4d9d383828c5eaee157eb78300 Ether0.000152814
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Exact Match)

Contract Name:
SocialTrading

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No

Runs (Optimizer):
200

Contract Source Code

pragma solidity ^0.4.24;

// File: /home/robot/CarboneumProject/contracts/contracts/socialtrading/libs/LibUserInfo.sol

contract LibUserInfo {
  struct Following {
    address leader;
    uint percentage; // percentage (100 = 100%)
    uint index;
  }
}

// File: openzeppelin-solidity/contracts/ownership/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


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


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

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

  /**
   * @dev Allows the current owner to relinquish control of the contract.
   * @notice Renouncing to ownership will leave the contract without an owner.
   * It will not be possible to call the functions with the `onlyOwner`
   * modifier anymore.
   */
  function renounceOwnership() public onlyOwner {
    emit OwnershipRenounced(owner);
    owner = address(0);
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function transferOwnership(address _newOwner) public onlyOwner {
    _transferOwnership(_newOwner);
  }

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address _newOwner) internal {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }
}

// File: /home/robot/CarboneumProject/contracts/contracts/socialtrading/interfaces/ISocialTrading.sol

contract ISocialTrading is Ownable {

  /**
   * @dev Follow leader to copy trade.
   */
  function follow(address _leader, uint256 _percentage) external;

  /**
   * @dev UnFollow leader to stop copy trade.
   */
  function unfollow(address _leader) external;

  /**
  * Friends - we refer to "friends" as the users that a specific user follows (e.g., following).
  */
  function getFriends(address _user) public view returns (address[]);

  /**
  * Followers - refers to the users that follow a specific user.
  */
  function getFollowers(address _user) public view returns (address[]);
}

// File: /home/robot/CarboneumProject/contracts/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * See https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  function totalSupply() public view returns (uint256);
  function balanceOf(address _who) public view returns (uint256);
  function transfer(address _to, uint256 _value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

// File: openzeppelin-solidity/contracts/token/ERC20/ERC20.sol

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address _owner, address _spender)
    public view returns (uint256);

  function transferFrom(address _from, address _to, uint256 _value)
    public returns (bool);

  function approve(address _spender, uint256 _value) public returns (bool);
  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}

// File: contracts/socialtrading/SocialTrading.sol

contract SocialTrading is ISocialTrading {
  ERC20 public feeToken;
  address public feeWallet;

  mapping(address => mapping(address => LibUserInfo.Following)) public followerToLeaders; // Following list
  mapping(address => address[]) public followerToLeadersIndex; // Following list
  mapping(address => mapping(address => uint8)) public leaderToFollowers;
  mapping(address => address[]) public leaderToFollowersIndex; // Follower list

  mapping(address => bool) public relays;
  mapping(address => uint256) public rewards;

  event Follow(address indexed leader, address indexed follower, uint percentage);
  event UnFollow(address indexed leader, address indexed follower);
  event AddRelay(address indexed relay);
  event RemoveRelay(address indexed relay);
  event PaidReward(
    address indexed leader,
    address indexed follower,
    address indexed relay,
    uint rewardAndFee,
    bytes32 openTradeHash,
    bytes32 closeTradeHash
  );

  constructor (
    address _feeWallet,
    ERC20 _feeToken
  ) public
  {
    feeWallet = _feeWallet;
    feeToken = _feeToken;
  }

  function() public {
    revert();
  }

  /**
   * @dev Follow leader to copy trade.
   */
  function follow(address _leader, uint256 _percentage) external {
    require(getCurrentPercentage(msg.sender) + _percentage <= 100 ether, "Following percentage more than 100%.");
    uint8 index = uint8(followerToLeadersIndex[msg.sender].push(_leader) - 1);
    followerToLeaders[msg.sender][_leader] = LibUserInfo.Following(
      _leader,
      _percentage,
      index
    );

    uint8 index2 = uint8(leaderToFollowersIndex[_leader].push(msg.sender) - 1);
    leaderToFollowers[_leader][msg.sender] = index2;
    emit Follow(_leader, msg.sender, _percentage);
  }

  /**
   * @dev UnFollow leader to stop copy trade.
   */
  function unfollow(address _leader) external {
    _unfollow(msg.sender, _leader);
  }

  function _unfollow(address _follower, address _leader) private {
    uint8 rowToDelete = uint8(followerToLeaders[_follower][_leader].index);
    address keyToMove = followerToLeadersIndex[_follower][followerToLeadersIndex[_follower].length - 1];
    followerToLeadersIndex[_follower][rowToDelete] = keyToMove;
    followerToLeaders[_follower][keyToMove].index = rowToDelete;
    followerToLeadersIndex[_follower].length -= 1;

    uint8 rowToDelete2 = uint8(leaderToFollowers[_leader][_follower]);
    address keyToMove2 = leaderToFollowersIndex[_leader][leaderToFollowersIndex[_leader].length - 1];
    leaderToFollowersIndex[_leader][rowToDelete2] = keyToMove2;
    leaderToFollowers[_leader][keyToMove2] = rowToDelete2;
    leaderToFollowersIndex[_leader].length -= 1;
    emit UnFollow(_leader, _follower);
  }

  function getFriends(address _user) public view returns (address[]) {
    address[] memory result = new address[](followerToLeadersIndex[_user].length);
    uint counter = 0;
    for (uint i = 0; i < followerToLeadersIndex[_user].length; i++) {
      result[counter] = followerToLeadersIndex[_user][i];
      counter++;
    }
    return result;
  }

  function getFollowers(address _user) public view returns (address[]) {
    address[] memory result = new address[](leaderToFollowersIndex[_user].length);
    uint counter = 0;
    for (uint i = 0; i < leaderToFollowersIndex[_user].length; i++) {
      result[counter] = leaderToFollowersIndex[_user][i];
      counter++;
    }
    return result;
  }

  function getCurrentPercentage(address _user) internal view returns (uint) {
    uint sum = 0;
    for (uint i = 0; i < followerToLeadersIndex[_user].length; i++) {
      address leader = followerToLeadersIndex[_user][i];
      sum += followerToLeaders[_user][leader].percentage;
    }
    return sum;
  }

  /**
   * @dev Register relay to contract by the owner.
   */
  function registerRelay(address _relay) onlyOwner external {
    relays[_relay] = true;
    emit AddRelay(_relay);
  }

  /**
   * @dev Remove relay.
   */
  function removeRelay(address _relay) onlyOwner external {
    relays[_relay] = false;
    emit RemoveRelay(_relay);
  }

  function distributeReward(
    address _leader,
    address _follower,
    uint _reward,
    uint _relayFee,
    bytes32 _openTradeHash,
    bytes32 _closeTradeHash
  ) external {
    address relay = msg.sender;
    require(relays[relay]);
    // Accept only trusted relay
    uint256 allowance = feeToken.allowance(_follower, address(this));
    uint256 balance = feeToken.balanceOf(_follower);
    uint rewardAndFee = _reward + _relayFee;
    if ((balance >= rewardAndFee) && (allowance >= rewardAndFee)) {
      feeToken.transferFrom(_follower, address(this), rewardAndFee);
      rewards[_leader] += _reward;
      rewards[relay] += _relayFee;
      emit PaidReward(
        _leader,
        _follower,
        relay,
        rewardAndFee,
        _openTradeHash,
        _closeTradeHash
      );
    } else {
      _unfollow(_follower, _leader);
    }
  }

  function claimReward() external {
    require(rewards[msg.sender] > 0);
    uint256 reward = rewards[msg.sender];
    rewards[msg.sender] = 0;
    require(feeToken.transfer(msg.sender, reward));
  }
}

Contract ABI

[{"constant":false,"inputs":[{"name":"_leader","type":"address"}],"name":"unfollow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"rewards","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_leader","type":"address"},{"name":"_percentage","type":"uint256"}],"name":"follow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_leader","type":"address"},{"name":"_follower","type":"address"},{"name":"_reward","type":"uint256"},{"name":"_relayFee","type":"uint256"},{"name":"_openTradeHash","type":"bytes32"},{"name":"_closeTradeHash","type":"bytes32"}],"name":"distributeReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"getFriends","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"leaderToFollowersIndex","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"followerToLeadersIndex","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"leaderToFollowers","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"followerToLeaders","outputs":[{"name":"leader","type":"address"},{"name":"percentage","type":"uint256"},{"name":"index","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"getFollowers","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"relays","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_relay","type":"address"}],"name":"removeRelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_relay","type":"address"}],"name":"registerRelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feeWallet","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"},{"inputs":[{"name":"_feeWallet","type":"address"},{"name":"_feeToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"leader","type":"address"},{"indexed":true,"name":"follower","type":"address"},{"indexed":false,"name":"percentage","type":"uint256"}],"name":"Follow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"leader","type":"address"},{"indexed":true,"name":"follower","type":"address"}],"name":"UnFollow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"relay","type":"address"}],"name":"AddRelay","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"relay","type":"address"}],"name":"RemoveRelay","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"leader","type":"address"},{"indexed":true,"name":"follower","type":"address"},{"indexed":true,"name":"relay","type":"address"},{"indexed":false,"name":"rewardAndFee","type":"uint256"},{"indexed":false,"name":"openTradeHash","type":"bytes32"},{"indexed":false,"name":"closeTradeHash","type":"bytes32"}],"name":"PaidReward","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

Contract Creation Code

608060405234801561001057600080fd5b506040516040806125ed8339810180604052810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506124dd806101106000396000f300608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063015a4ead146101195780630700037d1461015c5780630ec83370146101b357806323e601d9146102005780635cbb7caa146102935780635f4daa1c1461032b578063647846a5146103b85780636515485c1461040f578063715018a61461049c5780638da5cb5b146104b35780638fa02c751461050a578063b88a802f14610587578063ba81626a1461059e578063c2fe20221461064f578063cb8d406f146106e7578063cd151e9a14610742578063d83bf1a714610785578063f25f4b56146107c8578063f2fde38b1461081f575b34801561011357600080fd5b50600080fd5b34801561012557600080fd5b5061015a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610862565b005b34801561016857600080fd5b5061019d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061086f565b6040518082815260200191505060405180910390f35b3480156101bf57600080fd5b506101fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610887565b005b34801561020c57600080fd5b50610291600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080356000191690602001909291908035600019169060200190929190505050610c98565b005b34801561029f57600080fd5b506102d4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111c2565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156103175780820151818401526020810190506102fc565b505050509050019250505060405180910390f35b34801561033757600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611370565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103c457600080fd5b506103cd6113bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041b57600080fd5b5061045a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113e3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104a857600080fd5b506104b1611430565b005b3480156104bf57600080fd5b506104c8611532565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561051657600080fd5b5061056b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611557565b604051808260ff1660ff16815260200191505060405180910390f35b34801561059357600080fd5b5061059c611586565b005b3480156105aa57600080fd5b506105ff600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061176a565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b34801561065b57600080fd5b50610690600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117c1565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106d35780820151818401526020810190506106b8565b505050509050019250505060405180910390f35b3480156106f357600080fd5b50610728600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061196f565b604051808215151515815260200191505060405180910390f35b34801561074e57600080fd5b50610783600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061198f565b005b34801561079157600080fd5b506107c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a88565b005b3480156107d457600080fd5b506107dd611b81565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561082b57600080fd5b50610860600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ba7565b005b61086c3382611c0e565b50565b60086020528060005260406000206000915090505481565b60008068056bc75e2d631000008361089e336121f8565b011115151561093b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f466f6c6c6f77696e672070657263656e74616765206d6f7265207468616e203181526020017f3030252e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6001600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208590806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055500391506060604051908101604052808573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018360ff16815250600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201559050506001600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000203390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003905080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055503373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f746fcfa151ee3943ec31afc7f9fcd10ff63205b70c789b7aa01117eca7a6281f856040518082815260200191505060405180910390a350505050565b600080600080339350600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610cf957600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e8a306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015610dea57600080fd5b505af1158015610dfe573d6000803e3d6000fd5b505050506040513d6020811015610e1457600080fd5b81019080805190602001909291905050509250600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610ee457600080fd5b505af1158015610ef8573d6000803e3d6000fd5b505050506040513d6020811015610f0e57600080fd5b810190808051906020019092919050505091508688019050808210158015610f365750808310155b156111ab57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8a30846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561103457600080fd5b505af1158015611048573d6000803e3d6000fd5b505050506040513d602081101561105e57600080fd5b81019080805190602001909291905050505087600860008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555086600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fd69d7776d9f3c15c6d9b18d537e3c1a7aceea7595466aef76a4d9fec9b696705848a8a6040518084815260200183600019166000191681526020018260001916600019168152602001935050505060405180910390a46111b6565b6111b5898b611c0e565b5b50505050505050505050565b606080600080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506040519080825280602002602001820160405280156112395781602001602082028038833980820191505090505b50925060009150600090505b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905081101561136557600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020818154811015156112db57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838381518110151561131457fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505081806001019250508080600101915050611245565b829350505050919050565b60066020528160005260406000208181548110151561138b57fe5b906000526020600020016000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6004602052816000526040600020818154811015156113fe57fe5b906000526020600020016000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561148b57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600080600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115156115d557600080fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561172157600080fd5b505af1158015611735573d6000803e3d6000fd5b505050506040513d602081101561174b57600080fd5b8101908080519060200190929190505050151561176757600080fd5b50565b6003602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b606080600080600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506040519080825280602002602001820160405280156118385781602001602082028038833980820191505090505b50925060009150600090505b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905081101561196457600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020818154811015156118da57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838381518110151561191357fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505081806001019250508080600101915050611844565b829350505050919050565b60076020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119ea57600080fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167ff12c0206b3e52e0fe51db0ee950cd00d656024f71d6d13d09dd94a0abac202fa60405160405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ae357600080fd5b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f6b161cd557275940c4a7a2c365afd73d3165ac15f4c545e703220bb7baa18ad460405160405180910390a250565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c0257600080fd5b611c0b81612366565b50565b600080600080600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549350600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905003815481101515611d2757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925082600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208560ff16815481101515611da457fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360ff16600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055506001600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081818054905003915081611ec89190612460565b50600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169150600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905003815481101515611fe657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208360ff1681548110151561206357fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055506001600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020818180549050039150816121959190612460565b508573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe5dcccfe8e7890c6d4aa94d44c3b409fb6f023337f29c3308077c0c4068192c460405160405180910390a3505050505050565b60008060008060009250600091505b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905082101561235b57600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561229d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154830192508180600101925050612207565b829350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156123a257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81548183558181111561248757818360005260206000209182019101612486919061248c565b5b505050565b6124ae91905b808211156124aa576000816000905550600101612492565b5090565b905600a165627a7a723058200bdd987dc4e83e0130df6cdfcc599d4f8a4523b92bbb083eaa2efb9a19b2ad430029000000000000000000000000100bcecd8da3ec5c4ea2886c5fd97287815c42f5000000000000000000000000d42debe4edc92bd5a3fbb4243e1eccf6d63a4a5d

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

000000000000000000000000100bcecd8da3ec5c4ea2886c5fd97287815c42f5000000000000000000000000d42debe4edc92bd5a3fbb4243e1eccf6d63a4a5d

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000100bcecd8da3ec5c4ea2886c5fd97287815c42f5
Arg [1] : 000000000000000000000000d42debe4edc92bd5a3fbb4243e1eccf6d63a4a5d

Swarm Source

bzzr://0bdd987dc4e83e0130df6cdfcc599d4f8a4523b92bbb083eaa2efb9a19b2ad43
Block Age Transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward