Contract 0xff2b3353c3015e9f1fbf95b9bda23f58aa7ce007

 

TxHash Block Age From To Value [TxFee]
0x63dd6d5b7c2f964c0c6cfd0e15c20ce44394dfc5c075d799e4e31a4c5e65e07d73932665 hrs 55 mins ago0xab8fe550a6aca5f9af4edac667c6a2ad94b1821f IN  BitScreener0 Ether0.0002365209
0x1b013fe875db46f6cabbe1eee4bcf1511b02b6243ca1b8a17c0800c3742d105473932585 hrs 56 mins ago0xab8fe550a6aca5f9af4edac667c6a2ad94b1821f IN  BitScreener0 Ether0.000315
0x88f30f1544f2aa815f2db4af8edd9bff2867e3788efda408dc4e09e81ec4f13173857281 day 10 hrs ago0xd965758e0e09b132a957b9b546119051f26b2690 IN  BitScreener0 Ether0.0002288
0x7a1d5cc7f9988769b51e7adbf1e66d6b323b6795a835e1fbeeb7a0a93050a1e573857251 day 10 hrs ago0x45113c0346caff257597256461f16e48fea1484a IN  BitScreener0 Ether0.000075342
0xc92860a9acc1dc442f722a12607272a1c16555b9d1699042f6d2c7f8e98dc54f73811622 days 3 hrs ago0x479b1160a9d5c317148a0eecd15f0bf893d8bca6 IN  BitScreener0 Ether0.000091136
0xa8fd7398c80df705498b0996d90bf0098797c4774015bc108f04a0e74227ba8773810912 days 3 hrs agoHotbit 1 IN  BitScreener0 Ether0.00105086
0x0e1e7c28feff20785bf9db03d1f6bbc933bb3c1a3d9462318e94e39f990e5d1673810122 days 3 hrs agoHotbit 1 IN  BitScreener0 Ether0.00262715
0xde817d4591a070049db00b4ebbaf071387d0ca8b6eb246f1c447bfc83479814c73810042 days 3 hrs agoHotbit 1 IN  BitScreener0 Ether0.00187715
0x9d552b7bde5cd28a34ae98abf204b93b27598abfe3b479d555efaf013f814c2f73808742 days 4 hrs ago0xbfc32e5a9e300511b6c4fffa19de1c0b6896e392 IN  BitScreener0 Ether0.000075214
0x389e03bdb57c8af0ba01fab0756a888da638592f0477f2a4cd6697d2c4fe88fd73686624 days 1 hr ago0x7edbf0602577c8b846f5c39f171339a980147a7e IN  BitScreener0 Ether0.000112715
0xdc3f0fc4a58b0a4305e3a373de740b2d0017a981aa319d6ecee44f8a4389ecae73637324 days 20 hrs ago0x7059010320d07a47d2ad54db88bb89ea644c3e6f IN  BitScreener0 Ether0.00018304
0xd5144e2526664434466a961ad464e0def9d15683c6afd6f80caf21b38118867673637294 days 20 hrs agoHotbit 1 IN  BitScreener0 Ether0.001211433
0x74d535c7c862ac1479e96de8cdeab842afc7e02e94616c71dd43f40c5022d51c73548866 days 5 hrs ago0x8bfe36a3229203ca08b3579fe31ff3c807ab71c0 IN  BitScreener0 Ether0.000270516
0x8530ba4bbc62b09d643282393801cdc7e4007d626477940bdd7d562476b3ccdc73546346 days 6 hrs ago0x6e97ac291095e238402a2313b21217db0345380a IN  BitScreener0 Ether0.000262801
0xddf5a0314aa06bd9bb17feb0ef52111ccf8e1301744ef80f9e8fa78c07fcaf0173374868 days 22 hrs ago0xdf152c73793c81af9bc55b58b225a625422a9b28 IN  BitScreener0 Ether0.00022607
0xd40b9e9efc5faf2f5a40c81b6dd0da7dd5e3cff358f60a04afaeee17894f913073370488 days 23 hrs ago0x8b2d30af69cd11a7e512f635449ef937d9fb1443 IN  BitScreener0 Ether0.000225642
0xcf84ef9676da9dc24a0f90b403cf33de1b28b4b1f3f4ddd512275e935889b36f73337469 days 12 hrs ago0x44808c2ea67d20e350574259a16bc36f81d8bebd IN  BitScreener0 Ether0.000136896
0x51d24b7f8eae4113429a9327704616ced543d56d6bba4b666a2b36d115709234732866210 days 7 hrs ago0x231ebbbb02eed0ff24b22baddd475823ac7f4b40 IN  BitScreener0 Ether0.00037671
0x18f112820112d1d36ceb30d8d998b05cd29c5d0a19eb35fa6212ef6c10003c9f732052411 days 13 hrs ago0x0bf7379f6b6baf51345e604253132add6a5cef80 IN  BitScreener0 Ether0.0001014435
0x26553067ebdf2d0f37802c52acc679e4a4e189fe8647b3f9f02245de98eec4ce732041411 days 13 hrs agoHotbit 1 IN  BitScreener0 Ether0.00263035
0x0f05aa793ed851064c6ccd4e58bfb89a117534d2ef8a8e6ab2bea9dcc9ed75bb731642512 days 4 hrs ago0x3e94b267a27c46a808e7f2c70da373b23de187be IN  BitScreener0 Ether0.000270516
0x842a2880266a252db1c262a613286a1c2f683147acce1aef139f7e6e390a92df731592812 days 6 hrs ago0x42047c986a8179164d597bfa0af21547ffb9ec4f IN  BitScreener0 Ether0.000075086
0x9a568d37e1d1eda300dcb23394526f419699350870d353704c1e09cee785d302731454512 days 11 hrs ago0xbe410a87fe5a477b6df1512769ffc07b1c2fa72c IN  BitScreener0 Ether0.000273792
0x58fc3b0ff98659c841acbb0397cc20f8b49bd33d109c98f293debe707c4cfcaf730400214 days 3 hrs ago0xb6da979692af5277b55a2949ee06661b8cd83644 IN  BitScreener0 Ether0.000270516
0x189079a7b2df5dc3351f0ceaaef9bfcadd0e42371d07c19958c8d832e54d446e730389814 days 3 hrs ago0x5b3a8be3705906e18414a5de58247b29a518ccb9 IN  BitScreener0 Ether0.00037543
[ 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: BitScreenerToken
Compiler Version: v0.4.24+commit.e67f0147
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.23;

/*
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN0xc,..,lxKNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOo:'........':dOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMN0xl,....';:,........;lxKNMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMWXOo:'....,:lxOk:...........':dOXWMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMNKxl;.....;cokOOOOd;...............;lkKWMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMWXOd:'....':lxkOOOkdc;'...................':dONWMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMWKkl;.....,coxOOOOxo:,...........................;lkKWMMMMMMMMMMMMM
MMMMMMMMMWNOdc'....':ldkOOOkdl;'.................................,cd0NWMMMMMMMMM
MMMMMMWKkl;.....,coxOOOOxoc,.........................................;okXWMMMMMM
MMMMXxc,....';ldkOOOkdl;'...............................................,ckNMMMM
MMMM0;...'coxOOOOxoc,.....................................................;0MMMM
MMMM0;..'oOOOkdl:'................................,;,,.............':l:...;0MMMM
MMMM0;..'oOOOl'..................................,dOOd,...........:xOOo...;0MMMM
MMMM0;..'oOOOc...':ccccccccccccc:;,...........';:okOOkl:;'........lOOOo...;0MMMM
MMMM0;..'oOOOc...;k0OOOOOOOOOOOOOOko;......':oxOOOOOOOOOOxo:'.....lOOOo'..;0MMMM
MMMM0;..'oOOOc...':lxOOkocccccccoxOOk:....,dOOOkdolclloxkOOOd,....lOOOo...;0MMMM
MMMM0;..'oOOOc......lOOk;........:xOOd'...lOOOd;........;okxl,....lOOOo...;0MMMM
MMMM0;..'oOOOc......lOOk;........:xOOo'...lOOOd;'.........,.......lOOOo...;0MMMM
MMMM0;..'oOOOc......lOOOocccccclokOOd;....,dO0Okxdolc:;,'.........lOOOo...;0MMMM
MMMM0;..'oOOOc......lOOOOOOOOOOOOOOx:......':oxkOOOOOOOkxdl;'.....lOOOo...;0MMMM
MMMM0;..'oOOOc......lOOOdccccccldkOOxc.........,;:clodxkOOOOd;....lOOOo...;0MMMM
MMMM0;..'oOOOc......lOOk;........,dOOk:................,:dOOOo'...lOOOo...;0MMMM
MMMM0;..'oOOOc......lOOk:.........cOOOl'.,coxl'..........ckOOx,...lOOOo...;0MMMM
MMMM0;..'oOOOc....',oOOkc'''''',;lxOOkc..;xOOOxoc:;,,;:cokOOkl....lOOOo...;0MMMM
MMMM0;..'oOOOc...;dkOOOOkkkkxkkkOOOOkc'...,lxOOOOOOkOOOOOOkd:.....lOOOo...;0MMMM
MMMM0;..'oOOOc...;dxxxxxxxxxxxxxxdoc,.......';codxOOOOxdlc;.......lOOOo...;0MMMM
MMMM0;..'oOOkc.....'''''''''''''.................;xO0x;...........lOOOo...;0MMMM
MMMM0;..'lxl:'...................................':cc:.........';lxOOOo...;0MMMM
MMMM0;...''.................................................,:oxOOOOko;...;0MMMM
MMMMKl'.................................................';ldkOOOkxl:'....'oXMMMM
MMMMMNKxl,...........................................,:oxOOOOkoc;'....;lxKWMMMMM
MMMMMMMMWXOo:'...................................';cdkOOOkxl:,....':dOXWMMMMMMMM
MMMMMMMMMMMMN0xc,.............................,:lxkOOOkdc;'....,lxKNMMMMMMMMMMMM
MMMMMMMMMMMMMMMWXko:'.....................';cdkOOOkxo:,....':oOXWMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMN0xc,...............,:lxkOOOkdc;'....,cx0NMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMWXko;'...........:xkOOxo:,....':oOXWMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWN0xc,........;ool;'....,cx0NMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKko;............;okXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWN0dc,....,cd0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOl;;l0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
*/

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev 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);
}

