Sponsored Link:   COVESTING - EU-based digital asset exchange. Aggregated liquidity. Algorithmic & Copy-trading features. 24/7 support. Get access!
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 280 txns
Token Contract: Nagri Presale
 Latest 25 txns from a total Of 280 transactions
View All

TxHash Age From To Value [TxFee]
0x2ec331001548d2092869d1c2cd937f94f97da61e54e29caf722b1571b13d225411 days 12 hrs ago0xe0c2a30dcc197eee8083f9b60e527baf69395e28  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.605685028 Ether0.0041
0x1197d46ae3af48bb09c047d604d8e29bc70858f545aec7274c34b8260b94ed8011 days 13 hrs ago0xe0c2a30dcc197eee8083f9b60e527baf69395e28  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.706546028 Ether0.000861
0xcef94b48cb5173b04e36ba8c14fc9572b1ea9ff77641b5e7d1789b00deb3670224 days 18 hrs ago0xe0c2a30dcc197eee8083f9b60e527baf69395e28  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.707407028 Ether0.000861
0xc34aa4632e41e9e29f966068db4470aff1ac4bcef7370c9edf2b7676399e40a225 days 22 hrs ago0x7333b2a99c2da74070030ed224a90186504e682e  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.298760626 Ether0.000861
0xbeb09321117cd555c560a0742c5f370f43b617028c8e5476754057bb52249c1325 days 23 hrs ago0x7333b2a99c2da74070030ed224a90186504e682e  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.299621626 Ether0.000861
0x58dfd89845b3a830e2a7b11bfe8eb3c77bd8e8d838a32376b86201e8cc52390028 days 22 hrs ago0xf50131d7d2b5239fe1e934658fe3f6131532a437  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.6 Ether0.000801703
0xc99149ecb1ad92f61fc0ef174281580e3331b89bc68cfbb4710e4eb85965a3d229 days 3 hrs ago0x0894b21bba8db8834f91ee54087e39fc247de68b  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.5 Ether0.003405173
0x69b9d44f46649743e0af579ede01d3dfd6be501282c8ebb4ab72de0f9958a5c729 days 7 hrs ago0xcec2a905800e693b7eeca5bf3252c0f66bad6f5f  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.042 Ether0.000839883
0x366b8e9cd63c9d6a5870b5572a19c17d783a894e242b4aeb18c38f63a584af9929 days 7 hrs ago0xcec2a905800e693b7eeca5bf3252c0f66bad6f5f  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.003 Ether0.000839883
0xab3127d07fd96b42228a04ead21f6e9744eb622cb715020c696e37ee1e619e3629 days 7 hrs ago0xcec2a905800e693b7eeca5bf3252c0f66bad6f5f  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.003 Ether0.001227248
0xc6d0de5872711da0d01f03bae47cd173780c0fcae762fe78dcc1dfa548943de829 days 8 hrs ago0x397ce5db0c568aa0e791bbce4bc825fab6c43e9b  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a1.245 Ether0.00334704
0x714bd4b6efb6c4ed7bcbe37d79fe9315ec121ff2868605840659cf8a8c61515129 days 10 hrs ago0xc5da6181e0722e0c1d24ef805f8efd7bf8e2f860  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.07 Ether0.001744113
0x0c8e0a93847dcb9c9c375ece21f8f3ca25c88803c1a0d5142d719d71d07e7de829 days 10 hrs ago0x449dfcd1dadff67c2347fa8ddbae68bfc76e0923  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.135391255 Ether0.0029567
0x61df6cb0f54b6035500c8213d12412322d90cce7827a3aaaed73d03f3079e15a29 days 21 hrs ago0x5f431c1b20678d1e0bcf147a90b12dcfe619f3d7  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.980056428 Ether0.003405173
0x1714a850447b01393f3575ddc9efabd66c2e211e396d4441276973ed5745aca029 days 23 hrs ago0x88db13ec578b1c9c9b5e4ff077a3a28796c96d98  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.003 Ether0.000458118
0x68b4b456feb2c148ff4b2001bf851cfef7d021fc72a7a4539a2cfe0d03fdc88029 days 23 hrs ago0x88db13ec578b1c9c9b5e4ff077a3a28796c96d98  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.042 Ether0.003130473
0x6d7b0c8be7ab984b1cdbfafe5691ab476b68123a89b5a58ad273311bce5babdd29 days 23 hrs ago0x111759adce523c473d57363672a7e33b5f5e2539  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.422 Ether0.000826144
0x46dcb49aaa0b8f052422b84e262f667f936589cdf6b3723b968516a62823c04430 days 56 mins ago0x88db13ec578b1c9c9b5e4ff077a3a28796c96d98  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.003 Ether0.000892544
0x5e547082bc444a5d3460c102a843567bfe52abbc29dadf85989104ed89e73dfd30 days 1 hr ago0x7333b2a99c2da74070030ed224a90186504e682e  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a1.705040196 Ether0.003405173
0x37fac358ddefe7b6a8369c9b424d3c4b0f0ead498b4ac7191cdc044f087bb7db30 days 6 hrs ago0xa65b9cdc8e87d8d23c12f5ac4846125997e64733  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.03478087236769 Ether0.001236694921
0x9afcbcde287f6ec72c49b1dfc5a76d2c9ee22d306cb6195f1db9f170d624386b30 days 13 hrs ago0x98950a41e578f4eba781bd6bcafa0c9e2f739688  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a2.82 Ether0.00076353
0x6131d1feac57f21811bf0ca2f0a96c00aab31d598e981b69d049312381f2097c30 days 14 hrs ago0x0f053ef8c1fc5ad8407c998635c9a058daddca38  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.42758184 Ether0.001164878
0x3f43e6fc9739751fc1394689affc0d5103cd0187f595fe567705d00eb0b13fb930 days 14 hrs ago0xe0c2a30dcc197eee8083f9b60e527baf69395e28  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.995 Ether0.000747477
0x5bdf84901bbb0f1e0818473cbc5a7cf526a49078e3e81092d8d065508643b66e30 days 14 hrs ago0x49a3051521d8e3bb366f86a98f2c24f52282c464  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.4158846 Ether0.001164878
0x196ac0b34ec6a743cc28ee00e838b43440aac583184630fe8f613035cd3ee0a330 days 14 hrs ago0xe0c2a30dcc197eee8083f9b60e527baf69395e28  IN   0xc3a9055c667f47b16e8ef552d09b01732802565a0.684 Ether0.001908825
[ 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
0xc99149ecb1ad92f61fc0ef174281580e3331b89bc68cfbb4710e4eb85965a3d2566936929 days 3 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82700.498 Ether
0xc99149ecb1ad92f61fc0ef174281580e3331b89bc68cfbb4710e4eb85965a3d2566936929 days 3 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0x0894b21bba8db8834f91ee54087e39fc247de68b0.002 Ether
0x69b9d44f46649743e0af579ede01d3dfd6be501282c8ebb4ab72de0f9958a5c7566852329 days 7 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82700.042 Ether
0x366b8e9cd63c9d6a5870b5572a19c17d783a894e242b4aeb18c38f63a584af99566851429 days 7 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82700.003 Ether
0xab3127d07fd96b42228a04ead21f6e9744eb622cb715020c696e37ee1e619e36566849729 days 7 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82700.003 Ether
0xc6d0de5872711da0d01f03bae47cd173780c0fcae762fe78dcc1dfa548943de8566827029 days 8 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82701.245 Ether
0x714bd4b6efb6c4ed7bcbe37d79fe9315ec121ff2868605840659cf8a8c615151566773629 days 10 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82700.069 Ether
0x714bd4b6efb6c4ed7bcbe37d79fe9315ec121ff2868605840659cf8a8c615151566773629 days 10 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xc5da6181e0722e0c1d24ef805f8efd7bf8e2f8600.001 Ether
0x0c8e0a93847dcb9c9c375ece21f8f3ca25c88803c1a0d5142d719d71d07e7de8566771429 days 10 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82700.135 Ether
0x0c8e0a93847dcb9c9c375ece21f8f3ca25c88803c1a0d5142d719d71d07e7de8566771429 days 10 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0x449dfcd1dadff67c2347fa8ddbae68bfc76e09230.000391255 Ether
0x61df6cb0f54b6035500c8213d12412322d90cce7827a3aaaed73d03f3079e15a566509229 days 21 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82700.978 Ether
0x61df6cb0f54b6035500c8213d12412322d90cce7827a3aaaed73d03f3079e15a566509229 days 21 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0x5f431c1b20678d1e0bcf147a90b12dcfe619f3d70.002056428 Ether
0x1714a850447b01393f3575ddc9efabd66c2e211e396d4441276973ed5745aca0566479429 days 23 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82700.003 Ether
0x68b4b456feb2c148ff4b2001bf851cfef7d021fc72a7a4539a2cfe0d03fdc880566466729 days 23 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82700.042 Ether
0x6d7b0c8be7ab984b1cdbfafe5691ab476b68123a89b5a58ad273311bce5babdd566464529 days 23 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82700.42 Ether
0x6d7b0c8be7ab984b1cdbfafe5691ab476b68123a89b5a58ad273311bce5babdd566464529 days 23 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0x111759adce523c473d57363672a7e33b5f5e25390.002 Ether
0x46dcb49aaa0b8f052422b84e262f667f936589cdf6b3723b968516a62823c044566441930 days 56 mins ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82700.003 Ether
0x5e547082bc444a5d3460c102a843567bfe52abbc29dadf85989104ed89e73dfd566438430 days 1 hr ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82701.704 Ether
0x5e547082bc444a5d3460c102a843567bfe52abbc29dadf85989104ed89e73dfd566438430 days 1 hr ago0xc3a9055c667f47b16e8ef552d09b01732802565a0x7333b2a99c2da74070030ed224a90186504e682e0.001040196 Ether
0x37fac358ddefe7b6a8369c9b424d3c4b0f0ead498b4ac7191cdc044f087bb7db566302030 days 6 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82700.033 Ether
0x37fac358ddefe7b6a8369c9b424d3c4b0f0ead498b4ac7191cdc044f087bb7db566302030 days 6 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xa65b9cdc8e87d8d23c12f5ac4846125997e647330.001780872367690752 Ether
0x9afcbcde287f6ec72c49b1dfc5a76d2c9ee22d306cb6195f1db9f170d624386b566135530 days 13 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82702.82 Ether
0x3f43e6fc9739751fc1394689affc0d5103cd0187f595fe567705d00eb0b13fb9566129830 days 14 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82700.993 Ether
0x3f43e6fc9739751fc1394689affc0d5103cd0187f595fe567705d00eb0b13fb9566129830 days 14 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xe0c2a30dcc197eee8083f9b60e527baf69395e280.002 Ether
0x196ac0b34ec6a743cc28ee00e838b43440aac583184630fe8f613035cd3ee0a3566118730 days 14 hrs ago0xc3a9055c667f47b16e8ef552d09b01732802565a0xad257d9744b3aa5b3270d0e6a9b9ed81855b82700.684 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Similar match)
Note: Displaying similar matching verified source code at contract 0x1ce06f817abbf295c10c561306f379dcdb16883b(excluding Constructor Arguments if any)
Contract Name: Crowdsale
Compiler Version: v0.4.18+commit.9cf6e910
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity 0.4.18;

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

