ETH Price: $2,679.66 (+1.88%)
Gas: 1 Gwei

Contract

0xFD9C3e772cC22f1511c2867725A71a868451A4c8
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer55693492018-05-07 1:14:212288 days ago1525655661IN
0xFD9C3e77...68451A4c8
2 ETH0.0002134510
Transfer55693492018-05-07 1:14:212288 days ago1525655661IN
0xFD9C3e77...68451A4c8
2 ETH0.0002134510
Transfer55693472018-05-07 1:13:262288 days ago1525655606IN
0xFD9C3e77...68451A4c8
2 ETH0.000085384
Transfer55536282018-05-04 7:22:532291 days ago1525418573IN
0xFD9C3e77...68451A4c8
1.1264 ETH0.0021345100
Transfer55501042018-05-03 16:41:022291 days ago1525365662IN
0xFD9C3e77...68451A4c8
1 ETH0.000853840
Transfer55501042018-05-03 16:41:022291 days ago1525365662IN
0xFD9C3e77...68451A4c8
1 ETH0.000426920
Transfer55501042018-05-03 16:41:022291 days ago1525365662IN
0xFD9C3e77...68451A4c8
0 ETH0.0006403530
Transfer55500992018-05-03 16:39:352291 days ago1525365575IN
0xFD9C3e77...68451A4c8
0 ETH0.0002134510
Transfer55500992018-05-03 16:39:352291 days ago1525365575IN
0xFD9C3e77...68451A4c8
2.2 ETH0.0002134510
Transfer55497232018-05-03 15:10:092291 days ago1525360209IN
0xFD9C3e77...68451A4c8
0.61898669 ETH0.00086141
Transfer55496912018-05-03 15:00:092291 days ago1525359609IN
0xFD9C3e77...68451A4c8
0.61986184 ETH0.0008751441
Transfer55482242018-05-03 8:43:462292 days ago1525337026IN
0xFD9C3e77...68451A4c8
1.2 ETH0.0007470735
Transfer55480272018-05-03 7:55:092292 days ago1525334109IN
0xFD9C3e77...68451A4c8
0.8736 ETH0.0008751441
Transfer55478642018-05-03 7:06:492292 days ago1525331209IN
0xFD9C3e77...68451A4c8
0.8736 ETH0.00086141
Transfer55471572018-05-03 4:08:102292 days ago1525320490IN
0xFD9C3e77...68451A4c8
3 ETH0.0007897637
Transfer55471362018-05-03 4:02:192292 days ago1525320139IN
0xFD9C3e77...68451A4c8
1 ETH0.0004482421
Transfer55471322018-05-03 4:00:462292 days ago1525320046IN
0xFD9C3e77...68451A4c8
1.4 ETH0.0021345100
Pause55471302018-05-03 4:00:102292 days ago1525320010IN
0xFD9C3e77...68451A4c8
0 ETH0.001412350
Transfer55471252018-05-03 3:58:402292 days ago1525319920IN
0xFD9C3e77...68451A4c8
1.1 ETH0.001155135
Transfer55471232018-05-03 3:57:552292 days ago1525319875IN
0xFD9C3e77...68451A4c8
542 ETH0.000305279.25
Transfer55471232018-05-03 3:57:552292 days ago1525319875IN
0xFD9C3e77...68451A4c8
1.48 ETH0.0014230156.46875
Transfer55471202018-05-03 3:56:472292 days ago1525319807IN
0xFD9C3e77...68451A4c8
2 ETH0.0006600620
Transfer55471072018-05-03 3:53:502292 days ago1525319630IN
0xFD9C3e77...68451A4c8
1.1264 ETH0.001155135
Transfer55471042018-05-03 3:52:572292 days ago1525319577IN
0xFD9C3e77...68451A4c8
2 ETH0.0000993
Transfer55471022018-05-03 3:52:182292 days ago1525319538IN
0xFD9C3e77...68451A4c8
5.5 ETH0.001155135
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
55471252018-05-03 3:58:402292 days ago1525319920
0xFD9C3e77...68451A4c8
1.1 ETH
55471232018-05-03 3:57:552292 days ago1525319875
0xFD9C3e77...68451A4c8
542 ETH
55471202018-05-03 3:56:472292 days ago1525319807
0xFD9C3e77...68451A4c8
2 ETH
55471072018-05-03 3:53:502292 days ago1525319630
0xFD9C3e77...68451A4c8
1.1264 ETH
55471042018-05-03 3:52:572292 days ago1525319577
0xFD9C3e77...68451A4c8
2 ETH
55471022018-05-03 3:52:182292 days ago1525319538
0xFD9C3e77...68451A4c8
5.5 ETH
55471002018-05-03 3:51:532292 days ago1525319513
0xFD9C3e77...68451A4c8
10 ETH
55470932018-05-03 3:50:212292 days ago1525319421
0xFD9C3e77...68451A4c8
1.11 ETH
55470932018-05-03 3:50:212292 days ago1525319421
0xFD9C3e77...68451A4c8
1.11 ETH
55470932018-05-03 3:50:212292 days ago1525319421
0xFD9C3e77...68451A4c8
1.11 ETH
55470932018-05-03 3:50:212292 days ago1525319421
0xFD9C3e77...68451A4c8
1.11 ETH
55470932018-05-03 3:50:212292 days ago1525319421
0xFD9C3e77...68451A4c8
1.11 ETH
55470932018-05-03 3:50:212292 days ago1525319421
0xFD9C3e77...68451A4c8
1.11 ETH
55470932018-05-03 3:50:212292 days ago1525319421
0xFD9C3e77...68451A4c8
1.11 ETH
55470932018-05-03 3:50:212292 days ago1525319421
0xFD9C3e77...68451A4c8
1 ETH
55470922018-05-03 3:49:492292 days ago1525319389
0xFD9C3e77...68451A4c8
1.11 ETH
55470922018-05-03 3:49:492292 days ago1525319389
0xFD9C3e77...68451A4c8
1.11 ETH
55470912018-05-03 3:49:322292 days ago1525319372
0xFD9C3e77...68451A4c8
1.11 ETH
55470902018-05-03 3:49:232292 days ago1525319363
0xFD9C3e77...68451A4c8
1.11 ETH
55470902018-05-03 3:49:232292 days ago1525319363
0xFD9C3e77...68451A4c8
1.11 ETH
55470902018-05-03 3:49:232292 days ago1525319363
0xFD9C3e77...68451A4c8
1.1264 ETH
55470902018-05-03 3:49:232292 days ago1525319363
0xFD9C3e77...68451A4c8
1.11 ETH
55470902018-05-03 3:49:232292 days ago1525319363
0xFD9C3e77...68451A4c8
1.1 ETH
55470892018-05-03 3:49:042292 days ago1525319344
0xFD9C3e77...68451A4c8
1.11 ETH
55470892018-05-03 3:49:042292 days ago1525319344
0xFD9C3e77...68451A4c8
1.11 ETH
View All Internal Transactions
Loading...
Loading

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

