Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 28 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x073960fd4499257e916b371d8d96d84799ecdacfat txn 0xd3f88ea1460e5c7e8c575f93deab27f01eb71e98ba9cbbf1f24624f22d6a83cf
 Latest 25 transactions from a total of 28 transactions

TxHash Age From To Value [TxFee]
0x73de532f85dba875cbb0b5532ef92312e5e11222d9659db6e9fce034fa22770e289 days 19 hrs ago0x85397fedfb5fa5e03b7a050ffcaee610fe7f2f45  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3551 Ether0.00077815
0x6c56df8d23c3548b6c61c216d815021d2ae947b54e754489debbfe3b33bc0c5e291 days 16 hrs ago0x72452cfc68dd8bfe2b61f595ccb05963177b3795  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.04 Ether0.00062815
0x059e6106d83b4219de28147ca114926ac05f4753c1e56f3bbc318fc794d54ff6291 days 17 hrs ago0x72452cfc68dd8bfe2b61f595ccb05963177b3795  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.01 Ether0.00077815
0x06350664e3a98b62e218f2fc3f322d913599c5238f27bbb962afe0bbde00ffd9291 days 20 hrs ago0xecb6195133744a7525f11c9a356f7f88f85aa88a  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.18 Ether0.003190415
0xbeeb754bfde3616f5ac06e848614e1d414696c95466e7edde3a7d833bb377a8f293 days 18 hrs ago0xc4a5541ce198517452e467b388176fb0f317468f  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.35 Ether0.00342386
0x0c730b5c2958eaa759e4682419b7448df914d81cf4d08ec3091dc708d651c0ec298 days 1 min ago0x0de394678620b6a67bbb7e637ab8821fe14b3f25  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.5 Ether0.002575415
0x4a67aaa2ca259679078d421147f1fb118faf4087a0b6dd43c38b1075e20856a8298 days 2 hrs ago0x0de394678620b6a67bbb7e637ab8821fe14b3f25  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.1 Ether0.003190415
0xbbf81041a10dbdbb83af89c90fe04dfd743e005f4732291dfb6c185b18931200298 days 23 hrs ago0x349d3c6fce688626f57f560f0ef1c707388fd83d  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.2 Ether0.003190415
0xf443384c216ca78a60a53f7f4417527ef08afe68fd4d85c7c0a9cabb7c92b5a3299 days 4 mins ago0xe89118ad55f098c20875bb991f8bbee973a8b6e0  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.1 Ether0.0031126
0x02614197704b921b448418aaff7740d862bdc9ea1e48bf4d484c6014a59387f9299 days 18 hrs ago0x97d5e4f33b53cf6de6a8198bc0e32aa337dafe5d  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.01 Ether0.002575415
0x32b6228663e9abd987bd8c643b941c5224ce116d7bfd4f89763abf9128152e4f300 days 15 hrs ago0xf444f5d1b02cdf2b4e799c2d9d7708f2f0606b34  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.3 Ether0.0015563
0xc5c0f061cec27eebec5f277ce7a3ea25fa5ab89105ff7807da6aa287cafbe69c302 days 16 hrs ago0xbf0518aefbd0b6e261920679793664d9f1c71b02  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.204718155 Ether0.003190415
0xe5041050f9a2ffaf14d7b4bb4c2425d728e6bd640f968c8fa505c816b75d7b5f305 days 5 hrs ago0xc6971e57461a509fd7c931e5286d94e5765dcd2b  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.01 Ether0.000077815
0xea65e8ad6797c2bc756f05988446f1ffe74749103884f71fd6dda098eeeb8451305 days 8 hrs ago0xbaeaa87203198611c811c5f2af3f68a8c9d65d91  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.12 Ether0.003190415
0xa3c1c68f8f4dfcf8d7a9bb9b8bd395f5d6efe4e735e41e5b7f8a168f1bce0541305 days 9 hrs ago0xbaeaa87203198611c811c5f2af3f68a8c9d65d91  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.12 Ether0.00123
0x1c6f421ebd3f51bd6a55e314a33b2735e537e574bc313f2e23fe33c420a9f17d308 days 8 hrs ago0xcb0c7b29c1b3114907c7f07333037d6f6507847d  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.1 Ether0.00037689
0xd8abc9419a723236402c63b78f35451a8c518149b3607505be8dd0c8ed1cf0da308 days 8 hrs ago0xcb0c7b29c1b3114907c7f07333037d6f6507847d  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.1 Ether0.00031126
0x5f11359321de1dabfa423aea3fbc6a6f2c42e71ed548544716d84474e00dee9c309 days 23 hrs ago0xcb7d1378deb96b57d19bdb668c34f9d32e471125  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3551 Ether0.000389075
0xddf40c4df55793802593a62319f1f65dc524b04e3d04acdbe9838b78ebf74fb6313 days 19 hrs ago0x97d5e4f33b53cf6de6a8198bc0e32aa337dafe5d  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.03 Ether0.001025
0xc32b86778007e01964f1b302cc055135722678b9afe0dd1ea9bcb9f8f6dac6ae316 days 18 hrs ago0xf5c8c77d73ac253b9fce0bcd741405254ea8772b  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.11 Ether0.00186756
0xdcf0c49f7d75a9d30366b196aa4eb71bdde9273ba58fa0b0eb13e4247b63460f318 days 15 hrs ago0x3494fadf15d29894999e212bea77d41709fa2aa6  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.49 Ether0.0015563
0x99af245571bb2ed18507f8c96212248640722b5999de2ddeda49caf8d8abaebd319 days 8 hrs ago0x3494fadf15d29894999e212bea77d41709fa2aa6  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.49 Ether0.00042
0x778794e9c336c48c2e276a4df3f8d5fb5d1b57d82e2a7452094755711bc4516c320 days 1 hr ago0x97d5e4f33b53cf6de6a8198bc0e32aa337dafe5d  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.0003 Ether0.003190415
0x44c596179c0dd9a0963ca126c6cc141d86eaeaf71320b7a96e895130ef939069320 days 1 hr ago0x97d5e4f33b53cf6de6a8198bc0e32aa337dafe5d  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.005 Ether0.001025
0xcc87e3569e94ad48b2473724a482ee788747a9f773ff2a24093132258c7a7c2b320 days 1 hr ago0xe2a9d6c78dd5158e38e26ff50908daeb121feab0  IN   0x23d80b407eb3e4d12d067eb718e290a0219fb3550.1 Ether0.003190415
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here To View More View All
ParentTxHash Block Age From To Value
0x73de532f85dba875cbb0b5532ef92312e5e11222d9659db6e9fce034fa22770e5149389289 days 19 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x8bedbe45aa345938d70388e381e2b6199a15b3c30.5 Ether
0x73de532f85dba875cbb0b5532ef92312e5e11222d9659db6e9fce034fa22770e5149389289 days 19 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x36a3c000f8a3dc37fcd261d1844efaf851f815560.5 Ether
0x6c56df8d23c3548b6c61c216d815021d2ae947b54e754489debbfe3b33bc0c5e5138446291 days 16 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x8bedbe45aa345938d70388e381e2b6199a15b3c30.02 Ether
0x6c56df8d23c3548b6c61c216d815021d2ae947b54e754489debbfe3b33bc0c5e5138446291 days 16 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x36a3c000f8a3dc37fcd261d1844efaf851f815560.02 Ether
0x059e6106d83b4219de28147ca114926ac05f4753c1e56f3bbc318fc794d54ff65138341291 days 17 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x8bedbe45aa345938d70388e381e2b6199a15b3c30.005 Ether
0x059e6106d83b4219de28147ca114926ac05f4753c1e56f3bbc318fc794d54ff65138341291 days 17 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x36a3c000f8a3dc37fcd261d1844efaf851f815560.005 Ether
0x06350664e3a98b62e218f2fc3f322d913599c5238f27bbb962afe0bbde00ffd95137539291 days 20 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x8bedbe45aa345938d70388e381e2b6199a15b3c30.09 Ether
0x06350664e3a98b62e218f2fc3f322d913599c5238f27bbb962afe0bbde00ffd95137539291 days 20 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x36a3c000f8a3dc37fcd261d1844efaf851f815560.09 Ether
0xbeeb754bfde3616f5ac06e848614e1d414696c95466e7edde3a7d833bb377a8f5126182293 days 18 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x8bedbe45aa345938d70388e381e2b6199a15b3c30.175 Ether
0xbeeb754bfde3616f5ac06e848614e1d414696c95466e7edde3a7d833bb377a8f5126182293 days 18 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x36a3c000f8a3dc37fcd261d1844efaf851f815560.175 Ether
0x0c730b5c2958eaa759e4682419b7448df914d81cf4d08ec3091dc708d651c0ec5101203298 days 1 min ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x8bedbe45aa345938d70388e381e2b6199a15b3c30.25 Ether
0x0c730b5c2958eaa759e4682419b7448df914d81cf4d08ec3091dc708d651c0ec5101203298 days 1 min ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x36a3c000f8a3dc37fcd261d1844efaf851f815560.25 Ether
0x4a67aaa2ca259679078d421147f1fb118faf4087a0b6dd43c38b1075e20856a85100655298 days 2 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x8bedbe45aa345938d70388e381e2b6199a15b3c30.05 Ether
0x4a67aaa2ca259679078d421147f1fb118faf4087a0b6dd43c38b1075e20856a85100655298 days 2 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x36a3c000f8a3dc37fcd261d1844efaf851f815560.05 Ether
0xbbf81041a10dbdbb83af89c90fe04dfd743e005f4732291dfb6c185b189312005095238298 days 23 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x8bedbe45aa345938d70388e381e2b6199a15b3c30.1 Ether
0xbbf81041a10dbdbb83af89c90fe04dfd743e005f4732291dfb6c185b189312005095238298 days 23 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x36a3c000f8a3dc37fcd261d1844efaf851f815560.1 Ether
0xf443384c216ca78a60a53f7f4417527ef08afe68fd4d85c7c0a9cabb7c92b5a35095130299 days 4 mins ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x8bedbe45aa345938d70388e381e2b6199a15b3c30.05 Ether
0xf443384c216ca78a60a53f7f4417527ef08afe68fd4d85c7c0a9cabb7c92b5a35095130299 days 4 mins ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x36a3c000f8a3dc37fcd261d1844efaf851f815560.05 Ether
0x02614197704b921b448418aaff7740d862bdc9ea1e48bf4d484c6014a59387f95090520299 days 18 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x8bedbe45aa345938d70388e381e2b6199a15b3c30.005 Ether
0x02614197704b921b448418aaff7740d862bdc9ea1e48bf4d484c6014a59387f95090520299 days 18 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x36a3c000f8a3dc37fcd261d1844efaf851f815560.005 Ether
0x32b6228663e9abd987bd8c643b941c5224ce116d7bfd4f89763abf9128152e4f5085371300 days 15 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x8bedbe45aa345938d70388e381e2b6199a15b3c30.15 Ether
0x32b6228663e9abd987bd8c643b941c5224ce116d7bfd4f89763abf9128152e4f5085371300 days 15 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x36a3c000f8a3dc37fcd261d1844efaf851f815560.15 Ether
0xc5c0f061cec27eebec5f277ce7a3ea25fa5ab89105ff7807da6aa287cafbe69c5073262302 days 16 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x8bedbe45aa345938d70388e381e2b6199a15b3c30.1023590775 Ether
0xc5c0f061cec27eebec5f277ce7a3ea25fa5ab89105ff7807da6aa287cafbe69c5073262302 days 16 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x36a3c000f8a3dc37fcd261d1844efaf851f815560.1023590775 Ether
0xe5041050f9a2ffaf14d7b4bb4c2425d728e6bd640f968c8fa505c816b75d7b5f5058177305 days 5 hrs ago0x23d80b407eb3e4d12d067eb718e290a0219fb3550x8bedbe45aa345938d70388e381e2b6199a15b3c30.005 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: XmonetaPresale
Compiler Text: v0.4.19+commit.c4cbbb05
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.19;



