ETH Price: $3,047.50 (+2.25%)
Gas: 1 Gwei

Contract

0xFf19138b039D938db46bDDA0067DC4BA132ec71C
 
Transaction Hash
Method
Block
From
To
Value
Transfer201695562024-06-25 15:20:5911 days ago1719328859IN
0xFf19138b...A132ec71C
0 ETH0.0003665412.20909697
Transfer192648602024-02-19 22:51:23138 days ago1708383083IN
0xFf19138b...A132ec71C
0 ETH0.003660
Transfer190559482024-01-21 14:51:11167 days ago1705848671IN
0xFf19138b...A132ec71C
0 ETH0.000709115.05592564
Transfer189148362024-01-01 20:04:11187 days ago1704139451IN
0xFf19138b...A132ec71C
0 ETH0.0013088125.2131562
Transfer188244242023-12-20 3:23:59200 days ago1703042639IN
0xFf19138b...A132ec71C
0 ETH0.0010502934.98420508
Transfer187083982023-12-03 21:00:35216 days ago1701637235IN
0xFf19138b...A132ec71C
0 ETH0.0021480241.37025758
Approve183487352023-10-14 12:51:35266 days ago1697287895IN
0xFf19138b...A132ec71C
0 ETH0.000143935.50747331
Transfer179145702023-08-14 17:26:23327 days ago1692033983IN
0xFf19138b...A132ec71C
0 ETH0.0028319354.5547588
Transfer171433102023-04-28 8:02:35435 days ago1682668955IN
0xFf19138b...A132ec71C
0 ETH0.0020893260
Transfer171433092023-04-28 8:02:23435 days ago1682668943IN
0xFf19138b...A132ec71C
0 ETH0.0020893260
Transfer171433082023-04-28 8:02:11435 days ago1682668931IN
0xFf19138b...A132ec71C
0 ETH0.0020893260
Transfer171433062023-04-28 8:01:47435 days ago1682668907IN
0xFf19138b...A132ec71C
0 ETH0.0020871660
Transfer171432322023-04-28 7:46:47435 days ago1682668007IN
0xFf19138b...A132ec71C
0 ETH0.0020893260
Transfer171432282023-04-28 7:45:59435 days ago1682667959IN
0xFf19138b...A132ec71C
0 ETH0.0020893260
Transfer169890902023-04-06 10:47:35457 days ago1680778055IN
0xFf19138b...A132ec71C
0 ETH0.0019719237.98740025
Transfer169268022023-03-28 15:44:23466 days ago1680018263IN
0xFf19138b...A132ec71C
0 ETH0.002017838.86227895
Transfer168175882023-03-13 7:29:11481 days ago1678692551IN
0xFf19138b...A132ec71C
0 ETH0.002088660
Approve168097292023-03-12 4:59:11482 days ago1678597151IN
0xFf19138b...A132ec71C
0 ETH0.001165525
Transfer165771372023-02-07 13:15:59515 days ago1675775759IN
0xFf19138b...A132ec71C
0 ETH0.001380229.29
Transfer161317002022-12-07 8:38:23577 days ago1670402303IN
0xFf19138b...A132ec71C
0 ETH0.0018455653
Transfer159246712022-11-08 10:19:23606 days ago1667902763IN
0xFf19138b...A132ec71C
0 ETH0.0006842114.52
Transfer159212802022-11-07 22:58:11607 days ago1667861891IN
0xFf19138b...A132ec71C
0 ETH0.000563918.7830759
Transfer158731092022-11-01 5:28:23613 days ago1667280503IN
0xFf19138b...A132ec71C
0 ETH0.000324489.32478454
Approve157307462022-10-12 8:09:47633 days ago1665562187IN
0xFf19138b...A132ec71C
0 ETH0.0007913316.97414169
Transfer157018872022-10-08 7:30:23637 days ago1665214223IN
0xFf19138b...A132ec71C
0 ETH0.000310545.98375168
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Snetwork

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-01-19
*/

pragma solidity ^0.4.11;

contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) constant returns (uint256);
  function transfer(address to, uint256 value) returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) returns (bool);
  function approve(address spender, uint256 value) returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract ReentrancyGuard {

  /**
   * @dev We use a single lock for the whole contract.
   */
  bool private rentrancy_lock = false;

  /**
   * @dev Prevents a contract from calling itself, directly or indirectly.
   * @notice If you mark a function `nonReentrant`, you should also
   * mark it `external`. Calling one nonReentrant function from
   * another is not supported. Instead, you can implement a
   * `private` function doing the actual work, and a `external`
   * wrapper marked as `nonReentrant`.
   */
  modifier nonReentrant() {
    require(!rentrancy_lock);
    rentrancy_lock = true;
    _;
    rentrancy_lock = false;
  }

}

contract Ownable {
  address public owner;


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() {
    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 transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner {
    require(newOwner != address(0));
    owner = newOwner;
  }

}

contract Claimable is Ownable {
  address public pendingOwner;

  /**
   * @dev Modifier throws if called by any account other than the pendingOwner.
   */
  modifier onlyPendingOwner() {
    require(msg.sender == pendingOwner);
    _;
  }

  /**
   * @dev Allows the current owner to set the pendingOwner address.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner {
    pendingOwner = newOwner;
  }

  /**
   * @dev Allows the pendingOwner address to finalize the transfer.
   */
  function claimOwnership() onlyPendingOwner {
    owner = pendingOwner;
    pendingOwner = 0x0;
  }
}

contract Operational is Claimable {
    address public operator;

    function Operational(address _operator) {
      operator = _operator;
    }

    modifier onlyOperator() {
      require(msg.sender == operator);
      _;
    }

    function transferOperator(address newOperator) onlyOwner {
      require(newOperator != address(0));
      operator = newOperator;
    }

}

library SafeMath {
  function mul(uint256 a, uint256 b) internal constant returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal constant returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  function sub(uint256 a, uint256 b) internal constant returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal constant returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) returns (bool) {
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) constant returns (uint256 balance) {
    return balances[_owner];
  }

}

contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) allowed;


  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amout of tokens to be transfered
   */
  function transferFrom(address _from, address _to, uint256 _value) returns (bool) {
    var _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // require (_value <= _allowance);

    balances[_to] = balances[_to].add(_value);
    balances[_from] = balances[_from].sub(_value);
    allowed[_from][msg.sender] = _allowance.sub(_value);
    Transfer(_from, _to, _value);
    return true;
  }

  function batchTransfer(address[] _to, uint256[] _bonus) returns(bool) {
        for(uint i = 0; i < _to.length; i++){
            require(transfer(_to[i], _bonus[i]));
        }
        return true;
  }

  /**
   * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender.
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) returns (bool) {

    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(_spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    require((_value == 0) || (allowed[msg.sender][_spender] == 0));

    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifing the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
    return allowed[_owner][_spender];
  }

}

contract LockableToken is StandardToken, ReentrancyGuard {

    struct LockedBalance {
        address owner;
        uint256 value;
        uint256 releaseTime;
    }

    mapping (uint => LockedBalance) public lockedBalances;
    uint public lockedBalanceCount;

    event TransferLockedToken(address indexed from, address indexed to, uint256 value, uint256 releaseTime);
    event ReleaseLockedBalance(address indexed owner, uint256 value, uint256 releaseTime);

    
    function transferLockedToken(address _to, uint256 _value, uint256 _releaseTime) nonReentrant returns (bool) {
        require(_releaseTime > now);
        require(_releaseTime.sub(1 years) < now);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        lockedBalances[lockedBalanceCount] = LockedBalance({owner: _to, value: _value, releaseTime: _releaseTime});
        lockedBalanceCount++;
        TransferLockedToken(msg.sender, _to, _value, _releaseTime);
        return true;
    }

    
    function lockedBalanceOf(address _owner) constant returns (uint256 value) {
        for (uint i = 0; i < lockedBalanceCount; i++) {
            LockedBalance lockedBalance = lockedBalances[i];
            if (_owner == lockedBalance.owner) {
                value = value.add(lockedBalance.value);
            }
        }
        return value;
    }

    
    function releaseLockedBalance () returns (uint256 releaseAmount) {
        uint index = 0;
        while (index < lockedBalanceCount) {
            if (now >= lockedBalances[index].releaseTime) {
                releaseAmount += lockedBalances[index].value;
                unlockBalanceByIndex(index);
            } else {
                index++;
            }
        }
        return releaseAmount;
    }

    function unlockBalanceByIndex (uint index) internal {
        LockedBalance lockedBalance = lockedBalances[index];
        balances[lockedBalance.owner] = balances[lockedBalance.owner].add(lockedBalance.value);
        ReleaseLockedBalance(lockedBalance.owner, lockedBalance.value, lockedBalance.releaseTime);
        lockedBalances[index] = lockedBalances[lockedBalanceCount - 1];
        delete lockedBalances[lockedBalanceCount - 1];
        lockedBalanceCount--;
    }

}

library DateTime {
        /*
         *  Date and Time utilities for ethereum contracts
         *
         */
        struct DateTime {
                uint16 year;
                uint8 month;
                uint8 day;
                uint8 hour;
                uint8 minute;
                uint8 second;
                uint8 weekday;
        }

        uint constant DAY_IN_SECONDS = 86400;
        uint constant YEAR_IN_SECONDS = 31536000;
        uint constant LEAP_YEAR_IN_SECONDS = 31622400;

        uint constant HOUR_IN_SECONDS = 3600;
        uint constant MINUTE_IN_SECONDS = 60;

        uint16 constant ORIGIN_YEAR = 1970;

        function isLeapYear(uint16 year) constant returns (bool) {
                if (year % 4 != 0) {
                        return false;
                }
                if (year % 100 != 0) {
                        return true;
                }
                if (year % 400 != 0) {
                        return false;
                }
                return true;
        }

        function leapYearsBefore(uint year) constant returns (uint) {
                year -= 1;
                return year / 4 - year / 100 + year / 400;
        }

        function getDaysInMonth(uint8 month, uint16 year) constant returns (uint8) {
                if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
                        return 31;
                }
                else if (month == 4 || month == 6 || month == 9 || month == 11) {
                        return 30;
                }
                else if (isLeapYear(year)) {
                        return 29;
                }
                else {
                        return 28;
                }
        }

        function parseTimestamp(uint timestamp) internal returns (DateTime dt) {
                uint secondsAccountedFor = 0;
                uint buf;
                uint8 i;

                // Year
                dt.year = getYear(timestamp);
                buf = leapYearsBefore(dt.year) - leapYearsBefore(ORIGIN_YEAR);

                secondsAccountedFor += LEAP_YEAR_IN_SECONDS * buf;
                secondsAccountedFor += YEAR_IN_SECONDS * (dt.year - ORIGIN_YEAR - buf);

                // Month
                uint secondsInMonth;
                for (i = 1; i <= 12; i++) {
                        secondsInMonth = DAY_IN_SECONDS * getDaysInMonth(i, dt.year);
                        if (secondsInMonth + secondsAccountedFor > timestamp) {
                                dt.month = i;
                                break;
                        }
                        secondsAccountedFor += secondsInMonth;
                }

                // Day
                for (i = 1; i <= getDaysInMonth(dt.month, dt.year); i++) {
                        if (DAY_IN_SECONDS + secondsAccountedFor > timestamp) {
                                dt.day = i;
                                break;
                        }
                        secondsAccountedFor += DAY_IN_SECONDS;
                }

                // Hour
                dt.hour = 0;//getHour(timestamp);

                // Minute
                dt.minute = 0;//getMinute(timestamp);

                // Second
                dt.second = 0;//getSecond(timestamp);

                // Day of week.
                dt.weekday = 0;//getWeekday(timestamp);

        }

        function getYear(uint timestamp) constant returns (uint16) {
                uint secondsAccountedFor = 0;
                uint16 year;
                uint numLeapYears;

                // Year
                year = uint16(ORIGIN_YEAR + timestamp / YEAR_IN_SECONDS);
                numLeapYears = leapYearsBefore(year) - leapYearsBefore(ORIGIN_YEAR);

                secondsAccountedFor += LEAP_YEAR_IN_SECONDS * numLeapYears;
                secondsAccountedFor += YEAR_IN_SECONDS * (year - ORIGIN_YEAR - numLeapYears);

                while (secondsAccountedFor > timestamp) {
                        if (isLeapYear(uint16(year - 1))) {
                                secondsAccountedFor -= LEAP_YEAR_IN_SECONDS;
                        }
                        else {
                                secondsAccountedFor -= YEAR_IN_SECONDS;
                        }
                        year -= 1;
                }
                return year;
        }

        function getMonth(uint timestamp) constant returns (uint8) {
                return parseTimestamp(timestamp).month;
        }

        function getDay(uint timestamp) constant returns (uint8) {
                return parseTimestamp(timestamp).day;
        }

        function getHour(uint timestamp) constant returns (uint8) {
                return uint8((timestamp / 60 / 60) % 24);
        }

        function getMinute(uint timestamp) constant returns (uint8) {
                return uint8((timestamp / 60) % 60);
        }

        function getSecond(uint timestamp) constant returns (uint8) {
                return uint8(timestamp % 60);
        }

        function toTimestamp(uint16 year, uint8 month, uint8 day) constant returns (uint timestamp) {
                return toTimestamp(year, month, day, 0, 0, 0);
        }

        function toTimestamp(uint16 year, uint8 month, uint8 day, uint8 hour, uint8 minute, uint8 second) constant returns (uint timestamp) {
                uint16 i;

                // Year
                for (i = ORIGIN_YEAR; i < year; i++) {
                        if (isLeapYear(i)) {
                                timestamp += LEAP_YEAR_IN_SECONDS;
                        }
                        else {
                                timestamp += YEAR_IN_SECONDS;
                        }
                }

                // Month
                uint8[12] memory monthDayCounts;
                monthDayCounts[0] = 31;
                if (isLeapYear(year)) {
                        monthDayCounts[1] = 29;
                }
                else {
                        monthDayCounts[1] = 28;
                }
                monthDayCounts[2] = 31;
                monthDayCounts[3] = 30;
                monthDayCounts[4] = 31;
                monthDayCounts[5] = 30;
                monthDayCounts[6] = 31;
                monthDayCounts[7] = 31;
                monthDayCounts[8] = 30;
                monthDayCounts[9] = 31;
                monthDayCounts[10] = 30;
                monthDayCounts[11] = 31;

                for (i = 1; i < month; i++) {
                        timestamp += DAY_IN_SECONDS * monthDayCounts[i - 1];
                }

                // Day
                timestamp += DAY_IN_SECONDS * (day - 1);

                // Hour
                timestamp += HOUR_IN_SECONDS * (hour);

                // Minute
                timestamp += MINUTE_IN_SECONDS * (minute);

                // Second
                timestamp += second;

                return timestamp;
        }
}

