ETH Price: $3,451.79 (-0.83%)
Gas: 8 Gwei

Contract

0x6f03A8349ba2af210E614cF92012f96AB1CfA164
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Purchase MIT32504352017-02-25 21:31:462699 days ago1488058306IN
0x6f03A834...AB1CfA164
0.05090909 ETH0.0031501121.00075821
Purchase MIT32503872017-02-25 21:18:312699 days ago1488057511IN
0x6f03A834...AB1CfA164
0.01 ETH0.0120
Set Token Contra...32494472017-02-25 17:37:222699 days ago1488044242IN
0x6f03A834...AB1CfA164
0 ETH0.0008814820
0x6060604032494332017-02-25 17:32:412699 days ago1488043961IN
 Create: MainstreetCrowdfund
0 ETH0.0330335240

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
32504352017-02-25 21:31:462699 days ago1488058306
0x6f03A834...AB1CfA164
0.05090909 ETH
32503872017-02-25 21:18:312699 days ago1488057511
0x6f03A834...AB1CfA164
0.01 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MainstreetCrowdfund

Compiler Version
v0.4.9+commit.364da425

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-02-25
*/

pragma solidity ^0.4.9;

contract ERC20 {
    function totalSupply() constant returns (uint256 totalSupply);
    function balanceOf(address _owner) constant returns (uint256 balance);
    function transfer(address _to, uint256 _value) returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
    function approve(address _spender, uint256 _value) returns (bool success);
    function allowance(address _owner, address _spender) constant returns (uint256 remaining);

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

/**
 * @title MainstreetToken
 */
contract MainstreetToken is ERC20 {
    string public name = 'Mainstreet Token';             //The Token's name: e.g. DigixDAO Tokens
    uint8 public decimals = 18;             // 1Token ¨= 1$ (1ETH ¨= 10$)
    string public symbol = 'MIT';           //An identifier: e.g. REP
    string public version = 'MIT_0.1';

    mapping (address => uint) ownerMIT;
    mapping (address => mapping (address => uint)) allowed;
    uint public totalMIT;
    uint public start;

    address public mainstreetCrowdfund;

    address public intellisys;

    bool public testing;

    modifier fromCrowdfund() {
        if (msg.sender != mainstreetCrowdfund) {
            throw;
        }
        _;
    }

    modifier isActive() {
        if (block.timestamp < start) {
            throw;
        }
        _;
    }

    modifier isNotActive() {
        if (!testing && block.timestamp >= start) {
            throw;
        }
        _;
    }

    modifier recipientIsValid(address recipient) {
        if (recipient == 0 || recipient == address(this)) {
            throw;
        }
        _;
    }

    modifier allowanceIsZero(address spender, uint value) {
        // To change the approve amount you first have to reduce the addresses´
        // allowance to zero by calling `approve(_spender,0)` if it is not
        // already 0 to mitigate the race condition described here:
        // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        if ((value != 0) && (allowed[msg.sender][spender] != 0)) {
            throw;
        }
        _;
    }

    /**
     * @dev Constructor.
     * @param _mainstreetCrowdfund Address of crowdfund contract.
     * @param _intellisys Address to receive intellisys' tokens.
     * @param _start Timestamp when the token becomes active.
     */
    function MainstreetToken(address _mainstreetCrowdfund, address _intellisys, uint _start, bool _testing) {
        mainstreetCrowdfund = _mainstreetCrowdfund;
        intellisys = _intellisys;
        start = _start;
        testing = _testing;
    }

    /**
     * @dev Add to token balance on address. Must be from crowdfund.
     * @param recipient Address to add tokens to.
     * @return MIT Amount of MIT to add.
     */
    function addTokens(address recipient, uint MIT) external isNotActive fromCrowdfund {
        ownerMIT[recipient] += MIT;
        uint intellisysMIT = MIT / 10;
        ownerMIT[intellisys] += intellisysMIT;
        totalMIT += MIT + intellisysMIT;
        Transfer(0x0, recipient, MIT);
        Transfer(0x0, intellisys, intellisysMIT);
    }

    /**
     * @dev Implements ERC20 totalSupply()
     */
    function totalSupply() constant returns (uint256 totalSupply) {
        totalSupply = totalMIT;
    }

    /**
     * @dev Implements ERC20 balanceOf()
     */
    function balanceOf(address _owner) constant returns (uint256 balance) {
        balance = ownerMIT[_owner];
    }

    /**
     * @dev Implements ERC20 transfer()
     */
    function transfer(address _to, uint256 _value) isActive recipientIsValid(_to) returns (bool success) {
        if (ownerMIT[msg.sender] >= _value) {
            ownerMIT[msg.sender] -= _value;
            ownerMIT[_to] += _value;
            Transfer(msg.sender, _to, _value);
            return true;
        } else {
            return false;
        }
    }

    /**
     * @dev Implements ERC20 transferFrom()
     */
    function transferFrom(address _from, address _to, uint256 _value) isActive recipientIsValid(_to) returns (bool success) {
        if (allowed[_from][msg.sender] >= _value && ownerMIT[_from] >= _value) {
            ownerMIT[_to] += _value;
            ownerMIT[_from] -= _value;
            allowed[_from][msg.sender] -= _value;
            Transfer(_from, _to, _value);
            return true;
        } else {
            return false;
        }
    }

    /**
     * @dev Implements ERC20 approve()
     */
    function approve(address _spender, uint256 _value) isActive allowanceIsZero(_spender, _value) returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
     * @dev Implements ERC20 allowance()
     */
    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
        remaining = allowed[_owner][_spender];
    }
}