/* ************************************************ */
/* ********** Zeppelin Solidity - v1.5.0 ********** */
/* ************************************************ */



/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  uint256 public totalSupply;
  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 SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  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 c;
  }

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

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 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;

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

    // SafeMath.sub will throw if there is not enough balance.
    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) public view returns (uint256 balance) {
    return balances[_owner];
  }

}


/**
 * @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 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);
    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;
    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);
    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);
    }
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

}


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


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


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


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


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}


/**
 * @title Claimable
 * @dev Extension for the Ownable contract, where the ownership needs to be claimed.
 * This allows the new owner to accept the transfer.
 */
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 public {
    pendingOwner = newOwner;
  }

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



/* *********************************** */
/* ********** Xmoneta Token ********** */
/* *********************************** */



/**
 * @title XmonetaToken
 * @author Xmoneta.com
 *
 * ERC20 Compatible token
 * Zeppelin Solidity - v1.5.0
 */

contract XmonetaToken is StandardToken, Claimable {

  /* ********** Token Predefined Information ********** */

  string public constant name = "Xmoneta Token";
  string public constant symbol = "XMN";
  uint256 public constant decimals = 18;

  /* ********** Defined Variables ********** */

  // Total tokens supply 1 000 000 000
  // For ethereum wallets we added decimals constant
  uint256 public constant INITIAL_SUPPLY = 1000000000 * (10 ** decimals);
  // Vault where tokens are stored
  address public vault = msg.sender;
  // Sales agent who has permissions to manipulate with tokens
  address public salesAgent;

  /* ********** Events ********** */

  event SalesAgentAppointed(address indexed previousSalesAgent, address indexed newSalesAgent);
  event SalesAgentRemoved(address indexed currentSalesAgent);
  event Burn(uint256 valueToBurn);

  /* ********** Functions ********** */

  // Contract constructor
  function XmonetaToken() public {
    owner = msg.sender;
    totalSupply = INITIAL_SUPPLY;
    balances[vault] = totalSupply;
  }

  // Appoint sales agent of token
  function setSalesAgent(address newSalesAgent) onlyOwner public {
    SalesAgentAppointed(salesAgent, newSalesAgent);
    salesAgent = newSalesAgent;
  }

  // Remove sales agent from token
  function removeSalesAgent() onlyOwner public {
    SalesAgentRemoved(salesAgent);
    salesAgent = address(0);
  }

  // Transfer tokens from vault to account if sales agent is correct
  function transferTokensFromVault(address fromAddress, address toAddress, uint256 tokensAmount) public {
    require(salesAgent == msg.sender);
    balances[vault] = balances[vault].sub(tokensAmount);
    balances[toAddress] = balances[toAddress].add(tokensAmount);
    Transfer(fromAddress, toAddress, tokensAmount);
  }

  // Allow the owner to burn a specific amount of tokens from the vault
  function burn(uint256 valueToBurn) onlyOwner public {
    require(valueToBurn > 0);
    balances[vault] = balances[vault].sub(valueToBurn);
    totalSupply = totalSupply.sub(valueToBurn);
    Burn(valueToBurn);
  }

}