Contract Name:
DAOstackPreSale

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-04-24
*/

pragma solidity ^0.4.21;


/**
 * @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));
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

/**
 * @title Whitelist
 * @dev The Whitelist contract has a whitelist of addresses, and provides basic authorization control functions.
 * @dev This simplifies the implementation of "user permissions".
 */
contract Whitelist is Ownable {
  mapping(address => bool) public whitelist;

  event WhitelistedAddressAdded(address addr);
  event WhitelistedAddressRemoved(address addr);

  /**
   * @dev Throws if called by any account that's not whitelisted.
   */
  modifier onlyWhitelisted() {
    require(whitelist[msg.sender]);
    _;
  }

  /**
   * @dev add an address to the whitelist
   * @param addr address
   * @return true if the address was added to the whitelist, false if the address was already in the whitelist
   */
  function addAddressToWhitelist(address addr) onlyOwner public returns(bool success) {
    if (!whitelist[addr]) {
      whitelist[addr] = true;
      emit WhitelistedAddressAdded(addr);
      success = true;
    }
  }

  /**
   * @dev add addresses to the whitelist
   * @param addrs addresses
   * @return true if at least one address was added to the whitelist,
   * false if all addresses were already in the whitelist
   */
  function addAddressesToWhitelist(address[] addrs) onlyOwner public returns(bool success) {
    for (uint256 i = 0; i < addrs.length; i++) {
      if (addAddressToWhitelist(addrs[i])) {
        success = true;
      }
    }
  }

  /**
   * @dev remove an address from the whitelist
   * @param addr address
   * @return true if the address was removed from the whitelist,
   * false if the address wasn't in the whitelist in the first place
   */
  function removeAddressFromWhitelist(address addr) onlyOwner public returns(bool success) {
    if (whitelist[addr]) {
      whitelist[addr] = false;
      emit WhitelistedAddressRemoved(addr);
      success = true;
    }
  }

  /**
   * @dev remove addresses from the whitelist
   * @param addrs addresses
   * @return true if at least one address was removed from the whitelist,
   * false if all addresses weren't in the whitelist in the first place
   */
  function removeAddressesFromWhitelist(address[] addrs) onlyOwner public returns(bool success) {
    for (uint256 i = 0; i < addrs.length; i++) {
      if (removeAddressFromWhitelist(addrs[i])) {
        success = true;
      }
    }
  }

}