contract ReleaseableToken is Operational, LockableToken {
    using SafeMath for uint;
    using DateTime for uint256;
    bool secondYearUpdate = false; 
    uint256 public releasedSupply; 
    uint256 public createTime; 
    uint256 standardDecimals = 100000000; 
    uint256 public totalSupply = standardDecimals.mul(1000000000);
    uint256 public limitSupplyPerYear = standardDecimals.mul(60000000);
    uint256 public dailyLimit = standardDecimals.mul(1000000);

    event ReleaseSupply(address receiver, uint256 value, uint256 releaseTime);
    event UnfreezeAmount(address receiver, uint256 amount, uint256 unfreezeTime);

    struct FrozenRecord {
        uint256 amount; 
        uint256 unfreezeTime; 
    }

    mapping (uint => FrozenRecord) public frozenRecords;
    uint public frozenRecordsCount = 0;

    function ReleaseableToken(
                    uint256 initialSupply,
                    uint256 initReleasedSupply,
                    address operator
                ) Operational(operator) {
        totalSupply = initialSupply;
        releasedSupply = initReleasedSupply;
        createTime = now;
        balances[msg.sender] = initReleasedSupply;
    }

    
    function releaseSupply(uint256 releaseAmount, uint256 timestamp) onlyOperator returns(uint256 _actualRelease) {
        require(timestamp >= createTime && timestamp <= now);
        require(!judgeReleaseRecordExist(timestamp));
        require(releaseAmount <= dailyLimit);
        updateLimit();
        require(limitSupplyPerYear > 0);
        if (releaseAmount > limitSupplyPerYear) {
            if (releasedSupply.add(limitSupplyPerYear) > totalSupply) {
                releasedSupply = totalSupply;
                releaseAmount = totalSupply.sub(releasedSupply);
            } else {
                releasedSupply = releasedSupply.add(limitSupplyPerYear);
                releaseAmount = limitSupplyPerYear;
            }
            limitSupplyPerYear = 0;
        } else {
            if (releasedSupply.add(releaseAmount) > totalSupply) {
                releasedSupply = totalSupply;
                releaseAmount = totalSupply.sub(releasedSupply);
            } else {
                releasedSupply = releasedSupply.add(releaseAmount);
            }
            limitSupplyPerYear = limitSupplyPerYear.sub(releaseAmount);
        }
        frozenRecords[frozenRecordsCount] = FrozenRecord(releaseAmount, timestamp.add(26 * 1 weeks));
        frozenRecordsCount++;
        ReleaseSupply(msg.sender, releaseAmount, timestamp);
        return releaseAmount;
    }

    
    function judgeReleaseRecordExist(uint256 timestamp) internal returns(bool _exist) {
        bool exist = false;
        if (frozenRecordsCount > 0) {
            for (uint index = 0; index < frozenRecordsCount; index++) {
                if ((frozenRecords[index].unfreezeTime.parseTimestamp().year == (timestamp.add(26 * 1 weeks)).parseTimestamp().year)
                    && (frozenRecords[index].unfreezeTime.parseTimestamp().month == (timestamp.add(26 * 1 weeks)).parseTimestamp().month)
                    && (frozenRecords[index].unfreezeTime.parseTimestamp().day == (timestamp.add(26 * 1 weeks)).parseTimestamp().day)) {
                    exist = true;
                }
            }
        }
        return exist;
    }

    
    function updateLimit() internal {
        if (createTime.add(1 years) < now && !secondYearUpdate) {
            limitSupplyPerYear = standardDecimals.mul(120000000);
            secondYearUpdate = true;
        }
        if (createTime.add(2 * 1 years) < now) {
            if (releasedSupply < totalSupply) {
                limitSupplyPerYear = totalSupply.sub(releasedSupply);
            }
        }
    }

    
    function unfreeze() onlyOperator returns(uint256 _unfreezeAmount) {
        uint256 unfreezeAmount = 0;
        uint index = 0;
        while (index < frozenRecordsCount) {
            if (frozenRecords[index].unfreezeTime < now) {
                unfreezeAmount += frozenRecords[index].amount;
                unfreezeByIndex(index);
            } else {
                index++;
            }
        }
        return unfreezeAmount;
    }

    function unfreezeByIndex (uint index) internal {
        FrozenRecord unfreezeRecord = frozenRecords[index];
        balances[owner] = balances[owner].add(unfreezeRecord.amount);
        UnfreezeAmount(owner, unfreezeRecord.amount, unfreezeRecord.unfreezeTime);
        frozenRecords[index] = frozenRecords[frozenRecordsCount - 1];
        delete frozenRecords[frozenRecordsCount - 1];
        frozenRecordsCount--;
    }

    
    function setDailyLimit(uint256 _dailyLimit) onlyOwner {
        dailyLimit = _dailyLimit;
    }
}