/* ************************************** */
/* ********** Xmoneta Pre-sale ********** */
/* ************************************** */



/**
 * @title XmonetaPresale
 * @author Xmoneta.com
 *
 * Zeppelin Solidity - v1.5.0
 */

contract XmonetaPresale {

  using SafeMath for uint256;

  /* ********** Defined Variables ********** */

  // The token being sold
  XmonetaToken public token;
  // Crowdsale start timestamp - 01/25/2018 at 12:00pm (UTC)
  uint256 public startTime = 1516881600;
  // Crowdsale end timestamp - 02/15/2018 at 12:00pm (UTC)
  uint256 public endTime = 1519560000;
  // Addresses where ETH are collected
  address public wallet1 = 0x36A3c000f8a3dC37FCD261D1844efAF851F81556;
  address public wallet2 = 0x8beDBE45Aa345938d70388E381E2B6199A15B3C3;
  // How many token per wei
  uint256 public rate = 2000;
  // Cap in ethers
  uint256 public cap = 16000 * 1 ether;
  // Amount of raised wei
  uint256 public weiRaised;

  /* ********** Events ********** */

  event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 weiAmount, uint256 tokens);

  /* ********** Functions ********** */

  // Contract constructor
  function XmonetaPresale() public {
    token = XmonetaToken(0x99705A8B60d0fE21A4B8ee54DB361B3C573D18bb);
  }

  // Fallback function to buy tokens
  function () public payable {
    buyTokens(msg.sender);
  }

  // Token purchase function
  function buyTokens(address beneficiary) public payable {
    require(validPurchase());

    uint256 weiAmount = msg.value;

    // Send spare wei back if investor sent more that cap
    uint256 tempWeiRaised = weiRaised.add(weiAmount);
    if (tempWeiRaised > cap) {
      uint256 spareWeis = tempWeiRaised.sub(cap);
      weiAmount = weiAmount.sub(spareWeis);
      beneficiary.transfer(spareWeis);
    }

    // Current pre-sale bonus is 30%
    uint256 bonusPercent = 30;

    // If buyer send 5 or more ethers then bonus will be 50%
    if (weiAmount >= 5 ether) {
      bonusPercent = 50;
    }

    uint256 additionalPercentInWei = rate.div(100).mul(bonusPercent);
    uint256 rateWithPercents = rate.add(additionalPercentInWei);

    // Calculate token amount to be sold
    uint256 tokens = weiAmount.mul(rateWithPercents);

    // Update state
    weiRaised = weiRaised.add(weiAmount);

    // Tranfer tokens from vault
    token.transferTokensFromVault(msg.sender, beneficiary, tokens);
    TokenPurchase(msg.sender, beneficiary, weiAmount, tokens);

    forwardFunds(weiAmount);
  }

  // Send wei to the fund collection wallets
  function forwardFunds(uint256 weiAmount) internal {
    uint256 value = weiAmount.div(2);

    // If buyer send amount of wei that can not be divided to 2 without float point, send all weis to first wallet
    if (value.mul(2) != weiAmount) {
      wallet1.transfer(weiAmount);
    } else {
      wallet1.transfer(value);
      wallet2.transfer(value);
    }
  }

  // Validate if the transaction can be success
  function validPurchase() internal constant returns (bool) {
    bool withinCap = weiRaised < cap;
    bool withinPeriod = now >= startTime && now <= endTime;
    bool nonZeroPurchase = msg.value != 0;
    return withinPeriod && nonZeroPurchase && withinCap;
  }

  // Show if crowdsale has ended or no
  function hasEnded() public constant returns (bool) {
    return now > endTime || weiRaised >= cap;
  }

}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"wallet2","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet1","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"hasEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"weiAmount","type":"uint256"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"TokenPurchase","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052635a69c6c0600155635a92a5406002557336a3c000f8a3dc37fcd261d1844efaf851f81556600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550738bedbe45aa345938d70388e381e2b6199a15b3c3600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107d06005556903635c9adc5dea00000060065534156100dd57600080fd5b7399705a8b60d0fe21a4b8ee54db361b3c573d18bb6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108a9806101406000396000f3006060604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630b8d0a28146100af5780631a026c96146101045780632c4e722e146101595780633197cbb614610182578063355274ea146101ab5780634042b66f146101d457806378e97925146101fd578063ec8ac4d814610226578063ecb70fb714610254578063fc0c546a14610281575b6100ad336102d6565b005b34156100ba57600080fd5b6100c261059b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561010f57600080fd5b6101176105c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561016457600080fd5b61016c6105e7565b6040518082815260200191505060405180910390f35b341561018d57600080fd5b6101956105ed565b6040518082815260200191505060405180910390f35b34156101b657600080fd5b6101be6105f3565b6040518082815260200191505060405180910390f35b34156101df57600080fd5b6101e76105f9565b6040518082815260200191505060405180910390f35b341561020857600080fd5b6102106105ff565b6040518082815260200191505060405180910390f35b610252600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506102d6565b005b341561025f57600080fd5b610267610605565b604051808215151515815260200191505060405180910390f35b341561028c57600080fd5b610294610620565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060008060008060006102e9610645565b15156102f457600080fd5b34965061030c8760075461068c90919063ffffffff16565b95506006548611156103855761032d600654876106aa90919063ffffffff16565b945061034285886106aa90919063ffffffff16565b96508773ffffffffffffffffffffffffffffffffffffffff166108fc869081150290604051600060405180830381858888f19350505050151561038457600080fd5b5b601e9350674563918244f400008710151561039f57603293505b6103c7846103b960646005546106c390919063ffffffff16565b6106de90919063ffffffff16565b92506103de8360055461068c90919063ffffffff16565b91506103f382886106de90919063ffffffff16565b905061040a8760075461068c90919063ffffffff16565b6007819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634d6804c2338a846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b151561050757600080fd5b6102c65a03f1151561051857600080fd5b5050508773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188984604051808381526020018281526020019250505060405180910390a361059187610719565b5050505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b60025481565b60065481565b60075481565b60015481565b600060025442118061061b575060065460075410155b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600654600754109250600154421015801561066857506002544211155b91506000341415905081801561067b5750805b80156106845750825b935050505090565b60008082840190508381101515156106a057fe5b8091505092915050565b60008282111515156106b857fe5b818303905092915050565b60008082848115156106d157fe5b0490508091505092915050565b60008060008414156106f35760009150610712565b828402905082848281151561070457fe5b0414151561070e57fe5b8091505b5092915050565b600061072f6002836106c390919063ffffffff16565b9050816107466002836106de90919063ffffffff16565b1415156107b457600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156107af57600080fd5b610879565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561081657600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561087857600080fd5b5b50505600a165627a7a72305820d0573400fab30bc788de757ecd536ff830a18c39e86dd25f96ad39cd20d6aa110029

   Swarm Source:
bzzr://d0573400fab30bc788de757ecd536ff830a18c39e86dd25f96ad39cd20d6aa11

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.