/**
 * @title MainstreetCrowdfund
 */
contract MainstreetCrowdfund {

    uint public start;
    uint public end;

    mapping (address => uint) public senderETH;
    mapping (address => uint) public senderMIT;
    mapping (address => uint) public recipientETH;
    mapping (address => uint) public recipientMIT;
    mapping (address => uint) public recipientExtraMIT;

    uint public totalETH;
    uint public limitETH;

    uint public bonus1StartETH;
    uint public bonus2StartETH;

    mapping (address => bool) public whitelistedAddresses;

    address public exitAddress;
    address public creator;

    MainstreetToken public mainstreetToken;

    event MITPurchase(address indexed sender, address indexed recipient, uint ETH, uint MIT);

    modifier saleActive() {
        if (address(mainstreetToken) == 0) {
            throw;
        }
        if (block.timestamp < start || block.timestamp >= end) {
            throw;
        }
        if (totalETH + msg.value > limitETH) {
            throw;
        }
        _;
    }

    modifier hasValue() {
        if (msg.value == 0) {
            throw;
        }
        _;
    }

    modifier senderIsWhitelisted() {
        if (whitelistedAddresses[msg.sender] != true) {
            throw;
        }
        _;
    }

    modifier recipientIsValid(address recipient) {
        if (recipient == 0 || recipient == address(this)) {
            throw;
        }
        _;
    }

    modifier isCreator() {
        if (msg.sender != creator) {
            throw;
        }
        _;
    }

    modifier tokenContractNotSet() {
        if (address(mainstreetToken) != 0) {
            throw;
        }
        _;
    }

    /**
     * @dev Constructor.
     * @param _start Timestamp of when the crowdsale will start.
     * @param _end Timestamp of when the crowdsale will end.
     * @param _limitETH Maximum amount of ETH that can be sent to the contract in total. Denominated in wei.
     * @param _bonus1StartETH Amount of Ether (denominated in wei) that is required to qualify for the first bonus.
     * @param _bonus1StartETH Amount of Ether (denominated in wei) that is required to qualify for the second bonus.
     * @param _exitAddress Address that all ETH should be forwarded to.
     * @param whitelist1 First address that can send ETH.
     * @param whitelist2 Second address that can send ETH.
     * @param whitelist3 Third address that can send ETH.
     */
    function MainstreetCrowdfund(uint _start, uint _end, uint _limitETH, uint _bonus1StartETH, uint _bonus2StartETH, address _exitAddress, address whitelist1, address whitelist2, address whitelist3) {
        creator = msg.sender;
        start = _start;
        end = _end;
        limitETH = _limitETH;
        bonus1StartETH = _bonus1StartETH;
        bonus2StartETH = _bonus2StartETH;

        whitelistedAddresses[whitelist1] = true;
        whitelistedAddresses[whitelist2] = true;
        whitelistedAddresses[whitelist3] = true;
        exitAddress = _exitAddress;
    }

    /**
     * @dev Set the address of the token contract. Must be called by creator of this. Can only be set once.
     * @param _mainstreetToken Address of the token contract.
     */
    function setTokenContract(MainstreetToken _mainstreetToken) external isCreator tokenContractNotSet {
        mainstreetToken = _mainstreetToken;
    }

    /**
     * @dev Forward Ether to the exit address. Store all ETH and MIT information in public state and logs.
     * @param recipient Address that tokens should be attributed to.
     * @return MIT Amount of MIT purchased. This does not include the per-recipient quantity bonus.
     */
    function purchaseMIT(address recipient) external senderIsWhitelisted payable saleActive hasValue recipientIsValid(recipient) returns (uint increaseMIT) {

        // Attempt to send the ETH to the exit address.
        if (!exitAddress.send(msg.value)) {
            throw;
        }

        // Update ETH amounts.
        senderETH[msg.sender] += msg.value;
        recipientETH[recipient] += msg.value;
        totalETH += msg.value;

        // Calculate MIT purchased directly in this transaction.
        uint MIT = msg.value * 10;   // $1 / MIT based on $10 / ETH value

        // Calculate time-based bonus.
        if (block.timestamp - start < 2 weeks) {
            MIT += MIT / 10;    // 10% bonus
        }
        else if (block.timestamp - start < 5 weeks) {
            MIT += MIT / 20;    // 5% bonus
        }

        // Record directly-purchased MIT.
        senderMIT[msg.sender] += MIT;
        recipientMIT[recipient] += MIT;

        // Store previous value-based bonus for this address.
        uint oldExtra = recipientExtraMIT[recipient];

        // Calculate new value-based bonus.
        if (recipientETH[recipient] >= bonus2StartETH) {
            recipientExtraMIT[recipient] = (recipientMIT[recipient] * 75) / 1000;      // 7.5% bonus
        }
        else if (recipientETH[recipient] >= bonus1StartETH) {
            recipientExtraMIT[recipient] = (recipientMIT[recipient] * 375) / 10000;      // 3.75% bonus
        }

        // Calculate MIT increase for this address from this transaction.
        increaseMIT = MIT + (recipientExtraMIT[recipient] - oldExtra);

        // Tell the token contract about the increase.
        mainstreetToken.addTokens(recipient, increaseMIT);

        // Log this purchase.
        MITPurchase(msg.sender, recipient, msg.value, increaseMIT);
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"creator","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelistedAddresses","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"recipientExtraMIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"recipientETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"exitAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"}],"name":"purchaseMIT","outputs":[{"name":"increaseMIT","type":"uint256"}],"payable":true,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"senderETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"mainstreetToken","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"bonus1StartETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_mainstreetToken","type":"address"}],"name":"setTokenContract","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"start","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"limitETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"senderMIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"recipientMIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"bonus2StartETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"end","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"},{"name":"_limitETH","type":"uint256"},{"name":"_bonus1StartETH","type":"uint256"},{"name":"_bonus2StartETH","type":"uint256"},{"name":"_exitAddress","type":"address"},{"name":"whitelist1","type":"address"},{"name":"whitelist2","type":"address"},{"name":"whitelist3","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"recipient","type":"address"},{"indexed":false,"name":"ETH","type":"uint256"},{"indexed":false,"name":"MIT","type":"uint256"}],"name":"MITPurchase","type":"event"}]