contract Snetwork is ReleaseableToken {
    string public standard = '2018011701';
    string public name = 'Snetwork';
    string public symbol = 'SNET';
    uint8 public decimals = 8;

    function Snetwork(
                     uint256 initialSupply,
                     uint256 initReleasedSupply,
                     address operator
                     ) ReleaseableToken(initialSupply, initReleasedSupply, operator) {}
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_releaseTime","type":"uint256"}],"name":"transferLockedToken","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOperator","type":"address"}],"name":"transferOperator","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"releaseLockedBalance","outputs":[{"name":"releaseAmount","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"lockedBalanceCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"lockedBalances","outputs":[{"name":"owner","type":"address"},{"name":"value","type":"uint256"},{"name":"releaseTime","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"limitSupplyPerYear","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"operator","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"lockedBalanceOf","outputs":[{"name":"value","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"createTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"dailyLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unfreeze","outputs":[{"name":"_unfreezeAmount","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address[]"},{"name":"_bonus","type":"uint256[]"}],"name":"batchTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_dailyLimit","type":"uint256"}],"name":"setDailyLimit","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"releasedSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"releaseAmount","type":"uint256"},{"name":"timestamp","type":"uint256"}],"name":"releaseSupply","outputs":[{"name":"_actualRelease","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"frozenRecordsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"frozenRecords","outputs":[{"name":"amount","type":"uint256"},{"name":"unfreezeTime","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"initialSupply","type":"uint256"},{"name":"initReleasedSupply","type":"uint256"},{"name":"operator","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"receiver","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"releaseTime","type":"uint256"}],"name":"ReleaseSupply","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"receiver","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"unfreezeTime","type":"uint256"}],"name":"UnfreezeAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"releaseTime","type":"uint256"}],"name":"TransferLockedToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"releaseTime","type":"uint256"}],"name":"ReleaseLockedBalance","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60606040526000600660006101000a81548160ff0219169083151502179055506000600960006101000a81548160ff0219169083151502179055506305f5e100600c556200006b633b9aca00600c54620002ff64010000000002620026dc179091906401000000009004565b600d55620000976303938700600c54620002ff64010000000002620026dc179091906401000000009004565b600e55620000c2620f4240600c54620002ff64010000000002620026dc179091906401000000009004565b600f556000601155604060405190810160405280600a81526020017f3230313830313137303100000000000000000000000000000000000000000000815250601290805190602001906200011892919062000337565b50604060405190810160405280600881526020017f536e6574776f726b000000000000000000000000000000000000000000000000815250601390805190602001906200016792919062000337565b50604060405190810160405280600481526020017f534e45540000000000000000000000000000000000000000000000000000000081525060149080519060200190620001b692919062000337565b506008601560006101000a81548160ff021916908360ff1602179055503415620001dc57fe5b60405160608062002dc4833981016040528080519060200190919080519060200190919080519060200190919050505b8282825b805b5b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5082600d8190555081600a8190555042600b8190555081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050505b505050620003e6565b60006000828402905060008414806200032357508284828115156200032057fe5b04145b15156200032c57fe5b8091505b5092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200037a57805160ff1916838001178555620003ab565b82800160010185558215620003ab579182015b82811115620003aa5782518255916020019190600101906200038d565b5b509050620003ba9190620003be565b5090565b620003e391905b80821115620003df576000816000905550600101620003c5565b5090565b90565b6129ce80620003f66000396000f30060606040523615610189576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461018b5780630851762a14610224578063095ea7b31461028457806318160ddd146102db57806323b872dd1461030157806329605e7714610377578063313ce567146103ad578063323661f6146103d957806334f96971146103ff5780633972323a146104255780634e71e0c81461049357806355dfc97c146104a5578063570ca735146104cb578063593557361461051d5780635a3b7e421461056757806361dcd7ab1461060057806367eeba0c146106265780636a28f0001461064c57806370a082311461067257806388d695b2146106bc5780638da5cb5b1461076b57806395d89b41146107bd578063a9059cbb14610856578063b20d30a9146108ad578063b813c627146108cd578063dd62ed3e146108f3578063e30c39781461095c578063e3bb3445146109ae578063ec00d2a4146109eb578063f25efc4914610a11578063f2fde38b14610a4c575bfe5b341561019357fe5b61019b610a82565b60405180806020018281038252838181518152602001915080519060200190808383600083146101ea575b8051825260208311156101ea576020820191506020810190506020830392506101c6565b505050905090810190601f1680156102165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022c57fe5b61026a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050610b20565b604051808215151515815260200191505060405180910390f35b341561028c57fe5b6102c1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d6f565b604051808215151515815260200191505060405180910390f35b34156102e357fe5b6102eb610ef9565b6040518082815260200191505060405180910390f35b341561030957fe5b61035d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610eff565b604051808215151515815260200191505060405180910390f35b341561037f57fe5b6103ab600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111b1565b005b34156103b557fe5b6103bd611291565b604051808260ff1660ff16815260200191505060405180910390f35b34156103e157fe5b6103e96112a4565b6040518082815260200191505060405180910390f35b341561040757fe5b61040f611315565b6040518082815260200191505060405180910390f35b341561042d57fe5b610443600480803590602001909190505061131b565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b341561049b57fe5b6104a3611365565b005b34156104ad57fe5b6104b561146b565b6040518082815260200191505060405180910390f35b34156104d357fe5b6104db611471565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561052557fe5b610551600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611497565b6040518082815260200191505060405180910390f35b341561056f57fe5b61057761154c565b60405180806020018281038252838181518152602001915080519060200190808383600083146105c6575b8051825260208311156105c6576020820191506020810190506020830392506105a2565b505050905090810190601f1680156105f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561060857fe5b6106106115ea565b6040518082815260200191505060405180910390f35b341561062e57fe5b6106366115f0565b6040518082815260200191505060405180910390f35b341561065457fe5b61065c6115f6565b6040518082815260200191505060405180910390f35b341561067a57fe5b6106a6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116cb565b6040518082815260200191505060405180910390f35b34156106c457fe5b61075160048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611715565b604051808215151515815260200191505060405180910390f35b341561077357fe5b61077b611785565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107c557fe5b6107cd6117ab565b604051808060200182810382528381815181526020019150805190602001908083836000831461081c575b80518252602083111561081c576020820191506020810190506020830392506107f8565b505050905090810190601f1680156108485780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561085e57fe5b610893600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611849565b604051808215151515815260200191505060405180910390f35b34156108b557fe5b6108cb60048080359060200190919050506119e5565b005b34156108d557fe5b6108dd611a4e565b6040518082815260200191505060405180910390f35b34156108fb57fe5b610946600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611a54565b6040518082815260200191505060405180910390f35b341561096457fe5b61096c611adc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156109b657fe5b6109d56004808035906020019091908035906020019091905050611b02565b6040518082815260200191505060405180910390f35b34156109f357fe5b6109fb611da6565b6040518082815260200191505060405180910390f35b3415610a1957fe5b610a2f6004808035906020019091905050611dac565b604051808381526020018281526020019250505060405180910390f35b3415610a5457fe5b610a80600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611dd0565b005b60138054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b185780601f10610aed57610100808354040283529160200191610b18565b820191906000526020600020905b815481529060010190602001808311610afb57829003601f168201915b505050505081565b6000600660009054906101000a900460ff16151515610b3f5760006000fd5b6001600660006101000a81548160ff0219169083151502179055504282111515610b695760006000fd5b42610b816301e1338084611e7390919063ffffffff16565b101515610b8e5760006000fd5b610be083600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7390919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506060604051908101604052808573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381525060076000600854815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201559050506008600081548092919060010191905055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8ff82a97675f0e72452c37c968c2c6121849f421aab8583cb6978f1e8263b3ff8585604051808381526020018281526020019250505060405180910390a3600190505b6000600660006101000a81548160ff0219169083151502179055505b9392505050565b60006000821480610dfc57506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1515610e085760006000fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b600d5481565b60006000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610fd483600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e8d90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061106983600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7390919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bf8382611e7390919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505b509392505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561120e5760006000fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561124b5760006000fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b601560009054906101000a900460ff1681565b60006000600090505b60085481101561130d576007600082815260200190815260200160002060020154421015156112ff576007600082815260200190815260200160002060010154820191506112fa81611ead565b611308565b80806001019150505b6112ad565b8191505b5090565b60085481565b60076020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113c25760006000fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b565b600e5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060006000600091505b600854821015611541576007600083815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561153357611530816001015484611e8d90919063ffffffff16565b92505b5b81806001019250506114a2565b8292505b5050919050565b60128054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115e25780601f106115b7576101008083540402835291602001916115e2565b820191906000526020600020905b8154815290600101906020018083116115c557829003601f168201915b505050505081565b600b5481565b600f5481565b600060006000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116595760006000fd5b60009150600090505b6011548110156116c15742601060008381526020019081526020016000206001015410156116b3576010600082815260200190815260200160002060000154820191506116ae8161213b565b6116bc565b80806001019150505b611662565b8192505b5b505090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b60006000600090505b83518110156117795761175f848281518110151561173857fe5b90602001906020020151848381518110151561175057fe5b90602001906020020151611849565b151561176b5760006000fd5b5b808060010191505061171e565b600191505b5092915050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60148054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118415780601f1061181657610100808354040283529160200191611841565b820191906000526020600020905b81548152906001019060200180831161182457829003601f168201915b505050505081565b600061189d82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7390919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061193282600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e8d90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190505b92915050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a425760006000fd5b80600f819055505b5b50565b600a5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b615760006000fd5b600b548210158015611b735750428211155b1515611b7f5760006000fd5b611b8882612352565b151515611b955760006000fd5b600f548311151515611ba75760006000fd5b611baf612490565b6000600e54111515611bc15760006000fd5b600e54831115611c4257600d54611be5600e54600a54611e8d90919063ffffffff16565b1115611c1257600d54600a81905550611c0b600a54600d54611e7390919063ffffffff16565b9250611c35565b611c29600e54600a54611e8d90919063ffffffff16565b600a81905550600e5492505b6000600e81905550611cbf565b600d54611c5a84600a54611e8d90919063ffffffff16565b1115611c8757600d54600a81905550611c80600a54600d54611e7390919063ffffffff16565b9250611ca3565b611c9c83600a54611e8d90919063ffffffff16565b600a819055505b611cb883600e54611e7390919063ffffffff16565b600e819055505b604060405190810160405280848152602001611ce762eff10085611e8d90919063ffffffff16565b81525060106000601154815260200190815260200160002060008201518160000155602082015181600101559050506011600081548092919060010191905055507f3f9e3494cddacfc8ffad423303d89b42edd68c349155fc54854d5d6dbe0a5e39338484604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a18290505b5b92915050565b60115481565b60106020528060005260406000206000915090508060000154908060010154905082565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2d5760006000fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b6000828211151515611e8157fe5b81830390505b92915050565b600060008284019050838110151515611ea257fe5b8091505b5092915050565b6000600760008381526020019081526020016000209050611f3e8160010154600460008460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e8d90919063ffffffff16565b600460008360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1f6c0a9bf76af8bc82d309c3041a10d100dafe019e5271d0e418fc57ffab3ab082600101548360020154604051808381526020018281526020019250505060405180910390a2600760006001600854038152602001908152602001600020600760008481526020019081526020016000206000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600182015481600101556002820154816002015590505060076000600160085403815260200190815260200160002060006000820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600090555050600860008154809291906001900391905055505b5050565b60006010600083815260200190815260200160002090506121ca816000015460046000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e8d90919063ffffffff16565b60046000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fc34f1fead36337f1ed421262dd3660824fdc849a066c9ae4699ffcd1b6e0ba50600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600001548360010154604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a16010600060016011540381526020019081526020016000206010600084815260200190815260200160002060008201548160000155600182015481600101559050506010600060016011540381526020019081526020016000206000600082016000905560018201600090555050601160008154809291906001900391905055505b5050565b600060006000600091506000601154111561248557600090505b6011548110156124845761239461238f62eff10086611e8d90919063ffffffff16565b612552565b6000015161ffff166123bb6010600084815260200190815260200160002060010154612552565b6000015161ffff1614801561241857506123e96123e462eff10086611e8d90919063ffffffff16565b612552565b6020015160ff1661240f6010600084815260200190815260200160002060010154612552565b6020015160ff16145b801561246c575061243d61243862eff10086611e8d90919063ffffffff16565b612552565b6040015160ff166124636010600084815260200190815260200160002060010154612552565b6040015160ff16145b1561247657600191505b5b808060010191505061236c565b5b8192505b5050919050565b426124aa6301e13380600b54611e8d90919063ffffffff16565b1080156124c45750600960009054906101000a900460ff16155b15612504576124e26307270e00600c546126dc90919063ffffffff16565b600e819055506001600960006101000a81548160ff0219169083151502179055505b4261251e6303c26700600b54611e8d90919063ffffffff16565b101561254f57600d54600a54101561254e57612547600a54600d54611e7390919063ffffffff16565b600e819055505b5b5b565b61255a61294e565b60006000600060006000935061256f86612711565b856000019061ffff16908161ffff16815250506125916107b261ffff166127bf565b6125a2866000015161ffff166127bf565b039250826301e285000284019350826107b286600001510361ffff16036301e133800284019350600191505b600c8260ff16111515612627576125e98286600001516127f9565b60ff16620151800290508584820111156126145781856020019060ff16908160ff1681525050612627565b80840193505b81806001019250506125ce565b600191505b61263e856020015186600001516127f9565b60ff168260ff16111515612686578584620151800111156126705781856040019060ff16908160ff1681525050612686565b62015180840193505b818060010192505061262c565b6000856060019060ff16908160ff16815250506000856080019060ff16908160ff168152505060008560a0019060ff16908160ff168152505060008560c0019060ff16908160ff16815250505b50505050919050565b60006000828402905060008414806126fe57508284828115156126fb57fe5b04145b151561270657fe5b8091505b5092915050565b6000600060006000600092506301e133808581151561272c57fe5b046107b261ffff160191506127466107b261ffff166127bf565b6127538361ffff166127bf565b039050806301e285000283019250806107b2830361ffff16036301e1338002830192505b848311156127b35761278b600183036128cc565b1561279e576301e28500830392506127a8565b6301e13380830392505b600182039150612777565b8193505b505050919050565b6000600182039150610190828115156127d457fe5b046064838115156127e157fe5b046004848115156127ee57fe5b04030190505b919050565b600060018360ff161480612810575060038360ff16145b8061281e575060058360ff16145b8061282c575060078360ff16145b8061283a575060088360ff16145b806128485750600a8360ff16145b806128565750600c8360ff16145b1561286457601f90506128c6565b60048360ff161480612879575060068360ff16145b80612887575060098360ff16145b806128955750600b8360ff16145b156128a357601e90506128c6565b6128ac826128cc565b156128ba57601d90506128c6565b601c90506128c6565b5b5b5b92915050565b6000600060048361ffff168115156128e057fe5b0661ffff161415156128f55760009050612949565b600060648361ffff1681151561290757fe5b0661ffff1614151561291c5760019050612949565b60006101908361ffff1681151561292f57fe5b0661ffff161415156129445760009050612949565b600190505b919050565b60e060405190810160405280600061ffff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff16815250905600a165627a7a72305820bfd95ccc399f89bd97f1d70eefaa10821b0bd6a8c538a079354814250fc262000029000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000092258216ce951732d60b428fd9d0d1a626835e57

