More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 639 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Finalize | 4276602 | 2617 days ago | IN | 0 ETH | 0.00168275 | ||||
Transfer | 4276600 | 2617 days ago | IN | 0.97424607 ETH | 0.00226575 | ||||
Transfer | 4276586 | 2617 days ago | IN | 1.5 ETH | 0.00314465 | ||||
Drain | 4276580 | 2617 days ago | IN | 0 ETH | 0.0015093 | ||||
Transfer | 4276563 | 2617 days ago | IN | 5.5 ETH | 0.00132075 | ||||
Transfer | 4276557 | 2617 days ago | IN | 2.9 ETH | 0.00539465 | ||||
Transfer | 4276555 | 2617 days ago | IN | 0.05 ETH | 0.00314465 | ||||
Transfer | 4276547 | 2617 days ago | IN | 0.05 ETH | 0.00539465 | ||||
Transfer | 4276540 | 2617 days ago | IN | 0.3 ETH | 0.00226575 | ||||
Transfer | 4276530 | 2617 days ago | IN | 0.27343767 ETH | 0.00625779 | ||||
Transfer | 4276482 | 2617 days ago | IN | 0.28793767 ETH | 0.0025 | ||||
Transfer | 4276464 | 2617 days ago | IN | 0.02 ETH | 0.00314465 | ||||
Transfer | 4276460 | 2617 days ago | IN | 0.4 ETH | 0.00539465 | ||||
Transfer | 4276459 | 2617 days ago | IN | 10.1 ETH | 0.00323679 | ||||
Transfer | 4276303 | 2617 days ago | IN | 2 ETH | 0.00226575 | ||||
Transfer | 4276242 | 2617 days ago | IN | 0.99 ETH | 0.00111938 | ||||
Transfer | 4276187 | 2617 days ago | IN | 0.2 ETH | 0.00226575 | ||||
Transfer | 4276158 | 2617 days ago | IN | 1.80688924 ETH | 0.00132075 | ||||
Transfer | 4276152 | 2617 days ago | IN | 0.8 ETH | 0.00132075 | ||||
Transfer | 4276107 | 2617 days ago | IN | 2.00455282 ETH | 0.00132075 | ||||
Transfer | 4276090 | 2617 days ago | IN | 4 ETH | 0.00539465 | ||||
Transfer | 4276085 | 2617 days ago | IN | 5.15598 ETH | 0.00647358 | ||||
Transfer | 4276080 | 2617 days ago | IN | 2.589559 ETH | 0.00226575 | ||||
Transfer | 4276078 | 2617 days ago | IN | 4 ETH | 0.00314465 | ||||
Transfer | 4275966 | 2617 days ago | IN | 60 ETH | 0.00314465 |
Loading...
Loading
Contract Name:
Crowdsale
Compiler Version
v0.4.14-nightly.2017.7.19+commit.3ad326be
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-08-11 */ pragma solidity ^0.4.11; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint256 a, uint256 b) internal 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; } function sub(uint256 a, uint256 b) internal returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() { 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) onlyOwner { if (newOwner != address(0)) { owner = newOwner; } } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20Basic { uint256 public totalSupply; function balanceOf(address who) constant returns (uint256); function transfer(address to, uint256 value); 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) constant returns (uint256); function transferFrom(address from, address to, uint256 value); function approve(address spender, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic, Ownable { using SafeMath for uint256; mapping(address => uint256) balances; /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) { balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(msg.sender, _to, _value); } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) constant returns (uint256 balance) { return balances[_owner]; } } /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * @dev https://github.com/ethereum/EIPs/issues/20 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amout of tokens to be transfered */ function transferFrom(address _from, address _to, uint256 _value) { var _allowance = allowed[_from][msg.sender]; // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met // if (_value > _allowance) throw; balances[_to] = balances[_to].add(_value); balances[_from] = balances[_from].sub(_value); allowed[_from][msg.sender] = _allowance.sub(_value); Transfer(_from, _to, _value); } /** * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender. * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) { // To change the approve amount you first have to reduce the addresses` // allowance to zero by calling `approve(_spender, 0)` if it is not // already 0 to mitigate the race condition described here: // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 require((_value == 0) || (allowed[msg.sender][_spender] == 0)); allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifing the amount of tokens still avaible for the spender. */ function allowance(address _owner, address _spender) constant returns (uint256 remaining) { return allowed[_owner][_spender]; } } /** * @title TKRPToken * @dev Very simple ERC20 Token example, where all tokens are pre-assigned to the creator. * Note they can later distribute these tokens as they wish using `transfer` and other * `StandardToken` functions. */ contract TKRPToken is StandardToken { event Destroy(address indexed _from); string public name = "TKRPToken"; string public symbol = "TKRP"; uint256 public decimals = 18; uint256 public initialSupply = 500000; /** * @dev Contructor that gives the sender all tokens */ function TKRPToken() { totalSupply = initialSupply; balances[msg.sender] = initialSupply; } /** * @dev Destroys tokens from an address, this process is irrecoverable. * @param _from The address to destroy the tokens from. */ function destroyFrom(address _from) onlyOwner returns (bool) { uint256 balance = balanceOf(_from); require(balance > 0); balances[_from] = 0; totalSupply = totalSupply.sub(balance); Destroy(_from); } } /** * @title TKRToken * @dev Very simple ERC20 Token example, where all tokens are pre-assigned to the creator. * Note they can later distribute these tokens as they wish using `transfer` and other * `StandardToken` functions. */ contract TKRToken is StandardToken { event Destroy(address indexed _from, address indexed _to, uint256 _value); string public name = "TKRToken"; string public symbol = "TKR"; uint256 public decimals = 18; uint256 public initialSupply = 65500000 * 10 ** 18; /** * @dev Contructor that gives the sender all tokens */ function TKRToken() { totalSupply = initialSupply; balances[msg.sender] = initialSupply; } /** * @dev Destroys tokens, this process is irrecoverable. * @param _value The amount to destroy. */ function destroy(uint256 _value) onlyOwner returns (bool) { balances[msg.sender] = balances[msg.sender].sub(_value); totalSupply = totalSupply.sub(_value); Destroy(msg.sender, 0x0, _value); } } /** * @title Crowdsale * @dev Smart contract which collects ETH and in return transfers the TKRToken to the contributors * Log events are emitted for each transaction */ contract Crowdsale is Ownable { using SafeMath for uint256; /* * Stores the contribution in wei * Stores the amount received in TKR */ struct Contributor { uint256 contributed; uint256 received; } /* Backers are keyed by their address containing a Contributor struct */ mapping(address => Contributor) public contributors; /* Events to emit when a contribution has successfully processed */ event TokensSent(address indexed to, uint256 value); event ContributionReceived(address indexed to, uint256 value); event MigratedTokens(address indexed _address, uint256 value); /* Constants */ uint256 public constant TOKEN_CAP = 58500000 * 10 ** 18; uint256 public constant MINIMUM_CONTRIBUTION = 10 finney; uint256 public constant TOKENS_PER_ETHER = 5000 * 10 ** 18; uint256 public constant CROWDSALE_DURATION = 30 days; /* Public Variables */ TKRToken public token; TKRPToken public preToken; address public crowdsaleOwner; uint256 public etherReceived; uint256 public tokensSent; uint256 public crowdsaleStartTime; uint256 public crowdsaleEndTime; /* Modifier to check whether the crowdsale is running */ modifier crowdsaleRunning() { require(now < crowdsaleEndTime && crowdsaleStartTime != 0); _; } /** * @dev Fallback function which invokes the processContribution function * @param _tokenAddress TKR Token address * @param _to crowdsale owner address */ function Crowdsale(address _tokenAddress, address _preTokenAddress, address _to) { token = TKRToken(_tokenAddress); preToken = TKRPToken(_preTokenAddress); crowdsaleOwner = _to; } /** * @dev Fallback function which invokes the processContribution function */ function() crowdsaleRunning payable { processContribution(msg.sender); } /** * @dev Starts the crowdsale */ function start() onlyOwner { require(crowdsaleStartTime == 0); crowdsaleStartTime = now; crowdsaleEndTime = now + CROWDSALE_DURATION; } /** * @dev A backup fail-safe drain if required */ function drain() onlyOwner { assert(crowdsaleOwner.send(this.balance)); } /** * @dev Finalizes the crowdsale and sends funds */ function finalize() onlyOwner { require((crowdsaleStartTime != 0 && now > crowdsaleEndTime) || tokensSent == TOKEN_CAP); uint256 remainingBalance = token.balanceOf(this); if (remainingBalance > 0) token.destroy(remainingBalance); assert(crowdsaleOwner.send(this.balance)); } /** * @dev Migrates TKRP tokens to TKR token at a rate of 1:1 during the Crowdsale. */ function migrate() crowdsaleRunning { uint256 preTokenBalance = preToken.balanceOf(msg.sender); require(preTokenBalance != 0); uint256 tokenBalance = preTokenBalance * 10 ** 18; preToken.destroyFrom(msg.sender); token.transfer(msg.sender, tokenBalance); MigratedTokens(msg.sender, tokenBalance); } /** * @dev Processes the contribution given, sends the tokens and emits events * @param sender The address of the contributor */ function processContribution(address sender) internal { require(msg.value >= MINIMUM_CONTRIBUTION); // // /* Calculate total (+bonus) amount to send, throw if it exceeds cap*/ uint256 contributionInTokens = bonus(msg.value.mul(TOKENS_PER_ETHER).div(1 ether)); require(contributionInTokens.add(tokensSent) <= TOKEN_CAP); /* Send the tokens */ token.transfer(sender, contributionInTokens); /* Create a contributor struct and store the contributed/received values */ Contributor storage contributor = contributors[sender]; contributor.received = contributor.received.add(contributionInTokens); contributor.contributed = contributor.contributed.add(msg.value); // /* Update the total amount of tokens sent and ether received */ etherReceived = etherReceived.add(msg.value); tokensSent = tokensSent.add(contributionInTokens); // /* Emit log events */ TokensSent(sender, contributionInTokens); ContributionReceived(sender, msg.value); } /** * @dev Calculates the bonus amount based on the contribution date * @param amount The contribution amount given */ function bonus(uint256 amount) internal constant returns (uint256) { /* This adds a bonus 20% such as 100 + 100/5 = 120 */ if (now < crowdsaleStartTime.add(2 days)) return amount.add(amount.div(5)); /* This adds a bonus 10% such as 100 + 100/10 = 110 */ if (now < crowdsaleStartTime.add(14 days)) return amount.add(amount.div(10)); /* This adds a bonus 5% such as 100 + 100/20 = 105 */ if (now < crowdsaleStartTime.add(21 days)) return amount.add(amount.div(20)); /* No bonus is given */ return amount; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"crowdsaleEndTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokensSent","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"contributors","outputs":[{"name":"contributed","type":"uint256"},{"name":"received","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"etherReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKENS_PER_ETHER","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"preToken","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MINIMUM_CONTRIBUTION","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"migrate","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"drain","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"CROWDSALE_DURATION","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_preTokenAddress","type":"address"},{"name":"_to","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"TokensSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"ContributionReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"MigratedTokens","type":"event"}]
Contract Creation Code
6060604052341561000f57600080fd5b604051606080610c4d8339810160405280805191906020018051919060200180519150505b5b60008054600160a060020a03191633600160a060020a03161790555b60028054600160a060020a03808616600160a060020a0319928316179092556003805485841690831617905560048054928416929091169190911790555b5050505b610bab806100a26000396000f300606060405236156100e05763ffffffff60e060020a6000350416631d545d0981146101105780631f130761146101355780631f6d49421461015a57806330adce0e146101915780634bb278f3146101b65780636b4a6ded146101cb5780636ffea7bd146101f0578063855655851461021f5780638d0bba031461024e5780638da5cb5b146102735780638fd3ab80146102a25780639890220b146102b75780639a6524f1146102cc578063ad3c0b9d146102f1578063be9a655514610316578063e2fc421d1461032b578063f2fde38b14610350578063fc0c546a14610371575b61010e5b600854421080156100f6575060075415155b151561010157600080fd5b61010a336103a0565b5b5b565b005b341561011b57600080fd5b610123610578565b60405190815260200160405180910390f35b341561014057600080fd5b61012361057e565b60405190815260200160405180910390f35b341561016557600080fd5b610179600160a060020a0360043516610584565b60405191825260208201526040908101905180910390f35b341561019c57600080fd5b61012361059d565b60405190815260200160405180910390f35b34156101c157600080fd5b61010e6105a3565b005b34156101d657600080fd5b610123610719565b60405190815260200160405180910390f35b34156101fb57600080fd5b610203610727565b604051600160a060020a03909116815260200160405180910390f35b341561022a57600080fd5b610203610736565b604051600160a060020a03909116815260200160405180910390f35b341561025957600080fd5b610123610745565b60405190815260200160405180910390f35b341561027e57600080fd5b610203610750565b604051600160a060020a03909116815260200160405180910390f35b34156102ad57600080fd5b61010e61075f565b005b34156102c257600080fd5b61010e61092e565b005b34156102d757600080fd5b610123610983565b60405190815260200160405180910390f35b34156102fc57600080fd5b610123610992565b60405190815260200160405180910390f35b341561032157600080fd5b61010e610999565b005b341561033657600080fd5b6101236109d3565b60405190815260200160405180910390f35b341561035b57600080fd5b61010e600160a060020a03600435166109d9565b005b341561037c57600080fd5b610203610a31565b604051600160a060020a03909116815260200160405180910390f35b600080662386f26fc100003410156103b757600080fd5b6103f16103ec670de0b6b3a76400006103e03469010f0cf064dd5920000063ffffffff610a4016565b9063ffffffff610a6f16565b610a8b565b91506a3063db5ac1d44d4a80000061041460065484610b6590919063ffffffff16565b111561041f57600080fd5b600254600160a060020a031663a9059cbb848460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561047557600080fd5b6102c65a03f1151561048657600080fd5b50505050600160a060020a0382166000908152600160208190526040909120908101546104b39083610b65565b600182015580546104ca903463ffffffff610b6516565b81556005546104df903463ffffffff610b6516565b6005556006546104f5908363ffffffff610b6516565b600655600160a060020a0383167ff18d5a93c62c1d0c761ed52107f11d20bc2071851206b79c4dd3283bd9f006f18360405190815260200160405180910390a282600160a060020a03167f1bb460ccaaf70fbacfec17a376f8acbd278c1405590ffcc8ebe4b88daf4f64ad3460405190815260200160405180910390a25b505050565b60085481565b60065481565b6001602081905260009182526040909120805491015482565b60055481565b6000805433600160a060020a039081169116146105bf57600080fd5b600754158015906105d1575060085442115b806105e857506a3063db5ac1d44d4a800000600654145b15156105f357600080fd5b600254600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561064c57600080fd5b6102c65a03f1151561065d57600080fd5b505050604051805191505060008111156106de57600254600160a060020a0316639d1187708260006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156106c257600080fd5b6102c65a03f115156106d357600080fd5b505050604051805150505b600454600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561071457fe5b5b5b50565b69010f0cf064dd5920000081565b600354600160a060020a031681565b600454600160a060020a031681565b662386f26fc1000081565b600054600160a060020a031681565b60008060085442108015610774575060075415155b151561077f57600080fd5b600354600160a060020a03166370a082313360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156107d857600080fd5b6102c65a03f115156107e957600080fd5b505050604051805192505081151561080057600080fd5b50600354670de0b6b3a7640000820290600160a060020a031663053983023360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561086657600080fd5b6102c65a03f1151561087757600080fd5b50505060405180515050600254600160a060020a031663a9059cbb338360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156108d757600080fd5b6102c65a03f115156108e857600080fd5b50505033600160a060020a03167f483f1b18c3ab18ad63c9a3ab7c8fb67b118d752a1c950075de711cb06c5e2ffb8260405190815260200160405180910390a25b5b5050565b60005433600160a060020a0390811691161461094957600080fd5b600454600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561010a57fe5b5b5b565b6a3063db5ac1d44d4a80000081565b62278d0081565b60005433600160a060020a039081169116146109b457600080fd5b600754156109c157600080fd5b42600781905562278d00016008555b5b565b60075481565b60005433600160a060020a039081169116146109f457600080fd5b600160a060020a03811615610714576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b600254600160a060020a031681565b6000828202831580610a5c5750828482811515610a5957fe5b04145b1515610a6457fe5b8091505b5092915050565b6000808284811515610a7d57fe5b0490508091505b5092915050565b600754600090610aa4906202a30063ffffffff610b6516565b421015610ad357610acc610abf83600563ffffffff610a6f16565b839063ffffffff610b6516565b9050610b60565b600754610ae9906212750063ffffffff610b6516565b421015610b1857610acc610abf83600a63ffffffff610a6f16565b839063ffffffff610b6516565b9050610b60565b600754610b2e90621baf8063ffffffff610b6516565b421015610b5d57610acc610abf83601463ffffffff610a6f16565b839063ffffffff610b6516565b9050610b60565b50805b919050565b600082820183811015610a6457fe5b8091505b50929150505600a165627a7a723058200f142d2978898becfa22669acd4514abf140abbe42e6e6100d67df8197b6a5d80029000000000000000000000000b45a50545beeab73f38f31e5973768c421805e5e00000000000000000000000056fc8befddd4bdba1f24e4f54ad4cf6dead2cfba000000000000000000000000acb44b81dabbb6d1af48a1b5a9deb881e6ebe713
Deployed Bytecode
0x606060405236156100e05763ffffffff60e060020a6000350416631d545d0981146101105780631f130761146101355780631f6d49421461015a57806330adce0e146101915780634bb278f3146101b65780636b4a6ded146101cb5780636ffea7bd146101f0578063855655851461021f5780638d0bba031461024e5780638da5cb5b146102735780638fd3ab80146102a25780639890220b146102b75780639a6524f1146102cc578063ad3c0b9d146102f1578063be9a655514610316578063e2fc421d1461032b578063f2fde38b14610350578063fc0c546a14610371575b61010e5b600854421080156100f6575060075415155b151561010157600080fd5b61010a336103a0565b5b5b565b005b341561011b57600080fd5b610123610578565b60405190815260200160405180910390f35b341561014057600080fd5b61012361057e565b60405190815260200160405180910390f35b341561016557600080fd5b610179600160a060020a0360043516610584565b60405191825260208201526040908101905180910390f35b341561019c57600080fd5b61012361059d565b60405190815260200160405180910390f35b34156101c157600080fd5b61010e6105a3565b005b34156101d657600080fd5b610123610719565b60405190815260200160405180910390f35b34156101fb57600080fd5b610203610727565b604051600160a060020a03909116815260200160405180910390f35b341561022a57600080fd5b610203610736565b604051600160a060020a03909116815260200160405180910390f35b341561025957600080fd5b610123610745565b60405190815260200160405180910390f35b341561027e57600080fd5b610203610750565b604051600160a060020a03909116815260200160405180910390f35b34156102ad57600080fd5b61010e61075f565b005b34156102c257600080fd5b61010e61092e565b005b34156102d757600080fd5b610123610983565b60405190815260200160405180910390f35b34156102fc57600080fd5b610123610992565b60405190815260200160405180910390f35b341561032157600080fd5b61010e610999565b005b341561033657600080fd5b6101236109d3565b60405190815260200160405180910390f35b341561035b57600080fd5b61010e600160a060020a03600435166109d9565b005b341561037c57600080fd5b610203610a31565b604051600160a060020a03909116815260200160405180910390f35b600080662386f26fc100003410156103b757600080fd5b6103f16103ec670de0b6b3a76400006103e03469010f0cf064dd5920000063ffffffff610a4016565b9063ffffffff610a6f16565b610a8b565b91506a3063db5ac1d44d4a80000061041460065484610b6590919063ffffffff16565b111561041f57600080fd5b600254600160a060020a031663a9059cbb848460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561047557600080fd5b6102c65a03f1151561048657600080fd5b50505050600160a060020a0382166000908152600160208190526040909120908101546104b39083610b65565b600182015580546104ca903463ffffffff610b6516565b81556005546104df903463ffffffff610b6516565b6005556006546104f5908363ffffffff610b6516565b600655600160a060020a0383167ff18d5a93c62c1d0c761ed52107f11d20bc2071851206b79c4dd3283bd9f006f18360405190815260200160405180910390a282600160a060020a03167f1bb460ccaaf70fbacfec17a376f8acbd278c1405590ffcc8ebe4b88daf4f64ad3460405190815260200160405180910390a25b505050565b60085481565b60065481565b6001602081905260009182526040909120805491015482565b60055481565b6000805433600160a060020a039081169116146105bf57600080fd5b600754158015906105d1575060085442115b806105e857506a3063db5ac1d44d4a800000600654145b15156105f357600080fd5b600254600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561064c57600080fd5b6102c65a03f1151561065d57600080fd5b505050604051805191505060008111156106de57600254600160a060020a0316639d1187708260006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156106c257600080fd5b6102c65a03f115156106d357600080fd5b505050604051805150505b600454600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561071457fe5b5b5b50565b69010f0cf064dd5920000081565b600354600160a060020a031681565b600454600160a060020a031681565b662386f26fc1000081565b600054600160a060020a031681565b60008060085442108015610774575060075415155b151561077f57600080fd5b600354600160a060020a03166370a082313360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156107d857600080fd5b6102c65a03f115156107e957600080fd5b505050604051805192505081151561080057600080fd5b50600354670de0b6b3a7640000820290600160a060020a031663053983023360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561086657600080fd5b6102c65a03f1151561087757600080fd5b50505060405180515050600254600160a060020a031663a9059cbb338360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156108d757600080fd5b6102c65a03f115156108e857600080fd5b50505033600160a060020a03167f483f1b18c3ab18ad63c9a3ab7c8fb67b118d752a1c950075de711cb06c5e2ffb8260405190815260200160405180910390a25b5b5050565b60005433600160a060020a0390811691161461094957600080fd5b600454600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561010a57fe5b5b5b565b6a3063db5ac1d44d4a80000081565b62278d0081565b60005433600160a060020a039081169116146109b457600080fd5b600754156109c157600080fd5b42600781905562278d00016008555b5b565b60075481565b60005433600160a060020a039081169116146109f457600080fd5b600160a060020a03811615610714576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b600254600160a060020a031681565b6000828202831580610a5c5750828482811515610a5957fe5b04145b1515610a6457fe5b8091505b5092915050565b6000808284811515610a7d57fe5b0490508091505b5092915050565b600754600090610aa4906202a30063ffffffff610b6516565b421015610ad357610acc610abf83600563ffffffff610a6f16565b839063ffffffff610b6516565b9050610b60565b600754610ae9906212750063ffffffff610b6516565b421015610b1857610acc610abf83600a63ffffffff610a6f16565b839063ffffffff610b6516565b9050610b60565b600754610b2e90621baf8063ffffffff610b6516565b421015610b5d57610acc610abf83601463ffffffff610a6f16565b839063ffffffff610b6516565b9050610b60565b50805b919050565b600082820183811015610a6457fe5b8091505b50929150505600a165627a7a723058200f142d2978898becfa22669acd4514abf140abbe42e6e6100d67df8197b6a5d80029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b45a50545beeab73f38f31e5973768c421805e5e00000000000000000000000056fc8befddd4bdba1f24e4f54ad4cf6dead2cfba000000000000000000000000acb44b81dabbb6d1af48a1b5a9deb881e6ebe713
-----Decoded View---------------
Arg [0] : _tokenAddress (address): 0xB45a50545bEEAB73F38F31E5973768C421805E5E
Arg [1] : _preTokenAddress (address): 0x56FC8BefdDd4bdba1F24E4f54Ad4CF6DeaD2cFBa
Arg [2] : _to (address): 0xacB44b81dAbBb6d1AF48A1b5a9DEb881E6Ebe713
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000b45a50545beeab73f38f31e5973768c421805e5e
Arg [1] : 00000000000000000000000056fc8befddd4bdba1f24e4f54ad4cf6dead2cfba
Arg [2] : 000000000000000000000000acb44b81dabbb6d1af48a1b5a9deb881e6ebe713
Swarm Source
bzzr://0f142d2978898becfa22669acd4514abf140abbe42e6e6100d67df8197b6a5d8
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.034529 | 49.6938 | $1.72 |
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.