/**
 * @title MultiOwnable
 * @dev The MultiOwnable contract has owners addresses and provides basic authorization control
 * functions, this simplifies the implementation of "users permissions".
 */
contract MultiOwnable {
  address public manager; // address used to set owners
  address[] public owners;
  mapping(address => bool) public ownerByAddress;

  event SetOwners(address[] owners);

  modifier onlyOwner() {
    require(ownerByAddress[msg.sender] == true);
    _;
  }

  /**
    * @dev MultiOwnable constructor sets the manager
    */
  constructor() public {
    manager = msg.sender;
  }

  /**
    * @dev Function to set owners addresses
    */
  function setOwners(address[] _owners) public {
    require(msg.sender == manager);
    _setOwners(_owners);
  }

  function _setOwners(address[] _owners) internal {
    for(uint256 i = 0; i < owners.length; i++) {
      ownerByAddress[owners[i]] = false;
    }

    for(uint256 j = 0; j < _owners.length; j++) {
      ownerByAddress[_owners[j]] = true;
    }
    owners = _owners;
    emit SetOwners(_owners);
  }

  function getOwners() public view returns (address[]) {
    return owners;
  }
}

/* solium-disable security/no-low-level-calls */

/**
 * @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
  );
}

/**
 * @title ERC827 interface, an extension of ERC20 token standard
 *
 * @dev Interface of a ERC827 token, following the ERC20 standard with extra
 * @dev methods to transfer value and data and execute calls in transfers and
 * @dev approvals.
 */