Deployed Bytecode

0x60606040523615610189576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461018b5780630851762a14610224578063095ea7b31461028457806318160ddd146102db57806323b872dd1461030157806329605e7714610377578063313ce567146103ad578063323661f6146103d957806334f96971146103ff5780633972323a146104255780634e71e0c81461049357806355dfc97c146104a5578063570ca735146104cb578063593557361461051d5780635a3b7e421461056757806361dcd7ab1461060057806367eeba0c146106265780636a28f0001461064c57806370a082311461067257806388d695b2146106bc5780638da5cb5b1461076b57806395d89b41146107bd578063a9059cbb14610856578063b20d30a9146108ad578063b813c627146108cd578063dd62ed3e146108f3578063e30c39781461095c578063e3bb3445146109ae578063ec00d2a4146109eb578063f25efc4914610a11578063f2fde38b14610a4c575bfe5b341561019357fe5b61019b610a82565b60405180806020018281038252838181518152602001915080519060200190808383600083146101ea575b8051825260208311156101ea576020820191506020810190506020830392506101c6565b505050905090810190601f1680156102165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022c57fe5b61026a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050610b20565b604051808215151515815260200191505060405180910390f35b341561028c57fe5b6102c1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d6f565b604051808215151515815260200191505060405180910390f35b34156102e357fe5b6102eb610ef9565b6040518082815260200191505060405180910390f35b341561030957fe5b61035d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610eff565b604051808215151515815260200191505060405180910390f35b341561037f57fe5b6103ab600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111b1565b005b34156103b557fe5b6103bd611291565b604051808260ff1660ff16815260200191505060405180910390f35b34156103e157fe5b6103e96112a4565b6040518082815260200191505060405180910390f35b341561040757fe5b61040f611315565b6040518082815260200191505060405180910390f35b341561042d57fe5b610443600480803590602001909190505061131b565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b341561049b57fe5b6104a3611365565b005b34156104ad57fe5b6104b561146b565b6040518082815260200191505060405180910390f35b34156104d357fe5b6104db611471565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561052557fe5b610551600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611497565b6040518082815260200191505060405180910390f35b341561056f57fe5b61057761154c565b60405180806020018281038252838181518152602001915080519060200190808383600083146105c6575b8051825260208311156105c6576020820191506020810190506020830392506105a2565b505050905090810190601f1680156105f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561060857fe5b6106106115ea565b6040518082815260200191505060405180910390f35b341561062e57fe5b6106366115f0565b6040518082815260200191505060405180910390f35b341561065457fe5b61065c6115f6565b6040518082815260200191505060405180910390f35b341561067a57fe5b6106a6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116cb565b6040518082815260200191505060405180910390f35b34156106c457fe5b61075160048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611715565b604051808215151515815260200191505060405180910390f35b341561077357fe5b61077b611785565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107c557fe5b6107cd6117ab565b604051808060200182810382528381815181526020019150805190602001908083836000831461081c575b80518252602083111561081c576020820191506020810190506020830392506107f8565b505050905090810190601f1680156108485780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561085e57fe5b610893600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611849565b604051808215151515815260200191505060405180910390f35b34156108b557fe5b6108cb60048080359060200190919050506119e5565b005b34156108d557fe5b6108dd611a4e565b6040518082815260200191505060405180910390f35b34156108fb57fe5b610946600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611a54565b6040518082815260200191505060405180910390f35b341561096457fe5b61096c611adc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156109b657fe5b6109d56004808035906020019091908035906020019091905050611b02565b6040518082815260200191505060405180910390f35b34156109f357fe5b6109fb611da6565b6040518082815260200191505060405180910390f35b3415610a1957fe5b610a2f6004808035906020019091905050611dac565b604051808381526020018281526020019250505060405180910390f35b3415610a5457fe5b610a80600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611dd0565b005b60138054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b185780601f10610aed57610100808354040283529160200191610b18565b820191906000526020600020905b815481529060010190602001808311610afb57829003601f168201915b505050505081565b6000600660009054906101000a900460ff16151515610b3f5760006000fd5b6001600660006101000a81548160ff0219169083151502179055504282111515610b695760006000fd5b42610b816301e1338084611e7390919063ffffffff16565b101515610b8e5760006000fd5b610be083600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7390919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506060604051908101604052808573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381525060076000600854815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201559050506008600081548092919060010191905055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8ff82a97675f0e72452c37c968c2c6121849f421aab8583cb6978f1e8263b3ff8585604051808381526020018281526020019250505060405180910390a3600190505b6000600660006101000a81548160ff0219169083151502179055505b9392505050565b60006000821480610dfc57506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1515610e085760006000fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b600d5481565b60006000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610fd483600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e8d90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061106983600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7390919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bf8382611e7390919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505b509392505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561120e5760006000fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561124b5760006000fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b601560009054906101000a900460ff1681565b60006000600090505b60085481101561130d576007600082815260200190815260200160002060020154421015156112ff576007600082815260200190815260200160002060010154820191506112fa81611ead565b611308565b80806001019150505b6112ad565b8191505b5090565b60085481565b60076020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113c25760006000fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b565b600e5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060006000600091505b600854821015611541576007600083815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561153357611530816001015484611e8d90919063ffffffff16565b92505b5b81806001019250506114a2565b8292505b5050919050565b60128054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115e25780601f106115b7576101008083540402835291602001916115e2565b820191906000526020600020905b8154815290600101906020018083116115c557829003601f168201915b505050505081565b600b5481565b600f5481565b600060006000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116595760006000fd5b60009150600090505b6011548110156116c15742601060008381526020019081526020016000206001015410156116b3576010600082815260200190815260200160002060000154820191506116ae8161213b565b6116bc565b80806001019150505b611662565b8192505b5b505090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b60006000600090505b83518110156117795761175f848281518110151561173857fe5b90602001906020020151848381518110151561175057fe5b90602001906020020151611849565b151561176b5760006000fd5b5b808060010191505061171e565b600191505b5092915050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60148054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118415780601f1061181657610100808354040283529160200191611841565b820191906000526020600020905b81548152906001019060200180831161182457829003601f168201915b505050505081565b600061189d82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7390919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061193282600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e8d90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190505b92915050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a425760006000fd5b80600f819055505b5b50565b600a5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b615760006000fd5b600b548210158015611b735750428211155b1515611b7f5760006000fd5b611b8882612352565b151515611b955760006000fd5b600f548311151515611ba75760006000fd5b611baf612490565b6000600e54111515611bc15760006000fd5b600e54831115611c4257600d54611be5600e54600a54611e8d90919063ffffffff16565b1115611c1257600d54600a81905550611c0b600a54600d54611e7390919063ffffffff16565b9250611c35565b611c29600e54600a54611e8d90919063ffffffff16565b600a81905550600e5492505b6000600e81905550611cbf565b600d54611c5a84600a54611e8d90919063ffffffff16565b1115611c8757600d54600a81905550611c80600a54600d54611e7390919063ffffffff16565b9250611ca3565b611c9c83600a54611e8d90919063ffffffff16565b600a819055505b611cb883600e54611e7390919063ffffffff16565b600e819055505b604060405190810160405280848152602001611ce762eff10085611e8d90919063ffffffff16565b81525060106000601154815260200190815260200160002060008201518160000155602082015181600101559050506011600081548092919060010191905055507f3f9e3494cddacfc8ffad423303d89b42edd68c349155fc54854d5d6dbe0a5e39338484604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a18290505b5b92915050565b60115481565b60106020528060005260406000206000915090508060000154908060010154905082565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2d5760006000fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b6000828211151515611e8157fe5b81830390505b92915050565b600060008284019050838110151515611ea257fe5b8091505b5092915050565b6000600760008381526020019081526020016000209050611f3e8160010154600460008460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e8d90919063ffffffff16565b600460008360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1f6c0a9bf76af8bc82d309c3041a10d100dafe019e5271d0e418fc57ffab3ab082600101548360020154604051808381526020018281526020019250505060405180910390a2600760006001600854038152602001908152602001600020600760008481526020019081526020016000206000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600182015481600101556002820154816002015590505060076000600160085403815260200190815260200160002060006000820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600090555050600860008154809291906001900391905055505b5050565b60006010600083815260200190815260200160002090506121ca816000015460046000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e8d90919063ffffffff16565b60046000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fc34f1fead36337f1ed421262dd3660824fdc849a066c9ae4699ffcd1b6e0ba50600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600001548360010154604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a16010600060016011540381526020019081526020016000206010600084815260200190815260200160002060008201548160000155600182015481600101559050506010600060016011540381526020019081526020016000206000600082016000905560018201600090555050601160008154809291906001900391905055505b5050565b600060006000600091506000601154111561248557600090505b6011548110156124845761239461238f62eff10086611e8d90919063ffffffff16565b612552565b6000015161ffff166123bb6010600084815260200190815260200160002060010154612552565b6000015161ffff1614801561241857506123e96123e462eff10086611e8d90919063ffffffff16565b612552565b6020015160ff1661240f6010600084815260200190815260200160002060010154612552565b6020015160ff16145b801561246c575061243d61243862eff10086611e8d90919063ffffffff16565b612552565b6040015160ff166124636010600084815260200190815260200160002060010154612552565b6040015160ff16145b1561247657600191505b5b808060010191505061236c565b5b8192505b5050919050565b426124aa6301e13380600b54611e8d90919063ffffffff16565b1080156124c45750600960009054906101000a900460ff16155b15612504576124e26307270e00600c546126dc90919063ffffffff16565b600e819055506001600960006101000a81548160ff0219169083151502179055505b4261251e6303c26700600b54611e8d90919063ffffffff16565b101561254f57600d54600a54101561254e57612547600a54600d54611e7390919063ffffffff16565b600e819055505b5b5b565b61255a61294e565b60006000600060006000935061256f86612711565b856000019061ffff16908161ffff16815250506125916107b261ffff166127bf565b6125a2866000015161ffff166127bf565b039250826301e285000284019350826107b286600001510361ffff16036301e133800284019350600191505b600c8260ff16111515612627576125e98286600001516127f9565b60ff16620151800290508584820111156126145781856020019060ff16908160ff1681525050612627565b80840193505b81806001019250506125ce565b600191505b61263e856020015186600001516127f9565b60ff168260ff16111515612686578584620151800111156126705781856040019060ff16908160ff1681525050612686565b62015180840193505b818060010192505061262c565b6000856060019060ff16908160ff16815250506000856080019060ff16908160ff168152505060008560a0019060ff16908160ff168152505060008560c0019060ff16908160ff16815250505b50505050919050565b60006000828402905060008414806126fe57508284828115156126fb57fe5b04145b151561270657fe5b8091505b5092915050565b6000600060006000600092506301e133808581151561272c57fe5b046107b261ffff160191506127466107b261ffff166127bf565b6127538361ffff166127bf565b039050806301e285000283019250806107b2830361ffff16036301e1338002830192505b848311156127b35761278b600183036128cc565b1561279e576301e28500830392506127a8565b6301e13380830392505b600182039150612777565b8193505b505050919050565b6000600182039150610190828115156127d457fe5b046064838115156127e157fe5b046004848115156127ee57fe5b04030190505b919050565b600060018360ff161480612810575060038360ff16145b8061281e575060058360ff16145b8061282c575060078360ff16145b8061283a575060088360ff16145b806128485750600a8360ff16145b806128565750600c8360ff16145b1561286457601f90506128c6565b60048360ff161480612879575060068360ff16145b80612887575060098360ff16145b806128955750600b8360ff16145b156128a357601e90506128c6565b6128ac826128cc565b156128ba57601d90506128c6565b601c90506128c6565b5b5b5b92915050565b6000600060048361ffff168115156128e057fe5b0661ffff161415156128f55760009050612949565b600060648361ffff1681151561290757fe5b0661ffff1614151561291c5760019050612949565b60006101908361ffff1681151561292f57fe5b0661ffff161415156129445760009050612949565b600190505b919050565b60e060405190810160405280600061ffff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff16815250905600a165627a7a72305820bfd95ccc399f89bd97f1d70eefaa10821b0bd6a8c538a079354814250fc262000029

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

000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000092258216ce951732d60b428fd9d0d1a626835e57

-----Decoded View---------------
Arg [0] : initialSupply (uint256): 100000000000000000
Arg [1] : initReleasedSupply (uint256): 100000000000000000
Arg [2] : operator (address): 0x92258216cE951732d60B428FD9D0d1A626835E57

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000016345785d8a0000
Arg [1] : 000000000000000000000000000000000000000000000000016345785d8a0000
Arg [2] : 00000000000000000000000092258216ce951732d60b428fd9d0d1a626835e57


Swarm Source

bzzr://bfd95ccc399f89bd97f1d70eefaa10821b0bd6a8c538a079354814250fc26200

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.