6060604052341561000c57fe5b604051610120806108ff83398101604090815281516020830151918301516060840151608085015160a086015160c087015160e0880151610100909801519597949593949293919290915b600d8054600160a060020a03338116600160a060020a03199283161790925560008b815560018b815560088b905560098a9055600a8990558684168252600b6020526040808320805460ff19908116841790915587861684528184208054821684179055868616845292208054909216179055600c8054928716929091169190911790555b5050505050505050505b61080a806100f56000396000f300606060405236156100d55763ffffffff60e060020a60003504166302d05d3f81146100d757806306c933d81461010357806336bdee74146101335780633c5746dd146101555780634c12d8b9146101835780636be00229146101b15780636cb78983146101dd57806376014a2d146102035780638bffc74d14610231578063a852995d1461025d578063bbcd5bbe1461027f578063be9a65551461029d578063c26381f2146102bf578063c3cad5e7146102e1578063cf81978b1461030f578063e4b6ac4c1461033d578063efbe1c1c1461035f575bfe5b34156100df57fe5b6100e7610381565b60408051600160a060020a039092168252519081900360200190f35b341561010b57fe5b61011f600160a060020a0360043516610390565b604080519115158252519081900360200190f35b341561013b57fe5b6101436103a5565b60408051918252519081900360200190f35b341561015d57fe5b610143600160a060020a03600435166103ab565b60408051918252519081900360200190f35b341561018b57fe5b610143600160a060020a03600435166103bd565b60408051918252519081900360200190f35b34156101b957fe5b6100e76103cf565b60408051600160a060020a039092168252519081900360200190f35b610143600160a060020a03600435166103de565b60408051918252519081900360200190f35b341561020b57fe5b610143600160a060020a036004351661071c565b60408051918252519081900360200190f35b341561023957fe5b6100e761072e565b60408051600160a060020a039092168252519081900360200190f35b341561026557fe5b61014361073d565b60408051918252519081900360200190f35b341561028757fe5b61029b600160a060020a0360043516610743565b005b34156102a557fe5b6101436107a2565b60408051918252519081900360200190f35b34156102c757fe5b6101436107a8565b60408051918252519081900360200190f35b34156102e957fe5b610143600160a060020a03600435166107ae565b60408051918252519081900360200190f35b341561031757fe5b610143600160a060020a03600435166107c0565b60408051918252519081900360200190f35b341561034557fe5b6101436107d2565b60408051918252519081900360200190f35b341561036757fe5b6101436107d8565b60408051918252519081900360200190f35b600d54600160a060020a031681565b600b6020526000908152604090205460ff1681565b60075481565b60066020526000908152604090205481565b60046020526000908152604090205481565b600c54600160a060020a031681565b600160a060020a0333166000908152600b60205260408120548190819060ff16151560011461040c57610000565b600e54600160a060020a0316151561042357610000565b60005442108061043557506001544210155b1561043f57610000565b6008543460075401111561045257610000565b34151561045e57610000565b83600160a060020a0381161580610486575030600160a060020a031681600160a060020a0316145b1561049057610000565b600c54604051600160a060020a03909116903480156108fc02916000818181858888f1935050505015156104c357610000565b600160a060020a033381166000908152600260209081526040808320805434908101909155938916835260049091528120805483019055600780548301905554600a9091029350621275004291909103101561052757600a835b0483019250610540565b622e248060005442031015610540576014835b04830192505b5b600160a060020a0333811660009081526003602090815260408083208054880190559288168252600581528282208054870190556006815282822054600a546004909252929091205491935090106105d657600160a060020a0385166000908152600560205260409020546103e890604b025b600160a060020a03871660009081526006602052604090209190049055610637565b600954600160a060020a0386166000908152600460205260409020541061063757600160a060020a03851660009081526005602052604090205461271090610177025b600160a060020a038716600090815260066020526040902091900490555b5b600160a060020a0380861660008181526006602052604080822054600e5482517f6039fbdb000000000000000000000000000000000000000000000000000000008152600481019590955290879003880160248501819052915191985090931692636039fbdb92604480820193929182900301818387803b15156106b857fe5b60325a03f115156106c557fe5b505060408051348152602081018790528151600160a060020a03808a1694503316927f25ab526d610918d162c249ace524425aa60b3f60e16adf6e69aa74b98129fd88928290030190a35b5b505b5b5b5050919050565b60026020526000908152604090205481565b600e54600160a060020a031681565b60095481565b600d5433600160a060020a0390811691161461075e57610000565b600e54600160a060020a03161561077457610000565b600e805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b60005481565b60085481565b60036020526000908152604090205481565b60056020526000908152604090205481565b600a5481565b600154815600a165627a7a723058205cd4d809e7c5636165885a83db435892c95f752ad385f6b6ec97838438971c8100290000000000000000000000000000000000000000000000000000000058b1c6200000000000000000000000000000000000000000000000000000000058b36c0000000000000000000000000000000000000000000002116545850052128000000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000001bc16d674ec8000000000000000000000000000085bfbc2d19901bdfeae29fdcfaf087b2e41aea4c000000000000000000000000007174732705604bbbf77038332dc52fd5a5000c000000000000000000000000009bab5fb86c584dc85d0eb9df1591400c6079890000000000000000000000001dba1131000664b884a1ba238464159892252d3a