contract ERC827 is ERC20 {
  function approveAndCall(
    address _spender,
    uint256 _value,
    bytes _data
  )
    public
    payable
    returns (bool);

  function transferAndCall(
    address _to,
    uint256 _value,
    bytes _data
  )
    public
    payable
    returns (bool);

  function transferFromAndCall(
    address _from,
    address _to,
    uint256 _value,
    bytes _data
  )
    public
    payable
    returns (bool);
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
    // Gas optimization: this is cheaper than asserting 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (a == 0) {
      return 0;
    }

    c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure 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 a / b;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
    c = a + b;
    assert(c >= a);
    return c;
  }
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  uint256 totalSupply_;

  /**
  * @dev total number of tokens in existence
  */
  function totalSupply() public view returns (uint256) {
    return totalSupply_;
  }

  /**
  * @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) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    emit 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) public view returns (uint256) {
    return balances[_owner];
  }

}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) internal 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 amount of tokens to be transferred
   */
  function transferFrom(
    address _from,
    address _to,
    uint256 _value
  )
    public
    returns (bool)
  {
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

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

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    emit 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 specifying the amount of tokens still available for the spender.
   */
  function allowance(
    address _owner,
    address _spender
   )
    public
    view
    returns (uint256)
  {
    return allowed[_owner][_spender];
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  function increaseApproval(
    address _spender,
    uint _addedValue
  )
    public
    returns (bool)
  {
    allowed[msg.sender][_spender] = (
      allowed[msg.sender][_spender].add(_addedValue));
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseApproval(
    address _spender,
    uint _subtractedValue
  )
    public
    returns (bool)
  {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

}

/**
 * @title ERC827, an extension of ERC20 token standard
 *
 * @dev Implementation the ERC827, following the ERC20 standard with extra
 * @dev methods to transfer value and data and execute calls in transfers and
 * @dev approvals.
 *
 * @dev Uses OpenZeppelin StandardToken.
 */
contract ERC827Token is ERC827, StandardToken {

  /**
   * @dev Addition to ERC20 token methods. It allows to
   * @dev approve the transfer of value and execute a call with the sent data.
   *
   * @dev Beware that changing an allowance with this method brings the risk that
   * @dev someone may use both the old and the new allowance by unfortunate
   * @dev transaction ordering. One possible solution to mitigate this race condition
   * @dev is to first reduce the spender's allowance to 0 and set the desired value
   * @dev afterwards:
   * @dev https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   *
   * @param _spender The address that will spend the funds.
   * @param _value The amount of tokens to be spent.
   * @param _data ABI-encoded contract call to call `_to` address.
   *
   * @return true if the call function was executed successfully
   */
  function approveAndCall(
    address _spender,
    uint256 _value,
    bytes _data
  )
    public
    payable
    returns (bool)
  {
    require(_spender != address(this));

    super.approve(_spender, _value);

    // solium-disable-next-line security/no-call-value
    require(_spender.call.value(msg.value)(_data));

    return true;
  }

  /**
   * @dev Addition to ERC20 token methods. Transfer tokens to a specified
   * @dev address and execute a call with the sent data on the same transaction
   *
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amout of tokens to be transfered
   * @param _data ABI-encoded contract call to call `_to` address.
   *
   * @return true if the call function was executed successfully
   */
  function transferAndCall(
    address _to,
    uint256 _value,
    bytes _data
  )
    public
    payable
    returns (bool)
  {
    require(_to != address(this));

    super.transfer(_to, _value);

    // solium-disable-next-line security/no-call-value
    require(_to.call.value(msg.value)(_data));
    return true;
  }

  /**
   * @dev Addition to ERC20 token methods. Transfer tokens from one address to
   * @dev another and make a contract call on the same transaction
   *
   * @param _from The address which you want to send tokens from
   * @param _to The address which you want to transfer to
   * @param _value The amout of tokens to be transferred
   * @param _data ABI-encoded contract call to call `_to` address.
   *
   * @return true if the call function was executed successfully
   */
  function transferFromAndCall(
    address _from,
    address _to,
    uint256 _value,
    bytes _data
  )
    public payable returns (bool)
  {
    require(_to != address(this));

    super.transferFrom(_from, _to, _value);

    // solium-disable-next-line security/no-call-value
    require(_to.call.value(msg.value)(_data));
    return true;
  }

  /**
   * @dev Addition to StandardToken methods. Increase the amount of tokens that
   * @dev an owner allowed to a spender and execute a call with the sent data.
   *
   * @dev approve should be called when allowed[_spender] == 0. To increment
   * @dev allowed value is better to use this function to avoid 2 calls (and wait until
   * @dev the first transaction is mined)
   * @dev From MonolithDAO Token.sol
   *
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   * @param _data ABI-encoded contract call to call `_spender` address.
   */
  function increaseApprovalAndCall(
    address _spender,
    uint _addedValue,
    bytes _data
  )
    public
    payable
    returns (bool)
  {
    require(_spender != address(this));

    super.increaseApproval(_spender, _addedValue);

    // solium-disable-next-line security/no-call-value
    require(_spender.call.value(msg.value)(_data));

    return true;
  }

  /**
   * @dev Addition to StandardToken methods. Decrease the amount of tokens that
   * @dev an owner allowed to a spender and execute a call with the sent data.
   *
   * @dev approve should be called when allowed[_spender] == 0. To decrement
   * @dev allowed value is better to use this function to avoid 2 calls (and wait until
   * @dev the first transaction is mined)
   * @dev From MonolithDAO Token.sol
   *
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   * @param _data ABI-encoded contract call to call `_spender` address.
   */
  function decreaseApprovalAndCall(
    address _spender,
    uint _subtractedValue,
    bytes _data
  )
    public
    payable
    returns (bool)
  {
    require(_spender != address(this));

    super.decreaseApproval(_spender, _subtractedValue);

    // solium-disable-next-line security/no-call-value
    require(_spender.call.value(msg.value)(_data));

    return true;
  }

}

contract BitScreenerToken is ERC827Token, MultiOwnable {
  string public name = 'BitScreenerToken';
  string public symbol = 'BITX';
  uint8 public decimals = 18;
  uint256 public totalSupply;
  address public owner;

  bool public allowTransfers = false;
  bool public issuanceFinished = false;

  event AllowTransfersChanged(bool _newState);
  event Issue(address indexed _to, uint256 _value);
  event Burn(address indexed _from, uint256 _value);
  event IssuanceFinished();

  modifier transfersAllowed() {
    require(allowTransfers);
    _;
  }

  modifier canIssue() {
    require(!issuanceFinished);
    _;
  }

  constructor(address[] _owners) public {
    _setOwners(_owners);
  }

  /**
  * @dev Enable/disable token transfers. Can be called only by owners
  * @param _allowTransfers True - allow False - disable
  */
  function setAllowTransfers(bool _allowTransfers) external onlyOwner {
    allowTransfers = _allowTransfers;
    emit AllowTransfersChanged(_allowTransfers);
  }

  function transfer(address _to, uint256 _value) public transfersAllowed returns (bool) {
    return super.transfer(_to, _value);
  }

  function transferFrom(address _from, address _to, uint256 _value) public transfersAllowed returns (bool) {
    return super.transferFrom(_from, _to, _value);
  }

  function transferAndCall(address _to, uint256 _value, bytes _data) public payable transfersAllowed returns (bool) {
    return super.transferAndCall(_to, _value, _data);
  }

  function transferFromAndCall(address _from, address _to, uint256 _value, bytes _data) public payable transfersAllowed returns (bool) {
    return super.transferFromAndCall(_from, _to, _value, _data);
  }

  /**
  * @dev Issue tokens to specified wallet
  * @param _to Wallet address
  * @param _value Amount of tokens
  */
  function issue(address _to, uint256 _value) external onlyOwner canIssue returns (bool) {
    totalSupply = totalSupply.add(_value);
    balances[_to] = balances[_to].add(_value);
    emit Issue(_to, _value);
    emit Transfer(address(0), _to, _value);
    return true;
  }

  /**
  * @dev Finish token issuance
  * @return True if success
  */
  function finishIssuance() public onlyOwner returns (bool) {
    issuanceFinished = true;
    emit IssuanceFinished();
    return true;
  }

  /**
  * @dev Burn tokens
  * @param _value Amount of tokens to burn
  */
  function burn(uint256 _value) external {
    require(balances[msg.sender] >= _value);
    totalSupply = totalSupply.sub(_value);
    balances[msg.sender] = balances[msg.sender].sub(_value);
    emit Transfer(msg.sender, address(0), _value);
    emit Burn(msg.sender, _value);
  }
}

Contract ABI
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allowTransfers","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transferAndCall","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"issuanceFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"issue","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"increaseApprovalAndCall","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transferFromAndCall","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"finishIssuance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"decreaseApprovalAndCall","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_allowTransfers","type":"bool"}],"name":"setAllowTransfers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ownerByAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owners","type":"address[]"}],"name":"setOwners","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_owners","type":"address[]"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_newState","type":"bool"}],"name":"AllowTransfersChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[],"name":"IssuanceFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owners","type":"address[]"}],"name":"SetOwners","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"}]