/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused public {
    paused = true;
    emit Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() onlyOwner whenPaused public {
    paused = false;
    emit Unpause();
  }
}

contract BuyLimits {
    event LogLimitsChanged(uint _minBuy, uint _maxBuy);

    // Variables holding the min and max payment in wei
    uint public minBuy; // min buy in wei
    uint public maxBuy; // max buy in wei, 0 means no maximum

    /*
    ** Modifier, reverting if not within limits.
    */
    modifier isWithinLimits(uint _amount) {
        require(withinLimits(_amount));
        _;
    }

    /*
    ** @dev Constructor, define variable:
    */
    function BuyLimits(uint _min, uint  _max) public {
        _setLimits(_min, _max);
    }

    /*
    ** @dev Check TXs value is within limits:
    */
    function withinLimits(uint _value) public view returns(bool) {
        if (maxBuy != 0) {
            return (_value >= minBuy && _value <= maxBuy);
        }
        return (_value >= minBuy);
    }

    /*
    ** @dev set limits logic:
    ** @param _min set the minimum buy in wei
    ** @param _max set the maximum buy in wei, 0 indeicates no maximum
    */
    function _setLimits(uint _min, uint _max) internal {
        if (_max != 0) {
            require (_min <= _max); // Sanity Check
        }
        minBuy = _min;
        maxBuy = _max;
        emit LogLimitsChanged(_min, _max);
    }
}


/**
 * @title DAOstackPresale
 * @dev A contract to allow only whitelisted followers to participate in presale.
 */
contract DAOstackPreSale is Pausable,BuyLimits,Whitelist {
    event LogFundsReceived(address indexed _sender, uint _amount);

    address public wallet;

    /**
    * @dev Constructor.
    * @param _wallet Address where the funds are transfered to
    * @param _minBuy Address where the funds are transfered to
    * @param _maxBuy Address where the funds are transfered to
    */
    function DAOstackPreSale(address _wallet, uint _minBuy, uint _maxBuy)
    public
    BuyLimits(_minBuy, _maxBuy)
    {
        // Set wallet:
        require(_wallet != address(0));
        wallet = _wallet;
    }

    /**
    * @dev Fallback, funds coming in are transfered to wallet
    */
    function () payable whenNotPaused onlyWhitelisted isWithinLimits(msg.value) external {
        wallet.transfer(msg.value);
        emit LogFundsReceived(msg.sender, msg.value);
    }

    /*
    ** @dev Drain function, in case of failure. Contract should not hold eth anyhow.
    */
    function drain() external {
        wallet.transfer((address(this)).balance);
    }

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"addrs","type":"address[]"}],"name":"removeAddressesFromWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"removeAddressFromWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxBuy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minBuy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"addAddressToWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"drain","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_value","type":"uint256"}],"name":"withinLimits","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addrs","type":"address[]"}],"name":"addAddressesToWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_wallet","type":"address"},{"name":"_minBuy","type":"uint256"},{"name":"_maxBuy","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_sender","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"LogFundsReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"WhitelistedAddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"WhitelistedAddressRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_minBuy","type":"uint256"},{"indexed":false,"name":"_maxBuy","type":"uint256"}],"name":"LogLimitsChanged","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

