Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0.15 ETH
Eth Value
$409.65 (@ $2,731.01/ETH)More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 200 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Create Tokens | 11839967 | 1461 days ago | IN | 0.0011 ETH | 0.01135957 | ||||
Finalize | 11839967 | 1461 days ago | IN | 0 ETH | 0.0098893 | ||||
Approve | 11587065 | 1500 days ago | IN | 0 ETH | 0.00773696 | ||||
Finalize | 11586943 | 1500 days ago | IN | 0 ETH | 0.00718156 | ||||
Transfer | 8602836 | 1970 days ago | IN | 0 ETH | 0.00037259 | ||||
Transfer | 8602833 | 1970 days ago | IN | 0 ETH | 0.00037323 | ||||
Transfer | 8602824 | 1970 days ago | IN | 0 ETH | 0.00052323 | ||||
Transfer | 8602819 | 1970 days ago | IN | 0 ETH | 0.00054218 | ||||
Transfer | 8407087 | 2000 days ago | IN | 0 ETH | 0.00072072 | ||||
Transfer | 8185000 | 2035 days ago | IN | 0 ETH | 0.00037387 | ||||
Transfer | 8134910 | 2042 days ago | IN | 0 ETH | 0.00002462 | ||||
Transfer | 8134690 | 2042 days ago | IN | 0 ETH | 0.00002462 | ||||
Transfer | 8129175 | 2043 days ago | IN | 0 ETH | 0.00002441 | ||||
Transfer | 8129073 | 2043 days ago | IN | 0 ETH | 0.0000242 | ||||
Transfer | 8129040 | 2043 days ago | IN | 0 ETH | 0.00004105 | ||||
Approve | 8111816 | 2046 days ago | IN | 0 ETH | 0.00047211 | ||||
Transfer | 8111781 | 2046 days ago | IN | 0 ETH | 0.00005225 | ||||
Approve | 8039724 | 2057 days ago | IN | 0 ETH | 0.00037768 | ||||
Transfer | 8039584 | 2057 days ago | IN | 0 ETH | 0.00036626 | ||||
Transfer | 8039562 | 2057 days ago | IN | 0 ETH | 0.000196 | ||||
Approve | 8036319 | 2058 days ago | IN | 0 ETH | 0.00009442 | ||||
Transfer | 8034083 | 2058 days ago | IN | 0 ETH | 0.00039242 | ||||
Transfer | 8033657 | 2058 days ago | IN | 0 ETH | 0.00004105 | ||||
Approve | 8024477 | 2060 days ago | IN | 0 ETH | 0.00018884 | ||||
Transfer | 7932481 | 2074 days ago | IN | 0 ETH | 0.00104518 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x661Bf952...004C8689F The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
customIcoToken
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-08-24 */ pragma solidity 0.4.24; library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } contract customIcoToken{ using SafeMath for uint256; /* Events */ event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); event LogRefund(address indexed _to, uint256 _value); event CreateToken(address indexed _to, uint256 _value); // metadata string public name; string public symbol; uint256 public decimals; // contracts address public ethFundDeposit; // deposit address for ETH address public tokenFundDeposit; // crowdsale parameters bool public isFinalized; // switched to true in operational state uint256 public fundingStartBlock; uint256 public fundingEndBlock; uint256 public tokenFund; uint256 public tokenExchangeRate; uint256 public tokenCreationCap; uint256 public tokenCreationMin; /* Storage */ mapping(address => uint256) balances; mapping (address => mapping (address => uint256)) internal allowed; uint256 public totalSupply; /* Getters */ function totalSupply() public view returns (uint256) { return totalSupply; } function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } function allowance(address _owner, address _spender) public view returns (uint256) { return allowed[_owner][_spender]; } /* Methods */ function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } function increaseApproval(address _spender, uint _addedValue) public returns (bool) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) { uint oldValue = allowed[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function transfer(address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); // SafeMath.sub will throw if there is not enough balance. balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } /* Crowdsale methods */ /// @dev Accepts ether and creates new tokens. function createTokens() payable external { require (isFinalized == false); require(block.number > fundingStartBlock); require(block.number < fundingEndBlock); require(msg.value > 0); uint256 tokens = msg.value.mul(tokenExchangeRate); uint256 checkedSupply = totalSupply.add(tokens); // return money if something goes wrong require(tokenCreationCap >= checkedSupply); // odd fractions won't be found totalSupply = checkedSupply; balances[msg.sender] += tokens; // safeAdd not needed; bad semantics to use here emit CreateToken(msg.sender, tokens); // logs token creation } /// @dev Ends the funding period and sends the ETH home function finalize() external { require(isFinalized == false); require(msg.sender == ethFundDeposit); require(totalSupply > tokenCreationMin); // have to sell minimum to move to operational require(block.number > fundingEndBlock || totalSupply == tokenCreationCap); // move to operational isFinalized = true; assert(ethFundDeposit.send(address(this).balance)); // send the eth } /// @dev Allows contributors to recover their ether in the case of a failed funding campaign. function refund() external { require(isFinalized == false); // prevents refund if operational require(block.number > fundingEndBlock); // prevents refund until sale period is over require(totalSupply < tokenCreationMin); // no refunds if we sold enough require(msg.sender != tokenFundDeposit); // team not entitled to a refund uint256 tokenVal = balances[msg.sender]; require(tokenVal > 0); balances[msg.sender] = 0; totalSupply = totalSupply.sub(tokenVal); // extra safe uint256 ethVal = tokenVal / tokenExchangeRate; // should be safe; previous throws covers edges emit LogRefund(msg.sender, ethVal); // log it assert(msg.sender.send(ethVal)); // if you're using a contract; make sure it works with .send gas limits } constructor( string _name, string _symbol, uint8 _decimals, address _ethFundDeposit, address _tokenFundDeposit, uint256 _tokenFund, uint256 _tokenExchangeRate, uint256 _tokenCreationCap, uint256 _tokenCreationMin, uint256 _fundingStartBlock, uint256 _fundingEndBlock) public { name = _name; symbol = _symbol; decimals = _decimals; isFinalized = false; //controls pre through crowdsale state ethFundDeposit = _ethFundDeposit; tokenFundDeposit = _tokenFundDeposit; tokenFund = _tokenFund*10**decimals; tokenExchangeRate = _tokenExchangeRate; tokenCreationCap = _tokenCreationCap*10**decimals; tokenCreationMin = _tokenCreationMin*10**decimals; fundingStartBlock = _fundingStartBlock; fundingEndBlock = _fundingEndBlock; totalSupply = tokenFund; balances[tokenFundDeposit] = tokenFund; emit CreateToken(tokenFundDeposit, tokenFund); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenFund","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenCreationCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundingEndBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenFundDeposit","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ethFundDeposit","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"createTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"tokenCreationMin","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundingStartBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"},{"name":"_ethFundDeposit","type":"address"},{"name":"_tokenFundDeposit","type":"address"},{"name":"_tokenFund","type":"uint256"},{"name":"_tokenExchangeRate","type":"uint256"},{"name":"_tokenCreationCap","type":"uint256"},{"name":"_tokenCreationMin","type":"uint256"},{"name":"_fundingStartBlock","type":"uint256"},{"name":"_fundingEndBlock","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"LogRefund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"CreateToken","type":"event"}]
Deployed Bytecode
0x6080604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610137578063095ea7b3146101c157806318160ddd146101f957806323b872dd14610220578063313ce5671461024a5780633d2d82631461025f5780634172d080146102745780634bb278f314610289578063590e1ae3146102a057806366188463146102b55780636f7920fd146102d957806370a08231146102ee5780638d4e40831461030f57806391b43d131461032457806395d89b41146103395780639a0750d51461034e578063a81c3bdf1461037f578063a9059cbb14610394578063b4427263146103b8578063c039daf6146103c0578063d648a647146103d5578063d73dd623146103ea578063dd62ed3e1461040e575b600080fd5b34801561014357600080fd5b5061014c610435565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018657818101518382015260200161016e565b50505050905090810190601f1680156101b35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cd57600080fd5b506101e5600160a060020a03600435166024356104c3565b604080519115158252519081900360200190f35b34801561020557600080fd5b5061020e61052a565b60408051918252519081900360200190f35b34801561022c57600080fd5b506101e5600160a060020a0360043581169060243516604435610530565b34801561025657600080fd5b5061020e6106a9565b34801561026b57600080fd5b5061020e6106af565b34801561028057600080fd5b5061020e6106b5565b34801561029557600080fd5b5061029e6106bb565b005b3480156102ac57600080fd5b5061029e61076e565b3480156102c157600080fd5b506101e5600160a060020a036004351660243561087c565b3480156102e557600080fd5b5061020e61096c565b3480156102fa57600080fd5b5061020e600160a060020a0360043516610972565b34801561031b57600080fd5b506101e561098d565b34801561033057600080fd5b5061020e61099d565b34801561034557600080fd5b5061014c6109a3565b34801561035a57600080fd5b506103636109fd565b60408051600160a060020a039092168252519081900360200190f35b34801561038b57600080fd5b50610363610a0c565b3480156103a057600080fd5b506101e5600160a060020a0360043516602435610a1b565b61029e610afe565b3480156103cc57600080fd5b5061020e610bd3565b3480156103e157600080fd5b5061020e610bd9565b3480156103f657600080fd5b506101e5600160a060020a0360043516602435610bdf565b34801561041a57600080fd5b5061020e600160a060020a0360043581169060243516610c78565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104bb5780601f10610490576101008083540402835291602001916104bb565b820191906000526020600020905b81548152906001019060200180831161049e57829003601f168201915b505050505081565b336000818152600c60209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600d5490565b6000600160a060020a038316151561054757600080fd5b600160a060020a0384166000908152600b602052604090205482111561056c57600080fd5b600160a060020a0384166000908152600c6020908152604080832033845290915290205482111561059c57600080fd5b600160a060020a0384166000908152600b60205260409020546105c5908363ffffffff610ca316565b600160a060020a038086166000908152600b602052604080822093909355908516815220546105fa908363ffffffff610cb516565b600160a060020a038085166000908152600b60209081526040808320949094559187168152600c8252828120338252909152205461063e908363ffffffff610ca316565b600160a060020a038086166000818152600c6020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60025481565b60075481565b60085481565b60045460a060020a900460ff16156106d257600080fd5b600354600160a060020a031633146106e957600080fd5b600a54600d54116106f957600080fd5b60065443118061070c5750600954600d54145b151561071757600080fd5b6004805474ff0000000000000000000000000000000000000000191660a060020a179055600354604051600160a060020a0390911690303180156108fc02916000818181858888f19350505050151561076c57fe5b565b600454600090819060a060020a900460ff161561078a57600080fd5b600654431161079857600080fd5b600a54600d54106107a857600080fd5b600454600160a060020a03163314156107c057600080fd5b336000908152600b6020526040812054925082116107dd57600080fd5b336000908152600b6020526040812055600d54610800908363ffffffff610ca316565b600d556008548281151561081057fe5b04905033600160a060020a03167fb6c0eca8138e097d71e2dd31e19a1266487f0553f170b7260ffe68bcbe9ff8a7826040518082815260200191505060405180910390a2604051339082156108fc029083906000818181858888f19350505050151561087857fe5b5050565b336000908152600c60209081526040808320600160a060020a0386168452909152812054808311156108d157336000908152600c60209081526040808320600160a060020a0388168452909152812055610906565b6108e1818463ffffffff610ca316565b336000908152600c60209081526040808320600160a060020a03891684529091529020555b336000818152600c60209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b60095481565b600160a060020a03166000908152600b602052604090205490565b60045460a060020a900460ff1681565b60065481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104bb5780601f10610490576101008083540402835291602001916104bb565b600454600160a060020a031681565b600354600160a060020a031681565b6000600160a060020a0383161515610a3257600080fd5b336000908152600b6020526040902054821115610a4e57600080fd5b336000908152600b6020526040902054610a6e908363ffffffff610ca316565b336000908152600b602052604080822092909255600160a060020a03851681522054610aa0908363ffffffff610cb516565b600160a060020a0384166000818152600b60209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600454600090819060a060020a900460ff1615610b1a57600080fd5b6005544311610b2857600080fd5b6006544310610b3657600080fd5b60003411610b4357600080fd5b600854610b5790349063ffffffff610cc216565b600d54909250610b6d908363ffffffff610cb516565b90508060095410151515610b8057600080fd5b600d819055336000818152600b6020908152604091829020805486019055815185815291517fb378e89b40ac5bbe0e2241b596fbe1adc3cf1fb7c982aa1b4560165cf264ee939281900390910190a25050565b600a5481565b60055481565b336000908152600c60209081526040808320600160a060020a0386168452909152812054610c13908363ffffffff610cb516565b336000818152600c60209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a039182166000908152600c6020908152604080832093909416825291909152205490565b600082821115610caf57fe5b50900390565b8181018281101561052457fe5b6000821515610cd357506000610524565b50818102818382811515610ce357fe5b041461052457fe00a165627a7a723058203539fcd7906779bebfa61dec4b6fa5bdfe2ec2b47d0e75d571daaa5b895f04320029
Swarm Source
bzzr://3539fcd7906779bebfa61dec4b6fa5bdfe2ec2b47d0e75d571daaa5b895f0432
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $2,730.06 | 0.15 | $409.51 |
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.