Contract Creation Code
60c0604052601060808190527f42697453637265656e6572546f6b656e0000000000000000000000000000000060a09081526200004091600691906200024f565b506040805180820190915260048082527f4249545800000000000000000000000000000000000000000000000000000000602090920191825262000087916007916200024f565b506008805460ff19166012179055600a805460a060020a61ffff0219169055348015620000b357600080fd5b50604051620018d2380380620018d283398101604052805160038054600160a060020a0319163317905501620000f281640100000000620000f9810204565b5062000381565b6000805b6004548210156200015f576000600560006004858154811015156200011e57fe5b600091825260208083209190910154600160a060020a031683528201929092526040019020805460ff191691151591909117905560019190910190620000fd565b5060005b8251811015620001bd5760016005600085848151811015156200018257fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff191691151591909117905560010162000163565b8251620001d2906004906020860190620002d4565b507f9465cd279c2de393c5568ae444599e3644e3d1864ca2c05ced8a654df2aea3cb836040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015620002375781810151838201526020016200021d565b505050509050019250505060405180910390a1505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200029257805160ff1916838001178555620002c2565b82800160010185558215620002c2579182015b82811115620002c2578251825591602001919060010190620002a5565b50620002d09291506200033a565b5090565b8280548282559060005260206000209081019282156200032c579160200282015b828111156200032c5782518254600160a060020a031916600160a060020a03909116178255602090920191600190910190620002f5565b50620002d09291506200035a565b6200035791905b80821115620002d0576000815560010162000341565b90565b6200035791905b80821115620002d0578054600160a060020a031916815560010162000361565b61154180620003916000396000f3006080604052600436106101695763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c27811461016e57806306fdde03146101a2578063095ea7b31461022c57806318160ddd146102645780632185810b1461028b57806323b872dd146102a0578063313ce567146102ca5780634000aea0146102f557806342966c68146103515780634662299a1461036b578063481c6a7514610380578063661884631461039557806370a08231146103b9578063867904b4146103da5780638da5cb5b146103fe57806390db623f1461041357806395d89b411461046f578063a0e67e2b14610484578063a9059cbb146104e9578063c1d34b891461050d578063c422293b1461056f578063cae9ca5114610584578063cb3993be146105e0578063d73dd6231461063c578063dd62ed3e14610660578063df50afa414610687578063eb6b192f146106a1578063fa4d3698146106c2575b600080fd5b34801561017a57600080fd5b50610186600435610717565b60408051600160a060020a039092168252519081900360200190f35b3480156101ae57600080fd5b506101b761073f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f15781810151838201526020016101d9565b50505050905090810190601f16801561021e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023857600080fd5b50610250600160a060020a03600435166024356107cd565b604080519115158252519081900360200190f35b34801561027057600080fd5b50610279610833565b60408051918252519081900360200190f35b34801561029757600080fd5b50610250610839565b3480156102ac57600080fd5b50610250600160a060020a0360043581169060243516604435610849565b3480156102d657600080fd5b506102df610877565b6040805160ff9092168252519081900360200190f35b604080516020600460443581810135601f8101849004840285018401909552848452610250948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506108809650505050505050565b34801561035d57600080fd5b506103696004356108a6565b005b34801561037757600080fd5b50610250610967565b34801561038c57600080fd5b50610186610989565b3480156103a157600080fd5b50610250600160a060020a0360043516602435610998565b3480156103c557600080fd5b50610279600160a060020a0360043516610a88565b3480156103e657600080fd5b50610250600160a060020a0360043516602435610aa3565b34801561040a57600080fd5b50610186610bb4565b604080516020600460443581810135601f8101849004840285018401909552848452610250948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610bc39650505050505050565b34801561047b57600080fd5b506101b7610c73565b34801561049057600080fd5b50610499610cce565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104d55781810151838201526020016104bd565b505050509050019250505060405180910390f35b3480156104f557600080fd5b50610250600160a060020a0360043516602435610d31565b604080516020601f60643560048181013592830184900484028501840190955281845261025094600160a060020a038135811695602480359092169560443595369560849401918190840183828082843750949750610d5d9650505050505050565b34801561057b57600080fd5b50610250610d8d565b604080516020600460443581810135601f8101849004840285018401909552848452610250948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610e149650505050505050565b604080516020600460443581810135601f8101849004840285018401909552848452610250948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610e369650505050505050565b34801561064857600080fd5b50610250600160a060020a0360043516602435610e58565b34801561066c57600080fd5b50610279600160a060020a0360043581169060243516610ef1565b34801561069357600080fd5b506103696004351515610f1c565b3480156106ad57600080fd5b50610250600160a060020a0360043516610fa1565b3480156106ce57600080fd5b506040805160206004803580820135838102808601850190965280855261036995369593946024949385019291829185019084908082843750949750610fb69650505050505050565b600480548290811061072557fe5b600091825260209091200154600160a060020a0316905081565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107c55780601f1061079a576101008083540402835291602001916107c5565b820191906000526020600020905b8154815290600101906020018083116107a857829003601f168201915b505050505081565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60095481565b600a5460a060020a900460ff1681565b600a5460009060a060020a900460ff16151561086457600080fd5b61086f848484610fd9565b949350505050565b60085460ff1681565b600a5460009060a060020a900460ff16151561089b57600080fd5b61086f84848461113e565b336000908152602081905260409020548111156108c257600080fd5b6009546108d5908263ffffffff61116016565b600955336000908152602081905260409020546108f8908263ffffffff61116016565b33600081815260208181526040808320949094558351858152935191936000805160206114f6833981519152929081900390910190a360408051828152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250565b600a547501000000000000000000000000000000000000000000900460ff1681565b600354600160a060020a031681565b336000908152600260209081526040808320600160a060020a0386168452909152812054808311156109ed57336000908152600260209081526040808320600160a060020a0388168452909152812055610a22565b6109fd818463ffffffff61116016565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526020819052604090205490565b3360009081526005602052604081205460ff161515600114610ac457600080fd5b600a547501000000000000000000000000000000000000000000900460ff1615610aed57600080fd5b600954610b00908363ffffffff61117216565b600955600160a060020a038316600090815260208190526040902054610b2c908363ffffffff61117216565b600160a060020a03841660008181526020818152604091829020939093558051858152905191927fc65a3f767206d2fdcede0b094a4840e01c0dd0be1888b5ba800346eaa0123c1692918290030190a2604080518381529051600160a060020a038516916000916000805160206114f68339815191529181900360200190a350600192915050565b600a54600160a060020a031681565b6000600160a060020a038416301415610bdb57600080fd5b610be58484610e58565b5083600160a060020a0316348360405180828051906020019080838360005b83811015610c1c578181015183820152602001610c04565b50505050905090810190601f168015610c495780820380516001836020036101000a031916815260200191505b5091505060006040518083038185875af1925050501515610c6957600080fd5b5060019392505050565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107c55780601f1061079a576101008083540402835291602001916107c5565b60606004805480602002602001604051908101604052809291908181526020018280548015610d2657602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610d08575b505050505090505b90565b600a5460009060a060020a900460ff161515610d4c57600080fd5b610d568383611185565b9392505050565b600a5460009060a060020a900460ff161515610d7857600080fd5b610d8485858585611254565b95945050505050565b3360009081526005602052604081205460ff161515600114610dae57600080fd5b600a805475ff000000000000000000000000000000000000000000191675010000000000000000000000000000000000000000001790556040517f29fe76cc5ca143e91eadf7242fda487fcef09318c1237900f958abe1e2c5beff90600090a150600190565b6000600160a060020a038416301415610e2c57600080fd5b610be584846107cd565b6000600160a060020a038416301415610e4e57600080fd5b610be58484610998565b336000908152600260209081526040808320600160a060020a0386168452909152812054610e8c908363ffffffff61117216565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b3360009081526005602052604090205460ff161515600114610f3d57600080fd5b600a805482151560a060020a810274ff0000000000000000000000000000000000000000199092169190911790915560408051918252517fbac956a1816a25b65e25a2449379c8409891b96663ce5f0b3475c196ec4bfa0f9181900360200190a150565b60056020526000908152604090205460ff1681565b600354600160a060020a03163314610fcd57600080fd5b610fd681611306565b50565b6000600160a060020a0383161515610ff057600080fd5b600160a060020a03841660009081526020819052604090205482111561101557600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561104557600080fd5b600160a060020a03841660009081526020819052604090205461106e908363ffffffff61116016565b600160a060020a0380861660009081526020819052604080822093909355908516815220546110a3908363ffffffff61117216565b600160a060020a038085166000908152602081815260408083209490945591871681526002825282812033825290915220546110e5908363ffffffff61116016565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391926000805160206114f6833981519152929181900390910190a35060019392505050565b6000600160a060020a03841630141561115657600080fd5b610be58484611185565b60008282111561116c57fe5b50900390565b8181018281101561117f57fe5b92915050565b6000600160a060020a038316151561119c57600080fd5b336000908152602081905260409020548211156111b857600080fd5b336000908152602081905260409020546111d8908363ffffffff61116016565b3360009081526020819052604080822092909255600160a060020a0385168152205461120a908363ffffffff61117216565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233926000805160206114f68339815191529281900390910190a350600192915050565b6000600160a060020a03841630141561126c57600080fd5b611277858585610fd9565b5083600160a060020a0316348360405180828051906020019080838360005b838110156112ae578181015183820152602001611296565b50505050905090810190601f1680156112db5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185875af19250505015156112fb57600080fd5b506001949350505050565b6000805b6004548210156113695760006005600060048581548110151561132957fe5b600091825260208083209190910154600160a060020a031683528201929092526040019020805460ff19169115159190911790556001919091019061130a565b5060005b82518110156113c457600160056000858481518110151561138a57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff191691151591909117905560010161136d565b82516113d7906004906020860190611452565b507f9465cd279c2de393c5568ae444599e3644e3d1864ca2c05ced8a654df2aea3cb836040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561143a578181015183820152602001611422565b505050509050019250505060405180910390a1505050565b8280548282559060005260206000209081019282156114b4579160200282015b828111156114b4578251825473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909116178255602090920191600190910190611472565b506114c09291506114c4565b5090565b610d2e91905b808211156114c057805473ffffffffffffffffffffffffffffffffffffffff191681556001016114ca5600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058208d6cc1a85a56a082ceec0568009c2fff823541516987b24bac93f1776742d3650029000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000004db84fdbff9ad2eeb00e75d8c0c5e138760e0f1f


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

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [2] : 0000000000000000000000004db84fdbff9ad2eeb00e75d8c0c5e138760e0f1f


   Swarm Source:
bzzr://8d6cc1a85a56a082ceec0568009c2fff823541516987b24bac93f1776742d365
Block Age Transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.