Deployed Bytecode

0x6060604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166324953eaa81146101a1578063286dd3f5146102045780633f4ba83a14610223578063521eb273146102385780635c975abb1461026757806370db69d61461027a5780637107d7a61461029f5780637b9417c8146102b25780638456cb59146102d15780638da5cb5b146102e45780639890220b146102f75780639b19251a1461030a578063d48d02f614610329578063e2ec6ec31461033f578063f2fde38b1461038e575b60005460a060020a900460ff16156100f157600080fd5b600160a060020a03331660009081526003602052604090205460ff16151561011857600080fd5b34610122816103ad565b151561012d57600080fd5b600454600160a060020a03163480156108fc0290604051600060405180830381858888f19350505050151561016157600080fd5b33600160a060020a03167fafc7c22656214f820dd5d5d53d4e1a42b878f2fe22f8523d33e095602edff9223460405190815260200160405180910390a250005b34156101ac57600080fd5b6101f060046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506103e095505050505050565b604051901515815260200160405180910390f35b341561020f57600080fd5b6101f0600160a060020a0360043516610441565b341561022e57600080fd5b6102366104e5565b005b341561024357600080fd5b61024b610564565b604051600160a060020a03909116815260200160405180910390f35b341561027257600080fd5b6101f0610573565b341561028557600080fd5b61028d610583565b60405190815260200160405180910390f35b34156102aa57600080fd5b61028d610589565b34156102bd57600080fd5b6101f0600160a060020a036004351661058f565b34156102dc57600080fd5b610236610637565b34156102ef57600080fd5b61024b6106bb565b341561030257600080fd5b6102366106ca565b341561031557600080fd5b6101f0600160a060020a0360043516610705565b341561033457600080fd5b6101f06004356103ad565b341561034a57600080fd5b6101f0600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061071a95505050505050565b341561039957600080fd5b610236600160a060020a0360043516610775565b600254600090156103d35760015482101580156103cc57506002548211155b90506103db565b506001548110155b919050565b60008054819033600160a060020a039081169116146103fe57600080fd5b5060005b825181101561043b5761042983828151811061041a57fe5b90602001906020020151610441565b1561043357600191505b600101610402565b50919050565b6000805433600160a060020a0390811691161461045d57600080fd5b600160a060020a03821660009081526003602052604090205460ff16156103db57600160a060020a03821660009081526003602052604090819020805460ff191690557ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a90839051600160a060020a03909116815260200160405180910390a1506001919050565b60005433600160a060020a0390811691161461050057600080fd5b60005460a060020a900460ff16151561051857600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600454600160a060020a031681565b60005460a060020a900460ff1681565b60025481565b60015481565b6000805433600160a060020a039081169116146105ab57600080fd5b600160a060020a03821660009081526003602052604090205460ff1615156103db57600160a060020a03821660009081526003602052604090819020805460ff191660011790557fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f90839051600160a060020a03909116815260200160405180910390a1506001919050565b60005433600160a060020a0390811691161461065257600080fd5b60005460a060020a900460ff161561066957600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600054600160a060020a031681565b600454600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561070357600080fd5b565b60036020526000908152604090205460ff1681565b60008054819033600160a060020a0390811691161461073857600080fd5b5060005b825181101561043b5761076383828151811061075457fe5b9060200190602002015161058f565b1561076d57600191505b60010161073c565b60005433600160a060020a0390811691161461079057600080fd5b600160a060020a03811615156107a557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b8015610823578082111561082357600080fd5b600182905560028190557fd8f1e8bfff62a7806e45dcaf90efcaf0efd33de99807df419c7a97acc5947253828260405191825260208201526040908101905180910390a150505600a165627a7a7230582088bd35f3a9c7f39d41701afbb62f0c0c148b318ce67cae9c6e544a0ced526e090029

Swarm Source

bzzr://88bd35f3a9c7f39d41701afbb62f0c0c148b318ce67cae9c6e544a0ced526e09

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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