contract DetailedERC20 is ERC20 {
  string public name;
  string public symbol;
  uint8 public decimals;

  function DetailedERC20(string _name, string _symbol, uint8 _decimals) public {
    name = _name;
    symbol = _symbol;
    decimals = _decimals;
  }
}

/**
 * Crowdsale has a life span during which investors can make
 * token purchases and the crowdsale will assign them tokens based
 * on a token per ETH rate. Funds collected are forwarded to beneficiary
 * as they arrive.
 *
 * A crowdsale is defined by:
 *	offset (required) - crowdsale start, unix timestamp
 *	length (required) - crowdsale length in seconds
 *  price (required) - token price in wei
 *	soft cap (optional) - minimum amount of funds required for crowdsale success, can be zero (if not used)
 *	hard cap (optional) - maximum amount of funds crowdsale can accept, can be zero (unlimited)
 *  quantum (optional) - enables value accumulation effect to reduce value transfer costs, usually is not used (set to zero)
 *    if non-zero value passed specifies minimum amount of wei to transfer to beneficiary
 *
 * This crowdsale doesn't own tokens and doesn't perform any token emission.
 * It expects enough tokens to be available on its address:
 * these tokens are used for issuing them to investors.
 * Token redemption is done in opposite way: tokens accumulate back on contract's address
 * Beneficiary is specified by its address.
 * This implementation can be used to make several crowdsales with the same token being sold.
 */