Deployed Bytecode

0x606060405236156100d55763ffffffff60e060020a60003504166302d05d3f81146100d757806306c933d81461010357806336bdee74146101335780633c5746dd146101555780634c12d8b9146101835780636be00229146101b15780636cb78983146101dd57806376014a2d146102035780638bffc74d14610231578063a852995d1461025d578063bbcd5bbe1461027f578063be9a65551461029d578063c26381f2146102bf578063c3cad5e7146102e1578063cf81978b1461030f578063e4b6ac4c1461033d578063efbe1c1c1461035f575bfe5b34156100df57fe5b6100e7610381565b60408051600160a060020a039092168252519081900360200190f35b341561010b57fe5b61011f600160a060020a0360043516610390565b604080519115158252519081900360200190f35b341561013b57fe5b6101436103a5565b60408051918252519081900360200190f35b341561015d57fe5b610143600160a060020a03600435166103ab565b60408051918252519081900360200190f35b341561018b57fe5b610143600160a060020a03600435166103bd565b60408051918252519081900360200190f35b34156101b957fe5b6100e76103cf565b60408051600160a060020a039092168252519081900360200190f35b610143600160a060020a03600435166103de565b60408051918252519081900360200190f35b341561020b57fe5b610143600160a060020a036004351661071c565b60408051918252519081900360200190f35b341561023957fe5b6100e761072e565b60408051600160a060020a039092168252519081900360200190f35b341561026557fe5b61014361073d565b60408051918252519081900360200190f35b341561028757fe5b61029b600160a060020a0360043516610743565b005b34156102a557fe5b6101436107a2565b60408051918252519081900360200190f35b34156102c757fe5b6101436107a8565b60408051918252519081900360200190f35b34156102e957fe5b610143600160a060020a03600435166107ae565b60408051918252519081900360200190f35b341561031757fe5b610143600160a060020a03600435166107c0565b60408051918252519081900360200190f35b341561034557fe5b6101436107d2565b60408051918252519081900360200190f35b341561036757fe5b6101436107d8565b60408051918252519081900360200190f35b600d54600160a060020a031681565b600b6020526000908152604090205460ff1681565b60075481565b60066020526000908152604090205481565b60046020526000908152604090205481565b600c54600160a060020a031681565b600160a060020a0333166000908152600b60205260408120548190819060ff16151560011461040c57610000565b600e54600160a060020a0316151561042357610000565b60005442108061043557506001544210155b1561043f57610000565b6008543460075401111561045257610000565b34151561045e57610000565b83600160a060020a0381161580610486575030600160a060020a031681600160a060020a0316145b1561049057610000565b600c54604051600160a060020a03909116903480156108fc02916000818181858888f1935050505015156104c357610000565b600160a060020a033381166000908152600260209081526040808320805434908101909155938916835260049091528120805483019055600780548301905554600a9091029350621275004291909103101561052757600a835b0483019250610540565b622e248060005442031015610540576014835b04830192505b5b600160a060020a0333811660009081526003602090815260408083208054880190559288168252600581528282208054870190556006815282822054600a546004909252929091205491935090106105d657600160a060020a0385166000908152600560205260409020546103e890604b025b600160a060020a03871660009081526006602052604090209190049055610637565b600954600160a060020a0386166000908152600460205260409020541061063757600160a060020a03851660009081526005602052604090205461271090610177025b600160a060020a038716600090815260066020526040902091900490555b5b600160a060020a0380861660008181526006602052604080822054600e5482517f6039fbdb000000000000000000000000000000000000000000000000000000008152600481019590955290879003880160248501819052915191985090931692636039fbdb92604480820193929182900301818387803b15156106b857fe5b60325a03f115156106c557fe5b505060408051348152602081018790528151600160a060020a03808a1694503316927f25ab526d610918d162c249ace524425aa60b3f60e16adf6e69aa74b98129fd88928290030190a35b5b505b5b5b5050919050565b60026020526000908152604090205481565b600e54600160a060020a031681565b60095481565b600d5433600160a060020a0390811691161461075e57610000565b600e54600160a060020a03161561077457610000565b600e805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b60005481565b60085481565b60036020526000908152604090205481565b60056020526000908152604090205481565b600a5481565b600154815600a165627a7a723058205cd4d809e7c5636165885a83db435892c95f752ad385f6b6ec97838438971c810029

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

