Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
4602195 | 2634 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xa759794d...9f10d8a1c The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
CryptoTicketsICO
Compiler Version
v0.4.15-nightly.2017.7.31+commit.93f90eb2
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-11-26 */ pragma solidity ^0.4.13; library SafeMath { function mul(uint a, uint b) internal returns (uint) { uint c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint a, uint b) internal returns (uint) { assert(b > 0); uint c = a / b; assert(a == b * c + a % b); return c; } function sub(uint a, uint b) internal returns (uint) { assert(b <= a); return a - b; } function add(uint a, uint b) internal returns (uint) { uint c = a + b; assert(c >= a); return c; } function max64(uint64 a, uint64 b) internal constant returns (uint64) { return a >= b ? a : b; } function min64(uint64 a, uint64 b) internal constant returns (uint64) { return a < b ? a : b; } function max256(uint256 a, uint256 b) internal constant returns (uint256) { return a >= b ? a : b; } function min256(uint256 a, uint256 b) internal constant returns (uint256) { return a < b ? a : b; } } contract ERC20 { uint public totalSupply = 0; mapping(address => uint256) balances; mapping(address => mapping (address => uint256)) allowed; function balanceOf(address _owner) constant returns (uint); function transfer(address _to, uint _value) returns (bool); function transferFrom(address _from, address _to, uint _value) returns (bool); function approve(address _spender, uint _value) returns (bool); function allowance(address _owner, address _spender) constant returns (uint); event Transfer(address indexed _from, address indexed _to, uint _value); event Approval(address indexed _owner, address indexed _spender, uint _value); } // Functions of ERC20 standard contract TKT is ERC20 { using SafeMath for uint; string public name = "CryptoTickets COIN"; string public symbol = "TKT"; uint public decimals = 18; address public ico; event Burn(address indexed from, uint256 value); bool public tokensAreFrozen = true; modifier icoOnly { require(msg.sender == ico); _; } function TKT(address _ico) { ico = _ico; } function mint(address _holder, uint _value) external icoOnly { require(_value != 0); balances[_holder] = balances[_holder].add(_value); totalSupply = totalSupply.add(_value); Transfer(0x0, _holder, _value); } function defrost() external icoOnly { tokensAreFrozen = false; } function burn(uint256 _value) { require(!tokensAreFrozen); balances[msg.sender] = balances[msg.sender].sub(_value); totalSupply = totalSupply.sub(_value); Burn(msg.sender, _value); } function balanceOf(address _owner) constant returns (uint256) { return balances[_owner]; } function transfer(address _to, uint256 _amount) returns (bool) { require(!tokensAreFrozen); balances[msg.sender] = balances[msg.sender].sub(_amount); balances[_to] = balances[_to].add(_amount); Transfer(msg.sender, _to, _amount); return true; } function transferFrom(address _from, address _to, uint256 _amount) returns (bool) { require(!tokensAreFrozen); balances[_from] = balances[_from].sub(_amount); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount); balances[_to] = balances[_to].add(_amount); Transfer(_from, _to, _amount); return true; } function approve(address _spender, uint256 _amount) returns (bool) { // 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 require((_amount == 0) || (allowed[msg.sender][_spender] == 0)); allowed[msg.sender][_spender] = _amount; Approval(msg.sender, _spender, _amount); return true; } function allowance(address _owner, address _spender) constant returns (uint256) { return allowed[_owner][_spender]; } } contract CryptoTicketsICO { using SafeMath for uint; uint public constant Tokens_For_Sale = 525000000*1e18; // Tokens for Sale without bonuses(HardCap) // Style: Caps should not be used for vars, only for consts! uint public Rate_Eth = 298; // Rate USD per ETH uint public Token_Price = 25 * Rate_Eth; // tkt per ETH uint public SoldNoBonuses = 0; //Sold tokens without bonuses mapping(address => bool) swapped; event LogStartICO(); event LogPauseICO(); event LogFinishICO(address bountyFund, address advisorsFund, address itdFund, address storageFund); event LogBuyForInvestor(address investor, uint tokenValue, string txHash); event LogSwapToken(address investor, uint tokenValue); TKT public token = new TKT(this); TKT public tkt; address public Company; address public BountyFund; address public AdvisorsFund; address public ItdFund; address public StorageFund; address public Manager; // Manager controls contract address public SwapManager; address public Controller_Address1; // First address that is used to buy tokens for other cryptos address public Controller_Address2; // Second address that is used to buy tokens for other cryptos address public Controller_Address3; // Third address that is used to buy tokens for other cryptos modifier managerOnly { require(msg.sender == Manager); _; } modifier controllersOnly { require((msg.sender == Controller_Address1) || (msg.sender == Controller_Address2) || (msg.sender == Controller_Address3)); _; } modifier swapManagerOnly { require(msg.sender == SwapManager); _; } uint bountyPart = 2; // 2% of TotalSupply for BountyFund uint advisorsPart = 35; //3,5% of TotalSupply for AdvisorsFund uint itdPart = 15; //15% of TotalSupply for ItdFund uint storagePart = 3; //3% of TotalSupply for StorageFund uint icoAndPOfPart = 765; // 76,5% of TotalSupply for PublicICO and PrivateOffer enum StatusICO { Created, Started, Paused, Finished } StatusICO statusICO = StatusICO.Created; function CryptoTicketsICO(address _tkt, address _Company, address _BountyFund, address _AdvisorsFund, address _ItdFund, address _StorageFund, address _Manager, address _Controller_Address1, address _Controller_Address2, address _Controller_Address3, address _SwapManager){ tkt = TKT(_tkt); Company = _Company; BountyFund = _BountyFund; AdvisorsFund = _AdvisorsFund; ItdFund = _ItdFund; StorageFund = _StorageFund; Manager = _Manager; Controller_Address1 = _Controller_Address1; Controller_Address2 = _Controller_Address2; Controller_Address3 = _Controller_Address3; SwapManager = _SwapManager; } // function for changing rate of ETH and price of token function setRate(uint _RateEth) external managerOnly { Rate_Eth = _RateEth; Token_Price = 25*Rate_Eth; } //ICO status functions function startIco() external managerOnly { require(statusICO == StatusICO.Created || statusICO == StatusICO.Paused); LogStartICO(); statusICO = StatusICO.Started; } function pauseIco() external managerOnly { require(statusICO == StatusICO.Started); statusICO = StatusICO.Paused; LogPauseICO(); } function finishIco() external managerOnly { // Funds for minting of tokens require(statusICO == StatusICO.Started); uint alreadyMinted = token.totalSupply(); //=PublicICO+PrivateOffer uint totalAmount = alreadyMinted * 1000 / icoAndPOfPart; token.mint(BountyFund, bountyPart * totalAmount / 100); // 2% for Bounty token.mint(AdvisorsFund, advisorsPart * totalAmount / 1000); // 3.5% for Advisors token.mint(ItdFund, itdPart * totalAmount / 100); // 15% for Ticketscloud ltd token.mint(StorageFund, storagePart * totalAmount / 100); // 3% for Storage token.defrost(); statusICO = StatusICO.Finished; LogFinishICO(BountyFund, AdvisorsFund, ItdFund, StorageFund); } // function that buys tokens when investor sends ETH to address of ICO function() external payable { buy(msg.sender, msg.value * Token_Price); } // function for buying tokens to investors who paid in other cryptos function buyForInvestor(address _investor, uint _tokenValue, string _txHash) external controllersOnly { buy(_investor, _tokenValue); LogBuyForInvestor(_investor, _tokenValue, _txHash); } //function for buying tokens for investors function swapToken(address _investor) swapManagerOnly{ require(statusICO != StatusICO.Finished); require(swapped[_investor] == false); uint tktTokens = tkt.balanceOf(_investor); require(tktTokens > 0); swapped[_investor] = true; token.mint(_investor, tktTokens); LogSwapToken(_investor, tktTokens); } // internal function for buying tokens function buy(address _investor, uint _tokenValue) internal { require(statusICO == StatusICO.Started); require(_tokenValue > 0); require(SoldNoBonuses + _tokenValue <= Tokens_For_Sale); token.mint(_investor, _tokenValue); SoldNoBonuses = SoldNoBonuses.add(_tokenValue); } //function to withdraw ETH from smart contract function withdrawEther(uint256 _value) external managerOnly { require(statusICO == StatusICO.Finished); Company.transfer(_value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_investor","type":"address"},{"name":"_tokenValue","type":"uint256"},{"name":"_txHash","type":"string"}],"name":"buyForInvestor","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"StorageFund","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"Tokens_For_Sale","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"Controller_Address1","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_RateEth","type":"uint256"}],"name":"setRate","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"Controller_Address3","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"SwapManager","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"withdrawEther","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"BountyFund","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"Company","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tkt","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"Token_Price","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_investor","type":"address"}],"name":"swapToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"Manager","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"startIco","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ItdFund","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"Controller_Address2","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"pauseIco","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"Rate_Eth","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finishIco","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"SoldNoBonuses","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"AdvisorsFund","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"_tkt","type":"address"},{"name":"_Company","type":"address"},{"name":"_BountyFund","type":"address"},{"name":"_AdvisorsFund","type":"address"},{"name":"_ItdFund","type":"address"},{"name":"_StorageFund","type":"address"},{"name":"_Manager","type":"address"},{"name":"_Controller_Address1","type":"address"},{"name":"_Controller_Address2","type":"address"},{"name":"_Controller_Address3","type":"address"},{"name":"_SwapManager","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[],"name":"LogStartICO","type":"event"},{"anonymous":false,"inputs":[],"name":"LogPauseICO","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bountyFund","type":"address"},{"indexed":false,"name":"advisorsFund","type":"address"},{"indexed":false,"name":"itdFund","type":"address"},{"indexed":false,"name":"storageFund","type":"address"}],"name":"LogFinishICO","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investor","type":"address"},{"indexed":false,"name":"tokenValue","type":"uint256"},{"indexed":false,"name":"txHash","type":"string"}],"name":"LogBuyForInvestor","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investor","type":"address"},{"indexed":false,"name":"tokenValue","type":"uint256"}],"name":"LogSwapToken","type":"event"}]
Deployed Bytecode
0x606060405236156101165763ffffffff60e060020a60003504166252992e81146101285780630a756f0914610159578063168110f3146101885780631ed5da2f146101ad57806334fcf437146101dc578063353559cb146101f4578063381501e6146102235780633bed33ce1461025257806342f0b07e1461026a5780635092f97e146102995780635ac72734146102c85780635bdaa6dd146102f75780636e8d82af1461031c57806378357e531461033d57806389311e6f1461036c578063a46c8fee14610381578063c33818fd146103b0578063c4fdc6b8146103df578063e0d1ba52146103f4578063ec42f82f14610419578063ee75caa91461042e578063f869b3ff14610453578063fc0c546a14610482575b5b6101253360015434026104b1565b5b005b341561013357600080fd5b61012560048035600160a060020a031690602480359160443591820191013561057f565b005b341561016457600080fd5b61016c610648565b604051600160a060020a03909116815260200160405180910390f35b341561019357600080fd5b61019b610657565b60405190815260200160405180910390f35b34156101b857600080fd5b61016c610667565b604051600160a060020a03909116815260200160405180910390f35b34156101e757600080fd5b610125600435610676565b005b34156101ff57600080fd5b61016c6106a2565b604051600160a060020a03909116815260200160405180910390f35b341561022e57600080fd5b61016c6106b1565b604051600160a060020a03909116815260200160405180910390f35b341561025d57600080fd5b6101256004356106c0565b005b341561027557600080fd5b61016c610731565b604051600160a060020a03909116815260200160405180910390f35b34156102a457600080fd5b61016c610740565b604051600160a060020a03909116815260200160405180910390f35b34156102d357600080fd5b61016c61074f565b604051600160a060020a03909116815260200160405180910390f35b341561030257600080fd5b61019b61075e565b60405190815260200160405180910390f35b341561032757600080fd5b610125600160a060020a0360043516610764565b005b341561034857600080fd5b61016c61091f565b604051600160a060020a03909116815260200160405180910390f35b341561037757600080fd5b61012561092e565b005b341561038c57600080fd5b61016c6109c9565b604051600160a060020a03909116815260200160405180910390f35b34156103bb57600080fd5b61016c6109d8565b604051600160a060020a03909116815260200160405180910390f35b34156103ea57600080fd5b6101256109e7565b005b34156103ff57600080fd5b61019b610a65565b60405190815260200160405180910390f35b341561042457600080fd5b610125610a6b565b005b341561043957600080fd5b61019b610dfe565b60405190815260200160405180910390f35b341561045e57600080fd5b61016c610e04565b604051600160a060020a03909116815260200160405180910390f35b341561048d57600080fd5b61016c610e13565b604051600160a060020a03909116815260200160405180910390f35b60015b60155460ff1660038111156104c557fe5b146104cf57600080fd5b600081116104dc57600080fd5b6002546b01b24513071a43532d00000090820111156104fa57600080fd5b600454600160a060020a03166340c10f19838360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561055057600080fd5b6102c65a03f1151561056157600080fd5b505060025461057791508263ffffffff610e2216565b6002555b5050565b600d5433600160a060020a03908116911614806105aa5750600e5433600160a060020a039081169116145b806105c35750600f5433600160a060020a039081169116145b15156105ce57600080fd5b6105d884846104b1565b7fa8f899a090efad1c1d17d3e3c18b0fc5b732d226b7ce367ab7f00fd824029acc84848484604051600160a060020a0385168152602081018490526060604082018181529082018390526080820184848082843782019150509550505050505060405180910390a15b5b50505050565b600a54600160a060020a031681565b6b01b24513071a43532d00000081565b600d54600160a060020a031681565b600b5433600160a060020a0390811691161461069157600080fd5b6000819055601981026001555b5b50565b600f54600160a060020a031681565b600c54600160a060020a031681565b600b5433600160a060020a039081169116146106db57600080fd5b60035b60155460ff1660038111156106ef57fe5b146106f957600080fd5b600654600160a060020a031681156108fc0282604051600060405180830381858888f19350505050151561069e57600080fd5b5b5b50565b600754600160a060020a031681565b600654600160a060020a031681565b600554600160a060020a031681565b60015481565b600c5460009033600160a060020a0390811691161461078257600080fd5b60035b60155460ff16600381111561079657fe5b14156107a157600080fd5b600160a060020a03821660009081526003602052604090205460ff16156107c757600080fd5b600554600160a060020a03166370a082318360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561082057600080fd5b6102c65a03f1151561083157600080fd5b50505060405180519150506000811161084957600080fd5b600160a060020a0380831660009081526003602052604090819020805460ff19166001179055600454909116906340c10f1990849084905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156108c157600080fd5b6102c65a03f115156108d257600080fd5b5050507f5fd23730f323ae522610c56ac5f861d6bc82895511f4512134a445daa699bf998282604051600160a060020a03909216825260208201526040908101905180910390a15b5b5050565b600b54600160a060020a031681565b600b5433600160a060020a0390811691161461094957600080fd5b60005b60155460ff16600381111561095d57fe5b148061097a575060025b60155460ff16600381111561097857fe5b145b151561098557600080fd5b7f0ed6b1715382ee8c647ec35e086f9713aa5d53bf7fd91d1e3a474d2f903d6d7e60405160405180910390a1601580546001919060ff191682805b02179055505b5b565b600954600160a060020a031681565b600e54600160a060020a031681565b600b5433600160a060020a03908116911614610a0257600080fd5b60015b60155460ff166003811115610a1657fe5b14610a2057600080fd5b601580546002919060ff19166001835b02179055507feb8cb983e71ec40f0d025e89b530e8a6601d259cf783e557b82334bf4ee7f1dc60405160405180910390a15b5b565b60005481565b600b54600090819033600160a060020a03908116911614610a8b57600080fd5b60015b60155460ff166003811115610a9f57fe5b14610aa957600080fd5b600454600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610af157600080fd5b6102c65a03f11515610b0257600080fd5b505050604051805190509150601454826103e802811515610b1f57fe5b600454600754601054939092049350600160a060020a03908116926340c10f19929091169060649085025b0460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610b8e57600080fd5b6102c65a03f11515610b9f57600080fd5b5050600454600854601154600160a060020a0392831693506340c10f1992909116906103e89085025b0460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610c0c57600080fd5b6102c65a03f11515610c1d57600080fd5b5050600454600954601254600160a060020a0392831693506340c10f19929091169060649085025b0460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610c8957600080fd5b6102c65a03f11515610c9a57600080fd5b5050600454600a54601354600160a060020a0392831693506340c10f19929091169060649085025b0460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610d0657600080fd5b6102c65a03f11515610d1757600080fd5b5050600454600160a060020a0316905063f21cdf6f6040518163ffffffff1660e060020a028152600401600060405180830381600087803b1515610d5a57600080fd5b6102c65a03f11515610d6b57600080fd5b5050601580546003925060ff19166001835b0217905550600754600854600954600a547fbe83b3c67e3accc4b95c42a0089360ba15f53db672bb11f40061e4300f06e98693600160a060020a039081169381169281169116604051600160a060020a039485168152928416602084015290831660408084019190915292166060820152608001905180910390a15b5b5050565b60025481565b600854600160a060020a031681565b600454600160a060020a031681565b600082820183811015610e3157fe5b8091505b50929150505600a165627a7a723058201bbcf55eb8625aa78747a7afe52641b5dbe1fa7f61d696d4c8454893aea27d080029
Swarm Source
bzzr://8ad1db4a770d3e60e51bb131b64d702c80009278ee087f198cfa18ce2d22446a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.