contract Crowdsale {
	/**
	* Descriptive name of this Crowdsale. There could be multiple crowdsales for same Token.
	*/
	string public name;

	// contract creator, owner of the contract
	// creator is also supplier of tokens
	address private creator;

	// crowdsale start (unix timestamp)
	uint public offset;

	// crowdsale length in seconds
	uint public length;

	// one token price in wei
	uint public price;

	// crowdsale minimum goal in wei
	uint public softCap;

	// crowdsale maximum goal in wei
	uint public hardCap;

	// minimum amount of value to transfer to beneficiary in automatic mode
	uint private quantum;

	// how much value collected (funds raised)
	uint public collected;

	// how many different addresses made an investment
	uint public investorsCount;

	// how much value refunded (if crowdsale failed)
	uint public refunded;

	// how much tokens issued to investors
	uint public tokensIssued;

	// how much tokens redeemed and refunded (if crowdsale failed)
	uint public tokensRedeemed;

	// how many successful transactions (with tokens being send back) do we have
	uint public transactions;

	// how many refund transactions (in exchange for tokens) made (if crowdsale failed)
	uint public refunds;

	// The token being sold
	DetailedERC20 private token;

	// decimal coefficient (k) enables support for tokens with non-zero decimals
	uint k;

	// address where funds are collected
	address public beneficiary;

	// investor's mapping, required for token redemption in a failed crowdsale
	// making this field public allows to extend investor-related functionality in the future
	mapping(address => uint) public balances;

	// events to log
	event InvestmentAccepted(address indexed holder, uint tokens, uint value);
	event RefundIssued(address indexed holder, uint tokens, uint value);

	// a crowdsale is defined by a set of parameters passed here
	// make sure _end timestamp is in the future in order for crowdsale to be operational
	// _price must be positive, this is a price of one token in wei
	// _hardCap must be greater then _softCap or zero, zero _hardCap means unlimited crowdsale
	// _quantum may be zero, in this case there will be no value accumulation on the contract
	function Crowdsale(
		string _name,
		uint _offset,
		uint _length,
		uint _price,
		uint _softCap,
		uint _hardCap,
		uint _quantum,
		address _beneficiary,
		address _token
	) public {

		// validate crowdsale settings (inputs)
		// require(_offset > 0); // we don't really care
		require(_length > 0);
		require(now < _offset + _length); // crowdsale must not be already finished
		// softCap can be anything, zero means crowdsale doesn't fail
		require(_hardCap > _softCap || _hardCap == 0);
		// hardCap must be greater then softCap
		// quantum can be anything, zero means no accumulation
		require(_price > 0);
		require(_beneficiary != address(0));
		require(_token != address(0));

		name = _name;

		// setup crowdsale settings
		offset = _offset;
		length = _length;
		softCap = _softCap;
		hardCap = _hardCap;
		quantum = _quantum;
		price = _price;
		creator = msg.sender;

		// define beneficiary
		beneficiary = _beneficiary;

		// allocate tokens: link and init coefficient
		__allocateTokens(_token);
	}

	// accepts crowdsale investment, requires
	// crowdsale to be running and not reached its goal
	function invest() public payable {
		// perform validations
		assert(now >= offset && now < offset + length); // crowdsale is active
		assert(collected + price <= hardCap || hardCap == 0); // its still possible to buy at least 1 token
		require(msg.value >= price); // value sent is enough to buy at least one token

		// call 'sender' nicely - investor
		address investor = msg.sender;

		// how much tokens we must send to investor
		uint tokens = msg.value / price;

		// how much value we must send to beneficiary
		uint value = tokens * price;

		// ensure we are not crossing the hardCap
		if (value + collected > hardCap || hardCap == 0) {
			value = hardCap - collected;
			tokens = value / price;
			value = tokens * price;
		}

		// update crowdsale status
		collected += value;
		tokensIssued += tokens;

		// transfer tokens to investor
		__issueTokens(investor, tokens);

		// transfer the change to investor
		investor.transfer(msg.value - value);

		// accumulate the value or transfer it to beneficiary
		if (collected >= softCap && this.balance >= quantum) {
			// transfer all the value to beneficiary
			__beneficiaryTransfer(this.balance);
		}

		// log an event
		InvestmentAccepted(investor, tokens, value);
	}

	// refunds an investor of failed crowdsale,
	// requires investor to allow token transfer back
	function refund() public payable {
		// perform validations
		assert(now >= offset + length); // crowdsale ended
		assert(collected < softCap); // crowdsale failed

		// call 'sender' nicely - investor
		address investor = msg.sender;

		// find out how much tokens should be refunded
		uint tokens = __redeemAmount(investor);

		// calculate refund amount
		uint refundValue = tokens * price;

		// additional validations
		require(tokens > 0);

		// update crowdsale status
		refunded += refundValue;
		tokensRedeemed += tokens;
		refunds++;

		// transfer the tokens back
		__redeemTokens(investor, tokens);

		// make a refund
		investor.transfer(refundValue + msg.value);

		// log an event
		RefundIssued(investor, tokens, refundValue);
	}

	// sends all the value to the beneficiary
	function withdraw() public {
		// perform validations
		assert(creator == msg.sender || beneficiary == msg.sender); // only creator or beneficiary can initiate this call
		assert(collected >= softCap); // crowdsale must be successful
		assert(this.balance > 0); // there should be something to transfer

		// how much to withdraw (entire balance obviously)
		uint value = this.balance;

		// perform the transfer
		__beneficiaryTransfer(value);
	}

	// performs an investment, refund or withdrawal,
	// depending on the crowdsale status
	function() public payable {
		// started or finished
		require(now >= offset);

		if(now < offset + length) {
			// crowdsale is running, invest
			invest();
		}
		else if(collected < softCap) {
			// crowdsale failed, try to refund
			refund();
		}
		else {
			// crowdsale is successful, investments are not accepted anymore
			// but maybe poor beneficiary is begging for change...
			withdraw();
		}
	}

	// ----------------------- internal section -----------------------

	// allocates token source (basically links token)
	function __allocateTokens(address _token) internal {
		// link tokens, tokens are not owned by a crowdsale
		// should be transferred to crowdsale after the deployment
		token = DetailedERC20(_token);

		// obtain decimals and calculate coefficient k
		k = 10 ** uint(token.decimals());
	}

	// transfers tokens to investor, validations are not required
	function __issueTokens(address investor, uint tokens) internal {
		// if this is a new investor update investor count
		if (balances[investor] == 0) {
			investorsCount++;
		}

		// for open crowdsales we track investors balances
		balances[investor] += tokens;

		// issue tokens, taking into account decimals
		token.transferFrom(creator, investor, tokens * k);
	}

	// calculates amount of tokens available to redeem from investor, validations are not required
	function __redeemAmount(address investor) internal view returns (uint amount) {
		// round down allowance taking into account token decimals
		uint allowance = token.allowance(investor, this) / k;

		// for open crowdsales we check previously tracked investor balance
		uint balance = balances[investor];

		// return allowance safely by checking also the balance
		return balance < allowance ? balance : allowance;
	}

	// transfers tokens from investor, validations are not required
	function __redeemTokens(address investor, uint tokens) internal {
		// for open crowdsales we track investors balances
		balances[investor] -= tokens;

		// redeem tokens, taking into account decimals coefficient
		token.transferFrom(investor, creator, tokens * k);
	}

	// transfers a value to beneficiary, validations are not required
	function __beneficiaryTransfer(uint value) internal {
		beneficiary.transfer(value);
	}

	// !---------------------- internal section ----------------------!
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"refunded","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"transactions","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"length","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"investorsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"beneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"tokensIssued","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"collected","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensRedeemed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"refunds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"softCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"offset","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"invest","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"hardCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_offset","type":"uint256"},{"name":"_length","type":"uint256"},{"name":"_price","type":"uint256"},{"name":"_softCap","type":"uint256"},{"name":"_hardCap","type":"uint256"},{"name":"_quantum","type":"uint256"},{"name":"_beneficiary","type":"address"},{"name":"_token","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"InvestmentAccepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"RefundIssued","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405234156200001057600080fd5b60405162000cbc38038062000cbc8339810160405280805182019190602001805191906020018051919060200180519190602001805191906020018051919060200180519190602001805191906020018051915050600087116200007357600080fd5b87870142106200008257600080fd5b848411806200008f575083155b15156200009b57600080fd5b60008611620000a957600080fd5b600160a060020a0382161515620000bf57600080fd5b600160a060020a0381161515620000d557600080fd5b6000898051620000ea92916020019062000200565b5060028890556003879055600585905560068490556007839055600486905560018054600160a060020a03338116600160a060020a031992831617909255601180549285169290911691909117905562000152816401000000006200094a6200016182021704565b505050505050505050620002a5565b600f8054600160a060020a031916600160a060020a0383811691909117918290551663313ce5676000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515620001d957600080fd5b6102c65a03f11515620001eb57600080fd5b505050604051805160ff16600a0a6010555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024357805160ff191683800117855562000273565b8280016001018555821562000273579182015b828111156200027357825182559160200191906001019062000256565b506200028192915062000285565b5090565b620002a291905b808211156200028157600081556001016200028c565b90565b610a0780620002b56000396000f3006060604052600436106100e25763ffffffff60e060020a60003504166306fdde03811461012a57806312f53950146101b457806318015191146101d95780631f7b6d32146101ec57806327e235e3146101ff5780632b7110511461021e57806338af3eed146102315780633ccfd60b14610260578063590e1ae31461026b5780637c48bbda1461027357806384bcefd41461028657806389cbc416146102995780638afa46b1146102ac578063906a26e0146102bf578063a035b1fe146102d2578063d5556544146102e5578063e8b5e51f146102f8578063fb86a40414610300575b6002544210156100f157600080fd5b6003546002540142101561010c57610107610313565b610128565b600554600854101561012057610107610489565b610128610570565b005b341561013557600080fd5b61013d6105e0565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610179578082015183820152602001610161565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101bf57600080fd5b6101c761067e565b60405190815260200160405180910390f35b34156101e457600080fd5b6101c7610684565b34156101f757600080fd5b6101c761068a565b341561020a57600080fd5b6101c7600160a060020a0360043516610690565b341561022957600080fd5b6101c76106a2565b341561023c57600080fd5b6102446106a8565b604051600160a060020a03909116815260200160405180910390f35b341561012057600080fd5b610128610489565b341561027e57600080fd5b6101c76106b7565b341561029157600080fd5b6101c76106bd565b34156102a457600080fd5b6101c76106c3565b34156102b757600080fd5b6101c76106c9565b34156102ca57600080fd5b6101c76106cf565b34156102dd57600080fd5b6101c76106d5565b34156102f057600080fd5b6101c76106db565b610128610313565b341561030b57600080fd5b6101c76106e1565b6000806000600254421015801561032f57506003546002540142105b151561033757fe5b6006546004546008540111158061034e5750600654155b151561035657fe5b60045434101561036557600080fd5b3392506004543481151561037557fe5b04915060045482029050600654600854820111806103935750600654155b156103b957600854600654039050600454818115156103ae57fe5b049150600454820290505b6008805482019055600b8054830190556103d383836106e7565b82600160a060020a03166108fc8234039081150290604051600060405180830381858888f19350505050151561040857600080fd5b60055460085410158015610428575060075430600160a060020a03163110155b156104405761044030600160a060020a0316316107bf565b82600160a060020a03167f1def7f1bb47713a117dfc3c28d6e083a9694575385ce28c0cd5fb36aaaac19ad838360405191825260208201526040908101905180910390a2505050565b60008060006003546002540142101515156104a057fe5b600554600854106104ad57fe5b3392506104b9836107f2565b60045490925082029050600082116104d057600080fd5b600a805482019055600c805483019055600e805460010190556104f383836108b8565b600160a060020a03831634820180156108fc0290604051600060405180830381858888f19350505050151561052757600080fd5b82600160a060020a03167f93c496f36ecab5f5583f216646cac3acb12a63aeacddb1a9251ceb81f0ee36e7838360405191825260208201526040908101905180910390a2505050565b60015460009033600160a060020a039081169116148061059e575060115433600160a060020a039081169116145b15156105a657fe5b60055460085410156105b457fe5b6000600160a060020a03301631116105c857fe5b50600160a060020a033016316105dd816107bf565b50565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106765780601f1061064b57610100808354040283529160200191610676565b820191906000526020600020905b81548152906001019060200180831161065957829003601f168201915b505050505081565b600a5481565b600d5481565b60035481565b60126020526000908152604090205481565b60095481565b601154600160a060020a031681565b600b5481565b60085481565b600c5481565b600e5481565b60055481565b60045481565b60025481565b60065481565b600160a060020a0382166000908152601260205260409020541515610710576009805460010190555b600160a060020a03808316600090815260126020526040808220805485019055600f54600154601054918516946323b872dd94911692879287029190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156107a057600080fd5b6102c65a03f115156107b157600080fd5b505050604051805150505050565b601154600160a060020a031681156108fc0282604051600060405180830381858888f1935050505015156105dd57600080fd5b601054600f546000918291829190600160a060020a031663dd62ed3e8630856040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561085d57600080fd5b6102c65a03f1151561086e57600080fd5b5050506040518051905081151561088157fe5b600160a060020a038616600090815260126020526040902054919004925090508181106108ae57816108b0565b805b949350505050565b600160a060020a0380831660009081526012602052604080822080548590039055600f54600154601054918516946323b872dd9488949290911692870291516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156107a057600080fd5b600f805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290551663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109b557600080fd5b6102c65a03f115156109c657600080fd5b505050604051805160ff16600a0a60105550505600a165627a7a72305820545c50d6123c06c1c56dfe6d25a599f8b6c8e125fb6a843d2e4b92af3409446800290000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000005ac257040000000000000000000000000000000000000000000000000000000000448e000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000169668feffeb98a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ad257d9744b3aa5b3270d0e6a9b9ed81855b8270000000000000000000000000cbc7556d2b75e2171e0c4236bf5c6afacdded6db000000000000000000000000000000000000000000000000000000000000000d4e616772692050726573616c6500000000000000000000000000000000000000

   Swarm Source:
bzzr://545c50d6123c06c1c56dfe6d25a599f8b6c8e125fb6a843d2e4b92af34094468

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.