0000000000000000000000000000000000000000000000000000000058b1c6200000000000000000000000000000000000000000000000000000000058b36c0000000000000000000000000000000000000000000002116545850052128000000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000001bc16d674ec8000000000000000000000000000085bfbc2d19901bdfeae29fdcfaf087b2e41aea4c000000000000000000000000007174732705604bbbf77038332dc52fd5a5000c000000000000000000000000009bab5fb86c584dc85d0eb9df1591400c6079890000000000000000000000001dba1131000664b884a1ba238464159892252d3a

-----Decoded View---------------
Arg [0] : _start (uint256): 1488045600
Arg [1] : _end (uint256): 1488153600
Arg [2] : _limitETH (uint256): 2500000000000000000000000
Arg [3] : _bonus1StartETH (uint256): 1000000000000000000
Arg [4] : _bonus2StartETH (uint256): 2000000000000000000
Arg [5] : _exitAddress (address): 0x85bfBC2D19901bdfEAe29FDcFAF087b2e41Aea4C
Arg [6] : whitelist1 (address): 0x007174732705604bBbf77038332Dc52FD5A5000C
Arg [7] : whitelist2 (address): 0x009bAB5fb86c584dC85d0eB9DF1591400c607989
Arg [8] : whitelist3 (address): 0x1DBA1131000664b884A1Ba238464159892252D3a

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000058b1c620
Arg [1] : 0000000000000000000000000000000000000000000000000000000058b36c00
Arg [2] : 0000000000000000000000000000000000000000000211654585005212800000
Arg [3] : 0000000000000000000000000000000000000000000000000de0b6b3a7640000
Arg [4] : 0000000000000000000000000000000000000000000000001bc16d674ec80000
Arg [5] : 00000000000000000000000085bfbc2d19901bdfeae29fdcfaf087b2e41aea4c
Arg [6] : 000000000000000000000000007174732705604bbbf77038332dc52fd5a5000c
Arg [7] : 000000000000000000000000009bab5fb86c584dc85d0eb9df1591400c607989
Arg [8] : 0000000000000000000000001dba1131000664b884a1ba238464159892252d3a


Swarm Source

bzzr://5cd4d809e7c5636165885a83db435892c95f752ad385f6b6ec97838438971c81

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.