More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 4,961 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Like | 5851032 | 2397 days ago | IN | 0 ETH | 0.00055476 | ||||
Finalize | 5850979 | 2397 days ago | IN | 0 ETH | 0.0011027 | ||||
Register KYC | 5649802 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Transfer | 5649795 | 2432 days ago | IN | 0.25 ETH | 0.00081944 | ||||
Register KYC | 5649773 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649765 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Transfer | 5649735 | 2432 days ago | IN | 0.1333 ETH | 0.00081944 | ||||
Register KYC | 5649720 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649718 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649710 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649694 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649688 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649682 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649678 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649629 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649625 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649620 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649586 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649568 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649551 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649527 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Register KYC | 5649511 | 2432 days ago | IN | 0 ETH | 0.0013842 | ||||
Transfer | 5649436 | 2432 days ago | IN | 1.9983 ETH | 0.00111944 | ||||
Transfer | 5649432 | 2432 days ago | IN | 0.1785 ETH | 0.00081944 | ||||
Register KYC | 5649395 | 2432 days ago | IN | 0 ETH | 0.0013842 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
5850979 | 2397 days ago | 1,197.52490504 ETH |
Loading...
Loading
Contract Name:
LikeCrowdsale
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-03-20 */ pragma solidity ^0.4.13; library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract Claimable is Ownable { address public pendingOwner; /** * @dev Modifier throws if called by any account other than the pendingOwner. */ modifier onlyPendingOwner() { require(msg.sender == pendingOwner); _; } /** * @dev Allows the current owner to set the pendingOwner address. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) onlyOwner public { pendingOwner = newOwner; } /** * @dev Allows the pendingOwner address to finalize the transfer. */ function claimOwnership() onlyPendingOwner public { OwnershipTransferred(owner, pendingOwner); owner = pendingOwner; pendingOwner = address(0); } } contract ERC20Basic { function totalSupply() public view returns (uint256); 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); } 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 HasOperator is Claimable { address public operator; function setOperator(address _operator) onlyOwner public { operator = _operator; } modifier ownerOrOperator { require(msg.sender == owner || msg.sender == operator); _; } } contract LikeCoin is ERC20, HasOperator { using SafeMath for uint256; string constant public name = "LikeCoin"; string constant public symbol = "LIKE"; // Synchronized to Ether -> Wei ratio, which is important uint8 constant public decimals = 18; uint256 public supply = 0; mapping(address => uint256) public balances; mapping(address => mapping(address => uint256)) public allowed; address public crowdsaleAddr = 0x0; address public contributorPoolAddr = 0x0; uint256 public contributorPoolMintQuota = 0; address[] public creatorsPoolAddrs; mapping(address => bool) isCreatorsPool; uint256 public creatorsPoolMintQuota = 0; mapping(address => uint256) public lockedBalances; uint public unlockTime = 0; SignatureChecker public signatureChecker = SignatureChecker(0x0); bool public signatureCheckerFreezed = false; address public signatureOwner = 0x0; bool public allowDelegate = true; mapping (address => mapping (uint256 => bool)) public usedNonce; mapping (address => bool) public transferAndCallWhitelist; event Lock(address indexed _addr, uint256 _value); event SignatureCheckerChanged(address _newSignatureChecker); function LikeCoin(uint256 _initialSupply, address _signatureOwner, address _sigCheckerAddr) public { supply = _initialSupply; balances[owner] = _initialSupply; signatureOwner = _signatureOwner; signatureChecker = SignatureChecker(_sigCheckerAddr); Transfer(0x0, owner, _initialSupply); } function totalSupply() public constant returns (uint256) { return supply; } function balanceOf(address _owner) public constant returns (uint256 balance) { return balances[_owner] + lockedBalances[_owner]; } function _tryUnlockBalance(address _from) internal { if (unlockTime != 0 && now >= unlockTime && lockedBalances[_from] > 0) { balances[_from] = balances[_from].add(lockedBalances[_from]); delete lockedBalances[_from]; } } function _transfer(address _from, address _to, uint256 _value) internal returns (bool success) { _tryUnlockBalance(_from); require(_from != 0x0); require(_to != 0x0); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(_from, _to, _value); return true; } function transfer(address _to, uint256 _value) public returns (bool success) { return _transfer(msg.sender, _to, _value); } function transferAndLock(address _to, uint256 _value) public returns (bool success) { require(msg.sender != 0x0); require(_to != 0x0); require(now < unlockTime); require(msg.sender == crowdsaleAddr || msg.sender == owner || msg.sender == operator); balances[msg.sender] = balances[msg.sender].sub(_value); lockedBalances[_to] = lockedBalances[_to].add(_value); Transfer(msg.sender, _to, _value); Lock(_to, _value); return true; } function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); _transfer(_from, _to, _value); return true; } function _transferMultiple(address _from, address[] _addrs, uint256[] _values) internal returns (bool success) { require(_from != 0x0); require(_addrs.length > 0); require(_values.length == _addrs.length); _tryUnlockBalance(_from); uint256 total = 0; for (uint i = 0; i < _addrs.length; ++i) { address addr = _addrs[i]; require(addr != 0x0); uint256 value = _values[i]; balances[addr] = balances[addr].add(value); total = total.add(value); Transfer(_from, addr, value); } balances[_from] = balances[_from].sub(total); return true; } function transferMultiple(address[] _addrs, uint256[] _values) public returns (bool success) { return _transferMultiple(msg.sender, _addrs, _values); } function _isContract(address _addr) internal constant returns (bool) { uint256 length; assembly { length := extcodesize(_addr) } return (length > 0); } function _transferAndCall(address _from, address _to, uint256 _value, bytes _data) internal returns (bool success) { require(_isContract(_to)); require(transferAndCallWhitelist[_to]); require(_transfer(_from, _to, _value)); TransferAndCallReceiver(_to).tokenCallback(_from, _value, _data); return true; } function transferAndCall(address _to, uint256 _value, bytes _data) public returns (bool success) { return _transferAndCall(msg.sender, _to, _value, _data); } function setSignatureChecker(address _sigCheckerAddr) public { require(msg.sender == signatureOwner); require(!signatureCheckerFreezed); require(signatureChecker != _sigCheckerAddr); signatureChecker = SignatureChecker(_sigCheckerAddr); SignatureCheckerChanged(_sigCheckerAddr); } function freezeSignatureChecker() public { require(msg.sender == signatureOwner); require(!signatureCheckerFreezed); signatureCheckerFreezed = true; } modifier isDelegated(address _from, uint256 _maxReward, uint256 _claimedReward, uint256 _nonce) { require(allowDelegate); require(_from != 0x0); require(_claimedReward <= _maxReward); require(!usedNonce[_from][_nonce]); usedNonce[_from][_nonce] = true; require(_transfer(_from, msg.sender, _claimedReward)); _; } function transferDelegated( address _from, address _to, uint256 _value, uint256 _maxReward, uint256 _claimedReward, uint256 _nonce, bytes _signature ) isDelegated(_from, _maxReward, _claimedReward, _nonce) public returns (bool success) { require(signatureChecker.checkTransferDelegated(_from, _to, _value, _maxReward, _nonce, _signature)); return _transfer(_from, _to, _value); } function transferAndCallDelegated( address _from, address _to, uint256 _value, bytes _data, uint256 _maxReward, uint256 _claimedReward, uint256 _nonce, bytes _signature ) isDelegated(_from, _maxReward, _claimedReward, _nonce) public returns (bool success) { require(signatureChecker.checkTransferAndCallDelegated(_from, _to, _value, _data, _maxReward, _nonce, _signature)); return _transferAndCall(_from, _to, _value, _data); } function transferMultipleDelegated( address _from, address[] _addrs, uint256[] _values, uint256 _maxReward, uint256 _claimedReward, uint256 _nonce, bytes _signature ) isDelegated(_from, _maxReward, _claimedReward, _nonce) public returns (bool success) { require(signatureChecker.checkTransferMultipleDelegated(_from, _addrs, _values, _maxReward, _nonce, _signature)); return _transferMultiple(_from, _addrs, _values); } function switchDelegate(bool _allowed) ownerOrOperator public { require(allowDelegate != _allowed); allowDelegate = _allowed; } function addTransferAndCallWhitelist(address _contract) ownerOrOperator public { require(_isContract(_contract)); require(!transferAndCallWhitelist[_contract]); transferAndCallWhitelist[_contract] = true; } function removeTransferAndCallWhitelist(address _contract) ownerOrOperator public { require(transferAndCallWhitelist[_contract]); delete transferAndCallWhitelist[_contract]; } function approve(address _spender, uint256 _value) public returns (bool success) { require(_value == 0 || allowed[msg.sender][_spender] == 0); allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } function allowance(address _owner, address _spender) public constant returns (uint256 remaining) { return allowed[_owner][_spender]; } function burn(uint256 _value) public { balances[msg.sender] = balances[msg.sender].sub(_value); supply = supply.sub(_value); Transfer(msg.sender, 0x0, _value); } function registerCrowdsales(address _crowdsaleAddr, uint256 _value, uint256 _privateFundUnlockTime) onlyOwner public { require(crowdsaleAddr == 0x0); require(_crowdsaleAddr != 0x0); require(_isContract(_crowdsaleAddr)); require(_privateFundUnlockTime > now); require(_value != 0); unlockTime = _privateFundUnlockTime; crowdsaleAddr = _crowdsaleAddr; supply = supply.add(_value); balances[_crowdsaleAddr] = balances[_crowdsaleAddr].add(_value); Transfer(0x0, crowdsaleAddr, _value); } function registerContributorPool(address _contributorPoolAddr, uint256 _mintLimit) onlyOwner public { require(contributorPoolAddr == 0x0); require(_contributorPoolAddr != 0x0); require(_isContract(_contributorPoolAddr)); require(_mintLimit != 0); contributorPoolAddr = _contributorPoolAddr; contributorPoolMintQuota = _mintLimit; } function mintForContributorPool(uint256 _value) public { require(msg.sender == contributorPoolAddr); require(_value != 0); contributorPoolMintQuota = contributorPoolMintQuota.sub(_value); supply = supply.add(_value); balances[msg.sender] = balances[msg.sender].add(_value); Transfer(0x0, msg.sender, _value); } function registerCreatorsPools(address[] _poolAddrs, uint256 _mintLimit) onlyOwner public { require(creatorsPoolAddrs.length == 0); require(_poolAddrs.length > 0); require(_mintLimit > 0); for (uint i = 0; i < _poolAddrs.length; ++i) { require(_isContract(_poolAddrs[i])); creatorsPoolAddrs.push(_poolAddrs[i]); isCreatorsPool[_poolAddrs[i]] = true; } creatorsPoolMintQuota = _mintLimit; } function mintForCreatorsPool(uint256 _value) public { require(isCreatorsPool[msg.sender]); require(_value != 0); creatorsPoolMintQuota = creatorsPoolMintQuota.sub(_value); supply = supply.add(_value); balances[msg.sender] = balances[msg.sender].add(_value); Transfer(0x0, msg.sender, _value); } } contract LikeCrowdsale is HasOperator { using SafeMath for uint256; LikeCoin public like = LikeCoin(0x0); uint public start = 0; uint public end = 0; uint256 public coinsPerEth = 0; mapping (address => bool) public kycDone; bool finalized = false; event PriceChanged(uint256 _newPrice); event AddPrivateFund(address indexed _addr, uint256 _value); event RegisterKYC(address indexed _addr); event Purchase(address indexed _addr, uint256 _ethers, uint256 _coins); event LikeTransfer(address indexed _to, uint256 _value); event Finalize(); function LikeCrowdsale(address _likeAddr, uint _start, uint _end, uint256 _coinsPerEth) public { require(_coinsPerEth != 0); require(now < _start); require(_start < _end); owner = msg.sender; like = LikeCoin(_likeAddr); start = _start; end = _end; coinsPerEth = _coinsPerEth; } function changePrice(uint256 _newCoinsPerEth) onlyOwner public { require(_newCoinsPerEth != 0); require(_newCoinsPerEth != coinsPerEth); require(now < start); coinsPerEth = _newCoinsPerEth; PriceChanged(_newCoinsPerEth); } function addPrivateFund(address _addr, uint256 _value) onlyOwner public { require(now < start); require(_value > 0); like.transferAndLock(_addr, _value); AddPrivateFund(_addr, _value); } function registerKYC(address[] _customerAddrs) ownerOrOperator public { for (uint32 i = 0; i < _customerAddrs.length; ++i) { kycDone[_customerAddrs[i]] = true; RegisterKYC(_customerAddrs[i]); } } function () public payable { require(now >= start); require(now < end); require(!finalized); require(msg.value > 0); require(kycDone[msg.sender]); uint256 coins = coinsPerEth.mul(msg.value); like.transfer(msg.sender, coins); Purchase(msg.sender, msg.value, coins); } function transferLike(address _to, uint256 _value) onlyOwner public { require(now < start || now >= end); like.transfer(_to, _value); LikeTransfer(_to, _value); } function finalize() ownerOrOperator public { require(!finalized); require(now >= start); uint256 remainingCoins = like.balanceOf(this); require(now >= end || remainingCoins == 0); owner.transfer(this.balance); finalized = true; Finalize(); } } contract SignatureChecker { function checkTransferDelegated( address _from, address _to, uint256 _value, uint256 _maxReward, uint256 _nonce, bytes _signature ) public constant returns (bool); function checkTransferAndCallDelegated( address _from, address _to, uint256 _value, bytes _data, uint256 _maxReward, uint256 _nonce, bytes _signature ) public constant returns (bool); function checkTransferMultipleDelegated( address _from, address[] _addrs, uint256[] _values, uint256 _maxReward, uint256 _nonce, bytes _signature ) public constant returns (bool); } contract TransferAndCallReceiver { function tokenCallback(address _from, uint256 _value, bytes _data) public; }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"coinsPerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_value","type":"uint256"}],"name":"addPrivateFund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferLike","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"operator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newCoinsPerEth","type":"uint256"}],"name":"changePrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"like","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_operator","type":"address"}],"name":"setOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"start","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_customerAddrs","type":"address[]"}],"name":"registerKYC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"kycDone","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"end","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_likeAddr","type":"address"},{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"},{"name":"_coinsPerEth","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_newPrice","type":"uint256"}],"name":"PriceChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_addr","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"AddPrivateFund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_addr","type":"address"}],"name":"RegisterKYC","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_addr","type":"address"},{"indexed":false,"name":"_ethers","type":"uint256"},{"indexed":false,"name":"_coins","type":"uint256"}],"name":"Purchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"LikeTransfer","type":"event"},{"anonymous":false,"inputs":[],"name":"Finalize","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
606060405260038054600160a060020a03191690556000600481905560058190556006556008805460ff19169055341561003857600080fd5b604051608080610b808339810160405280805191906020018051919060200180519190602001805160008054600160a060020a03191633600160a060020a031617905591505080151561008a57600080fd5b4283901061009757600080fd5b8183106100a357600080fd5b60008054600160a060020a03338116600160a060020a0319928316179092556003805496909216951694909417909355600491909155600555600655610a92806100ee6000396000f3006060604052600436106100cc5763ffffffff60e060020a60003504166320a168b181146102075780633bd756b61461022c5780634bb278f3146102505780634e71e0c8146102635780634fee536014610276578063570ca735146102985780638da5cb5b146102c7578063a2b40d19146102da578063a523b88a146102f0578063b3ab15fb14610303578063be9a655514610322578063cdf4d6b414610335578063cf5ade2714610384578063e30c3978146103b7578063efbe1c1c146103ca578063f2fde38b146103dd575b6004546000904210156100de57600080fd5b60055442106100ec57600080fd5b60085460ff16156100fc57600080fd5b6000341161010957600080fd5b600160a060020a03331660009081526007602052604090205460ff16151561013057600080fd5b600654610143903463ffffffff6103fc16565b600354909150600160a060020a031663a9059cbb338360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156101a557600080fd5b6102c65a03f115156101b657600080fd5b50505060405180515050600160a060020a0333167f12cb4648cf3058b17ceeb33e579f8b0bc269fe0843f3900b8e24b6c54871703c348360405191825260208201526040908101905180910390a250005b341561021257600080fd5b61021a610432565b60405190815260200160405180910390f35b341561023757600080fd5b61024e600160a060020a0360043516602435610438565b005b341561025b57600080fd5b61024e610529565b341561026e57600080fd5b61024e610684565b341561028157600080fd5b61024e600160a060020a0360043516602435610712565b34156102a357600080fd5b6102ab610805565b604051600160a060020a03909116815260200160405180910390f35b34156102d257600080fd5b6102ab610814565b34156102e557600080fd5b61024e600435610823565b34156102fb57600080fd5b6102ab6108a2565b341561030e57600080fd5b61024e600160a060020a03600435166108b1565b341561032d57600080fd5b61021a6108fb565b341561034057600080fd5b61024e600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061090195505050505050565b341561038f57600080fd5b6103a3600160a060020a03600435166109f2565b604051901515815260200160405180910390f35b34156103c257600080fd5b6102ab610a07565b34156103d557600080fd5b61021a610a16565b34156103e857600080fd5b61024e600160a060020a0360043516610a1c565b60008083151561040f576000915061042b565b5082820282848281151561041f57fe5b041461042757fe5b8091505b5092915050565b60065481565b60005433600160a060020a0390811691161461045357600080fd5b600454421061046157600080fd5b6000811161046e57600080fd5b600354600160a060020a031663bd50b3b4838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156104cd57600080fd5b6102c65a03f115156104de57600080fd5b50505060405180515050600160a060020a0382167fe6d93a9078ea00dbfdf1a6ed3cdd74c8c6a6a4bad9286912443d8b2fababb7818260405190815260200160405180910390a25050565b6000805433600160a060020a0390811691161480610555575060025433600160a060020a039081169116145b151561056057600080fd5b60085460ff161561057057600080fd5b60045442101561057f57600080fd5b600354600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156105d857600080fd5b6102c65a03f115156105e957600080fd5b50505060405180519050905060055442101580610604575080155b151561060f57600080fd5b600054600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561064857600080fd5b6008805460ff191660011790557fc5454d111913d0c92fa9088b73be5c3fc91d1eb84db52a8a8485154f05d73f2e60405160405180910390a150565b60015433600160a060020a0390811691161461069f57600080fd5b600154600054600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60005433600160a060020a0390811691161461072d57600080fd5b60045442108061073f57506005544210155b151561074a57600080fd5b600354600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156107a957600080fd5b6102c65a03f115156107ba57600080fd5b50505060405180515050600160a060020a0382167f260bf614549892e4a0418294a2538ded291f4c2fef6ba428eb22494f5c906cc38260405190815260200160405180910390a25050565b600254600160a060020a031681565b600054600160a060020a031681565b60005433600160a060020a0390811691161461083e57600080fd5b80151561084a57600080fd5b60065481141561085957600080fd5b600454421061086757600080fd5b60068190557fa6dc15bdb68da224c66db4b3838d9a2b205138e8cff6774e57d0af91e196d6228160405190815260200160405180910390a150565b600354600160a060020a031681565b60005433600160a060020a039081169116146108cc57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045481565b6000805433600160a060020a039081169116148061092d575060025433600160a060020a039081169116145b151561093857600080fd5b5060005b81518163ffffffff1610156109ee57600160076000848463ffffffff168151811061096357fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790558163ffffffff8216815181106109a757fe5b90602001906020020151600160a060020a03167f658cbbc0cf6d4b2797e80e2a7da796923542d51dfbb8a067253873dd7b4e3a5960405160405180910390a260010161093c565b5050565b60076020526000908152604090205460ff1681565b600154600160a060020a031681565b60055481565b60005433600160a060020a03908116911614610a3757600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058206f6a18e0758e4d59ef59e86ef9bd05095ddfb4dc469c92778340837ddb333416002900000000000000000000000002f61fd266da6e8b102d4121f5ce7b992640cf98000000000000000000000000000000000000000000000000000000005add5a40000000000000000000000000000000000000000000000000000000005b2dc5c00000000000000000000000000000000000000000000000000000000000009c40
Deployed Bytecode
0x6060604052600436106100cc5763ffffffff60e060020a60003504166320a168b181146102075780633bd756b61461022c5780634bb278f3146102505780634e71e0c8146102635780634fee536014610276578063570ca735146102985780638da5cb5b146102c7578063a2b40d19146102da578063a523b88a146102f0578063b3ab15fb14610303578063be9a655514610322578063cdf4d6b414610335578063cf5ade2714610384578063e30c3978146103b7578063efbe1c1c146103ca578063f2fde38b146103dd575b6004546000904210156100de57600080fd5b60055442106100ec57600080fd5b60085460ff16156100fc57600080fd5b6000341161010957600080fd5b600160a060020a03331660009081526007602052604090205460ff16151561013057600080fd5b600654610143903463ffffffff6103fc16565b600354909150600160a060020a031663a9059cbb338360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156101a557600080fd5b6102c65a03f115156101b657600080fd5b50505060405180515050600160a060020a0333167f12cb4648cf3058b17ceeb33e579f8b0bc269fe0843f3900b8e24b6c54871703c348360405191825260208201526040908101905180910390a250005b341561021257600080fd5b61021a610432565b60405190815260200160405180910390f35b341561023757600080fd5b61024e600160a060020a0360043516602435610438565b005b341561025b57600080fd5b61024e610529565b341561026e57600080fd5b61024e610684565b341561028157600080fd5b61024e600160a060020a0360043516602435610712565b34156102a357600080fd5b6102ab610805565b604051600160a060020a03909116815260200160405180910390f35b34156102d257600080fd5b6102ab610814565b34156102e557600080fd5b61024e600435610823565b34156102fb57600080fd5b6102ab6108a2565b341561030e57600080fd5b61024e600160a060020a03600435166108b1565b341561032d57600080fd5b61021a6108fb565b341561034057600080fd5b61024e600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061090195505050505050565b341561038f57600080fd5b6103a3600160a060020a03600435166109f2565b604051901515815260200160405180910390f35b34156103c257600080fd5b6102ab610a07565b34156103d557600080fd5b61021a610a16565b34156103e857600080fd5b61024e600160a060020a0360043516610a1c565b60008083151561040f576000915061042b565b5082820282848281151561041f57fe5b041461042757fe5b8091505b5092915050565b60065481565b60005433600160a060020a0390811691161461045357600080fd5b600454421061046157600080fd5b6000811161046e57600080fd5b600354600160a060020a031663bd50b3b4838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156104cd57600080fd5b6102c65a03f115156104de57600080fd5b50505060405180515050600160a060020a0382167fe6d93a9078ea00dbfdf1a6ed3cdd74c8c6a6a4bad9286912443d8b2fababb7818260405190815260200160405180910390a25050565b6000805433600160a060020a0390811691161480610555575060025433600160a060020a039081169116145b151561056057600080fd5b60085460ff161561057057600080fd5b60045442101561057f57600080fd5b600354600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156105d857600080fd5b6102c65a03f115156105e957600080fd5b50505060405180519050905060055442101580610604575080155b151561060f57600080fd5b600054600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561064857600080fd5b6008805460ff191660011790557fc5454d111913d0c92fa9088b73be5c3fc91d1eb84db52a8a8485154f05d73f2e60405160405180910390a150565b60015433600160a060020a0390811691161461069f57600080fd5b600154600054600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60005433600160a060020a0390811691161461072d57600080fd5b60045442108061073f57506005544210155b151561074a57600080fd5b600354600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156107a957600080fd5b6102c65a03f115156107ba57600080fd5b50505060405180515050600160a060020a0382167f260bf614549892e4a0418294a2538ded291f4c2fef6ba428eb22494f5c906cc38260405190815260200160405180910390a25050565b600254600160a060020a031681565b600054600160a060020a031681565b60005433600160a060020a0390811691161461083e57600080fd5b80151561084a57600080fd5b60065481141561085957600080fd5b600454421061086757600080fd5b60068190557fa6dc15bdb68da224c66db4b3838d9a2b205138e8cff6774e57d0af91e196d6228160405190815260200160405180910390a150565b600354600160a060020a031681565b60005433600160a060020a039081169116146108cc57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045481565b6000805433600160a060020a039081169116148061092d575060025433600160a060020a039081169116145b151561093857600080fd5b5060005b81518163ffffffff1610156109ee57600160076000848463ffffffff168151811061096357fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790558163ffffffff8216815181106109a757fe5b90602001906020020151600160a060020a03167f658cbbc0cf6d4b2797e80e2a7da796923542d51dfbb8a067253873dd7b4e3a5960405160405180910390a260010161093c565b5050565b60076020526000908152604090205460ff1681565b600154600160a060020a031681565b60055481565b60005433600160a060020a03908116911614610a3757600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058206f6a18e0758e4d59ef59e86ef9bd05095ddfb4dc469c92778340837ddb3334160029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000002f61fd266da6e8b102d4121f5ce7b992640cf98000000000000000000000000000000000000000000000000000000005add5a40000000000000000000000000000000000000000000000000000000005b2dc5c00000000000000000000000000000000000000000000000000000000000009c40
-----Decoded View---------------
Arg [0] : _likeAddr (address): 0x02F61Fd266DA6E8B102D4121f5CE7b992640CF98
Arg [1] : _start (uint256): 1524456000
Arg [2] : _end (uint256): 1529726400
Arg [3] : _coinsPerEth (uint256): 40000
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000002f61fd266da6e8b102d4121f5ce7b992640cf98
Arg [1] : 000000000000000000000000000000000000000000000000000000005add5a40
Arg [2] : 000000000000000000000000000000000000000000000000000000005b2dc5c0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000009c40
Swarm Source
bzzr://6f6a18e0758e4d59ef59e86ef9bd05095ddfb4dc469c92778340837ddb333416
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.