More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 588 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 5452725 | 2478 days ago | IN | 0.29372836 ETH | 0.00013614 | ||||
Transfer | 5448533 | 2478 days ago | IN | 0.14192226 ETH | 0.000063 | ||||
Transfer | 5446544 | 2479 days ago | IN | 0.25 ETH | 0.00007563 | ||||
Transfer | 5444136 | 2479 days ago | IN | 0.051 ETH | 0.00310115 | ||||
Transfer | 5443714 | 2479 days ago | IN | 0.037 ETH | 0.0008651 | ||||
Transfer | 5443608 | 2479 days ago | IN | 0.35 ETH | 0.00393317 | ||||
Transfer | 5441686 | 2479 days ago | IN | 0.35 ETH | 0.00075638 | ||||
Transfer | 5441672 | 2479 days ago | IN | 0.35 ETH | 0.00049795 | ||||
Transfer* | 5440674 | 2480 days ago | IN | 0.4 ETH | 0.000066 | ||||
Transfer* | 5440662 | 2480 days ago | IN | 0.4 ETH | 0.000066 | ||||
Transfer | 5440025 | 2480 days ago | IN | 0.15 ETH | 0.00385753 | ||||
Transfer | 5439278 | 2480 days ago | IN | 0.3 ETH | 0.00310115 | ||||
Transfer | 5436795 | 2480 days ago | IN | 0.15888251 ETH | 0.00019282 | ||||
Transfer | 5434158 | 2481 days ago | IN | 0.3 ETH | 0.00310115 | ||||
Transfer | 5432288 | 2481 days ago | IN | 0.17 ETH | 0.00310115 | ||||
Transfer | 5430903 | 2481 days ago | IN | 0.05 ETH | 0.00007563 | ||||
Transfer | 5429350 | 2482 days ago | IN | 0.21044769 ETH | 0.00049723 | ||||
Transfer | 5428333 | 2482 days ago | IN | 0.3 ETH | 0.00393317 | ||||
Transfer | 5427279 | 2482 days ago | IN | 0.06 ETH | 0.00242041 | ||||
Transfer | 5425301 | 2482 days ago | IN | 0.3 ETH | 0.00393317 | ||||
Transfer | 5424583 | 2482 days ago | IN | 0.012 ETH | 0.00010882 | ||||
Transfer | 5423065 | 2483 days ago | IN | 0.18613 ETH | 0.00315317 | ||||
Transfer | 5423009 | 2483 days ago | IN | 0.2868 ETH | 0.00315317 | ||||
Transfer | 5419915 | 2483 days ago | IN | 0.069278 ETH | 0.00310115 | ||||
Transfer | 5419883 | 2483 days ago | IN | 3 ETH | 0.00393317 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
5452725 | 2478 days ago | 0.29372836 ETH | ||||
5446544 | 2479 days ago | 0.25 ETH | ||||
5444136 | 2479 days ago | 0.051 ETH | ||||
5443608 | 2479 days ago | 0.35 ETH | ||||
5441686 | 2479 days ago | 0.35 ETH | ||||
5440025 | 2480 days ago | 0.15 ETH | ||||
5439278 | 2480 days ago | 0.3 ETH | ||||
5436795 | 2480 days ago | 0.15888251 ETH | ||||
5434158 | 2481 days ago | 0.3 ETH | ||||
5432288 | 2481 days ago | 0.17 ETH | ||||
5430903 | 2481 days ago | 0.05 ETH | ||||
5429350 | 2482 days ago | 0.21044769 ETH | ||||
5428333 | 2482 days ago | 0.3 ETH | ||||
5427279 | 2482 days ago | 0.06 ETH | ||||
5425301 | 2482 days ago | 0.3 ETH | ||||
5423065 | 2483 days ago | 0.18613 ETH | ||||
5423009 | 2483 days ago | 0.2868 ETH | ||||
5419915 | 2483 days ago | 0.069278 ETH | ||||
5419883 | 2483 days ago | 3 ETH | ||||
5419843 | 2483 days ago | 0.0899 ETH | ||||
5411684 | 2485 days ago | 1 ETH | ||||
5410781 | 2485 days ago | 1 ETH | ||||
5408952 | 2485 days ago | 0.1 ETH | ||||
5403807 | 2486 days ago | 0.1 ETH | ||||
5402000 | 2486 days ago | 0.027 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
NodeCrowdsale
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-01-31 */ pragma solidity ^0.4.18; /* Nodepower ICO crowdsale contract BONUS SCHEDULE: Bonus start time end time 45% 2017-12-31 23:59:59 - 2018-01-31 23:59:59 1517443199 40% 2018-02-01 00:00:00 - 2018-02-14 23:59:59 1518652799 30% 2018-02-15 00:00:00 - 2018-02-24 23:59:59 1519516799 20% 2018-02-25 00:00:00 - 2018-03-06 23:59:59 1520380799 15% 2018-03-07 00:00:00 - 2018-03-16 23:59:59 1521244799 10% 2018-03-17 00:00:00 - 2018-03-26 23:59:59 1522108799 See official resource for details https://nodepower.io/ */ /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { uint256 public totalSupply; function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { 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; } 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; } 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) { uint256 c = a + b; assert(c >= a); return c; } } /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { 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) 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); Transfer(msg.sender, _to, _value); return true; } /** * @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) public view returns (uint256 balance) { return balances[_owner]; } } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @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)) internal 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 amount of tokens to be transferred */ 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); Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } /** * @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 specifying the amount of tokens still available for the spender. */ function allowance(address _owner, address _spender) public view returns (uint256) { return allowed[_owner][_spender]; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. */ function increaseApproval(address _spender, uint _addedValue) public returns (bool) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. */ 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); } Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } contract NodeToken is StandardToken { string public name = "NodePower"; string public symbol = "NODE"; uint8 public decimals = 2; bool public mintingFinished = false; mapping (address => bool) owners; mapping (address => bool) minters; event Mint(address indexed to, uint256 amount); event MintFinished(); event OwnerAdded(address indexed newOwner); event OwnerRemoved(address indexed removedOwner); event MinterAdded(address indexed newMinter); event MinterRemoved(address indexed removedMinter); event Burn(address indexed burner, uint256 value); function NodeToken() public { owners[msg.sender] = true; } /** * @dev Function to mint tokens * @param _to The address that will receive the minted tokens. * @param _amount The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint(address _to, uint256 _amount) onlyMinter public returns (bool) { require(!mintingFinished); totalSupply = totalSupply.add(_amount); balances[_to] = balances[_to].add(_amount); Mint(_to, _amount); Transfer(address(0), _to, _amount); return true; } /** * @dev Function to stop minting new tokens. * @return True if the operation was successful. */ function finishMinting() onlyOwner public returns (bool) { require(!mintingFinished); mintingFinished = true; MintFinished(); return true; } /** * @dev Burns a specific amount of tokens. * @param _value The amount of token to be burned. */ function burn(uint256 _value) public { require(_value <= balances[msg.sender]); // no need to require value <= totalSupply, since that would imply the // sender's balance is greater than the totalSupply, which *should* be an assertion failure address burner = msg.sender; balances[burner] = balances[burner].sub(_value); totalSupply = totalSupply.sub(_value); Burn(burner, _value); } /** * @dev Adds administrative role to address * @param _address The address that will get administrative privileges */ function addOwner(address _address) onlyOwner public { owners[_address] = true; OwnerAdded(_address); } /** * @dev Removes administrative role from address * @param _address The address to remove administrative privileges from */ function delOwner(address _address) onlyOwner public { owners[_address] = false; OwnerRemoved(_address); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owners[msg.sender]); _; } /** * @dev Adds minter role to address (able to create new tokens) * @param _address The address that will get minter privileges */ function addMinter(address _address) onlyOwner public { minters[_address] = true; MinterAdded(_address); } /** * @dev Removes minter role from address * @param _address The address to remove minter privileges */ function delMinter(address _address) onlyOwner public { minters[_address] = false; MinterRemoved(_address); } /** * @dev Throws if called by any account other than the minter. */ modifier onlyMinter() { require(minters[msg.sender]); _; } } /** * @title NodeCrowdsale * @dev NodeCrowdsale is a contract for managing a token crowdsale for NodePower project. * Crowdsale have 6 phases with start and end timestamps, where investors can make * token purchases and the crowdsale will assign them tokens based * on a token per ETH rate and bonuses. Collected funds are forwarded to a wallet * as they arrive. */ contract NodeCrowdsale { using SafeMath for uint256; // The token being sold NodeToken public token; // External wallet where funds get forwarded address public wallet; // Crowdsale administrators mapping (address => bool) public owners; // External bots updating rates mapping (address => bool) public bots; // USD cents per ETH exchange rate uint256 public rateUSDcETH; // Phases list, see schedule in constructor mapping (uint => Phase) phases; // The total number of phases (0...5) uint public totalPhases = 6; // Description for each phase struct Phase { uint256 startTime; uint256 endTime; uint256 bonusPercent; } // Minimum Deposit in USD cents uint256 public constant minContributionUSDc = 1000; // Amount of raised Ethers (in wei). uint256 public weiRaised; /** * event for token purchase logging * @param purchaser who paid for the tokens * @param beneficiary who got the tokens * @param value weis paid for purchase * @param bonusPercent free tokens percantage for the phase * @param amount amount of tokens purchased */ event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 bonusPercent, uint256 amount); // event for rate update logging event RateUpdate(uint256 rate); // event for wallet update event WalletSet(address indexed wallet); // owners management events event OwnerAdded(address indexed newOwner); event OwnerRemoved(address indexed removedOwner); // bot management events event BotAdded(address indexed newBot); event BotRemoved(address indexed removedBot); function NodeCrowdsale(address _tokenAddress, uint256 _initialRate) public { require(_tokenAddress != address(0)); token = NodeToken(_tokenAddress); rateUSDcETH = _initialRate; wallet = msg.sender; owners[msg.sender] = true; bots[msg.sender] = true; /* ICO SCHEDULE Bonus start time end time 45% 2017-12-31 23:59:59 1514764799 2018-01-31 23:59:59 1517443199 40% 2018-02-01 00:00:00 1517443200 2018-02-14 23:59:59 1518652799 30% 2018-02-15 00:00:00 1518652800 2018-02-24 23:59:59 1519516799 20% 2018-02-25 00:00:00 1519516800 2018-03-06 23:59:59 1520380799 15% 2018-03-07 00:00:00 1520380800 2018-03-16 23:59:59 1521244799 10% 2018-03-17 00:00:00 1521244800 2018-03-26 23:59:59 1522108799 00% 2018-03-27 00:00:00 1522108800 - */ phases[0].bonusPercent = 45; phases[0].startTime = 1514764799; phases[0].endTime = 1517443199; phases[1].bonusPercent = 40; phases[1].startTime = 1517443200; phases[1].endTime = 1518652799; phases[2].bonusPercent = 30; phases[2].startTime = 1518652800; phases[2].endTime = 1519516799; phases[3].bonusPercent = 20; phases[3].startTime = 1519516800; phases[3].endTime = 1520380799; phases[4].bonusPercent = 15; phases[4].startTime = 1520380800; phases[4].endTime = 1521244799; phases[5].bonusPercent = 10; phases[5].startTime = 1521244800; phases[5].endTime = 1522108799; } /** * @dev Update collecting wallet address * @param _address The address to send collected funds */ function setWallet(address _address) onlyOwner public { wallet = _address; WalletSet(_address); } // fallback function can be used to buy tokens function () external payable { buyTokens(msg.sender); } // low level token purchase function function buyTokens(address beneficiary) public payable { require(beneficiary != address(0)); require(msg.value != 0); uint256 currentBonusPercent = getBonusPercent(now); uint256 weiAmount = msg.value; require(calculateUSDcValue(weiAmount) >= minContributionUSDc); // calculate token amount to be created uint256 tokens = calculateTokenAmount(weiAmount, currentBonusPercent); // update state weiRaised = weiRaised.add(weiAmount); token.mint(beneficiary, tokens); TokenPurchase(msg.sender, beneficiary, weiAmount, currentBonusPercent, tokens); forwardFunds(); } // If phase exists return corresponding bonus for the given date // else return 0 (percent) function getBonusPercent(uint256 datetime) public view returns (uint256) { for (uint i = 0; i < totalPhases; i++) { if (datetime >= phases[i].startTime && datetime <= phases[i].endTime) { return phases[i].bonusPercent; } } return 0; } // set rate function setRate(uint256 _rateUSDcETH) public onlyBot { // don't allow to change rate more than 10% assert(_rateUSDcETH < rateUSDcETH.mul(110).div(100)); assert(_rateUSDcETH > rateUSDcETH.mul(90).div(100)); rateUSDcETH = _rateUSDcETH; RateUpdate(rateUSDcETH); } /** * @dev Adds administrative role to address * @param _address The address that will get administrative privileges */ function addOwner(address _address) onlyOwner public { owners[_address] = true; OwnerAdded(_address); } /** * @dev Removes administrative role from address * @param _address The address to remove administrative privileges from */ function delOwner(address _address) onlyOwner public { owners[_address] = false; OwnerRemoved(_address); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owners[msg.sender]); _; } /** * @dev Adds rate updating bot * @param _address The address of the rate bot */ function addBot(address _address) onlyOwner public { bots[_address] = true; BotAdded(_address); } /** * @dev Removes rate updating bot address * @param _address The address of the rate bot */ function delBot(address _address) onlyOwner public { bots[_address] = false; BotRemoved(_address); } /** * @dev Throws if called by any account other than the bot. */ modifier onlyBot() { require(bots[msg.sender]); _; } // calculate deposit value in USD Cents function calculateUSDcValue(uint256 _weiDeposit) public view returns (uint256) { // wei per USD cent uint256 weiPerUSDc = 1 ether/rateUSDcETH; // Deposited value converted to USD cents uint256 depositValueInUSDc = _weiDeposit.div(weiPerUSDc); return depositValueInUSDc; } // calculates how much tokens will beneficiary get // for given amount of wei function calculateTokenAmount(uint256 _weiDeposit, uint256 _bonusTokensPercent) public view returns (uint256) { uint256 mainTokens = calculateUSDcValue(_weiDeposit); uint256 bonusTokens = mainTokens.mul(_bonusTokensPercent).div(100); return mainTokens.add(bonusTokens); } // send ether to the fund collection wallet // override to create custom fund forwarding mechanisms function forwardFunds() internal { wallet.transfer(msg.value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"owners","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_weiDeposit","type":"uint256"},{"name":"_bonusTokensPercent","type":"uint256"}],"name":"calculateTokenAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minContributionUSDc","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"delBot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_rateUSDcETH","type":"uint256"}],"name":"setRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalPhases","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_weiDeposit","type":"uint256"}],"name":"calculateUSDcValue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"delOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"datetime","type":"uint256"}],"name":"getBonusPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"bots","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rateUSDcETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"setWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"addBot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_initialRate","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"bonusPercent","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"rate","type":"uint256"}],"name":"RateUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"wallet","type":"address"}],"name":"WalletSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"removedOwner","type":"address"}],"name":"OwnerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newBot","type":"address"}],"name":"BotAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"removedBot","type":"address"}],"name":"BotRemoved","type":"event"}]
Contract Creation Code
606060405260068055341561001357600080fd5b60405160408061137c83398101604052808051906020019091908051906020019091905050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561007457600080fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060048190555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550602d6005600080815260200190815260200160002060020181905550635a4979ff6005600080815260200190815260200160002060000181905550635a72587f60056000808152602001908152602001600020600101819055506028600560006001815260200190815260200160002060020181905550635a725880600560006001815260200190815260200160002060000181905550635a84cd7f600560006001815260200190815260200160002060010181905550601e600560006002815260200190815260200160002060020181905550635a84cd80600560006002815260200190815260200160002060000181905550635a91fc7f6005600060028152602001908152602001600020600101819055506014600560006003815260200190815260200160002060020181905550635a91fc80600560006003815260200190815260200160002060000181905550635a9f2b7f600560006003815260200190815260200160002060010181905550600f600560006004815260200190815260200160002060020181905550635a9f2b80600560006004815260200190815260200160002060000181905550635aac5a7f600560006004815260200190815260200160002060010181905550600a600560006005815260200190815260200160002060020181905550635aac5a80600560006005815260200190815260200160002060000181905550635ab9897f6005600060058152602001908152602001600020600101819055505050610f94806103e86000396000f3006060604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063022914a7146101075780630355383514610158578063253f89b014610198578063273123b7146101c157806334fcf437146101fa5780633c5d18121461021d5780634042b66f14610246578063521eb2731461026f578063688bf035146102c45780637065cb48146102fb57806373984188146103345780637c098bc31461036d578063bfd79284146103a4578063c49589bb146103f5578063deaa59df1461041e578063ec8ac4d814610457578063fc0c546a14610485578063ffecf516146104da575b61010533610513565b005b341561011257600080fd5b61013e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061071b565b604051808215151515815260200191505060405180910390f35b341561016357600080fd5b610182600480803590602001909190803590602001909190505061073b565b6040518082815260200191505060405180910390f35b34156101a357600080fd5b6101ab610790565b6040518082815260200191505060405180910390f35b34156101cc57600080fd5b6101f8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610796565b005b341561020557600080fd5b61021b600480803590602001909190505061088c565b005b341561022857600080fd5b61023061098d565b6040518082815260200191505060405180910390f35b341561025157600080fd5b610259610993565b6040518082815260200191505060405180910390f35b341561027a57600080fd5b610282610999565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102cf57600080fd5b6102e560048080359060200190919050506109bf565b6040518082815260200191505060405180910390f35b341561030657600080fd5b610332600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109fb565b005b341561033f57600080fd5b61036b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610af1565b005b341561037857600080fd5b61038e6004808035906020019091905050610be7565b6040518082815260200191505060405180910390f35b34156103af57600080fd5b6103db600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c70565b604051808215151515815260200191505060405180910390f35b341561040057600080fd5b610408610c90565b6040518082815260200191505060405180910390f35b341561042957600080fd5b610455600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c96565b005b610483600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610513565b005b341561049057600080fd5b610498610d75565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104e557600080fd5b610511600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d9a565b005b60008060008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561055357600080fd5b6000341415151561056357600080fd5b61056c42610be7565b92503491506103e861057d836109bf565b1015151561058a57600080fd5b610594828461073b565b90506105ab82600754610e9090919063ffffffff16565b6007819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1985836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561067d57600080fd5b6102c65a03f1151561068e57600080fd5b50505060405180519050508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167efe0e12b43090c1fc19a34aefa5cc138a4eeafc60ab800f855c730b3fb9480e84868560405180848152602001838152602001828152602001935050505060405180910390a3610715610eae565b50505050565b60026020528060005260406000206000915054906101000a900460ff1681565b6000806000610749856109bf565b915061077160646107638685610f1290919063ffffffff16565b610f4d90919063ffffffff16565b90506107868183610e9090919063ffffffff16565b9250505092915050565b6103e881565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156107ee57600080fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167ff98765b2b5e26c3266491f2a9f51d7fdae1c9c7ac2016fade7789d1f9e4ff3a060405160405180910390a250565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156108e457600080fd5b61090d60646108ff606e600454610f1290919063ffffffff16565b610f4d90919063ffffffff16565b8110151561091757fe5b6109406064610932605a600454610f1290919063ffffffff16565b610f4d90919063ffffffff16565b8111151561094a57fe5b806004819055507f9b831dcbec52dfe52b187da18aae08651dfb726e9baf49d5d9eae6fa264db3a16004546040518082815260200191505060405180910390a150565b60065481565b60075481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000600454670de0b6b3a76400008115156109d957fe5b0491506109ef8285610f4d90919063ffffffff16565b90508092505050919050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610a5357600080fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c360405160405180910390a250565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610b4957600080fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da60405160405180910390a250565b600080600090505b600654811015610c655760056000828152602001908152602001600020600001548310158015610c35575060056000828152602001908152602001600020600101548311155b15610c585760056000828152602001908152602001600020600201549150610c6a565b8080600101915050610bef565b600091505b50919050565b60036020528060005260406000206000915054906101000a900460ff1681565b60045481565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610cee57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f743f78abbbbc7b5b130f6fc98ebe348382963748e60fc6844355091d8a38c7b960405160405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610df257600080fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f8ea6dd825d4c0cbaa8c5f268c15b1df21173aae98f549a108b836de11d4971d860405160405180910390a250565b6000808284019050838110151515610ea457fe5b8091505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610f1057600080fd5b565b6000806000841415610f275760009150610f46565b8284029050828482811515610f3857fe5b04141515610f4257fe5b8091505b5092915050565b6000808284811515610f5b57fe5b04905080915050929150505600a165627a7a72305820f7a2bee1d5e640ef93d206a865af10c111ff699d65c0caf04e952dd84eae670b0029000000000000000000000000ac956c72c262e5405a84dac655d5f3bea7ae9534000000000000000000000000000000000000000000000000000000000001abaf
Deployed Bytecode
0x6060604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063022914a7146101075780630355383514610158578063253f89b014610198578063273123b7146101c157806334fcf437146101fa5780633c5d18121461021d5780634042b66f14610246578063521eb2731461026f578063688bf035146102c45780637065cb48146102fb57806373984188146103345780637c098bc31461036d578063bfd79284146103a4578063c49589bb146103f5578063deaa59df1461041e578063ec8ac4d814610457578063fc0c546a14610485578063ffecf516146104da575b61010533610513565b005b341561011257600080fd5b61013e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061071b565b604051808215151515815260200191505060405180910390f35b341561016357600080fd5b610182600480803590602001909190803590602001909190505061073b565b6040518082815260200191505060405180910390f35b34156101a357600080fd5b6101ab610790565b6040518082815260200191505060405180910390f35b34156101cc57600080fd5b6101f8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610796565b005b341561020557600080fd5b61021b600480803590602001909190505061088c565b005b341561022857600080fd5b61023061098d565b6040518082815260200191505060405180910390f35b341561025157600080fd5b610259610993565b6040518082815260200191505060405180910390f35b341561027a57600080fd5b610282610999565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102cf57600080fd5b6102e560048080359060200190919050506109bf565b6040518082815260200191505060405180910390f35b341561030657600080fd5b610332600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109fb565b005b341561033f57600080fd5b61036b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610af1565b005b341561037857600080fd5b61038e6004808035906020019091905050610be7565b6040518082815260200191505060405180910390f35b34156103af57600080fd5b6103db600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c70565b604051808215151515815260200191505060405180910390f35b341561040057600080fd5b610408610c90565b6040518082815260200191505060405180910390f35b341561042957600080fd5b610455600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c96565b005b610483600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610513565b005b341561049057600080fd5b610498610d75565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104e557600080fd5b610511600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d9a565b005b60008060008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561055357600080fd5b6000341415151561056357600080fd5b61056c42610be7565b92503491506103e861057d836109bf565b1015151561058a57600080fd5b610594828461073b565b90506105ab82600754610e9090919063ffffffff16565b6007819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1985836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561067d57600080fd5b6102c65a03f1151561068e57600080fd5b50505060405180519050508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167efe0e12b43090c1fc19a34aefa5cc138a4eeafc60ab800f855c730b3fb9480e84868560405180848152602001838152602001828152602001935050505060405180910390a3610715610eae565b50505050565b60026020528060005260406000206000915054906101000a900460ff1681565b6000806000610749856109bf565b915061077160646107638685610f1290919063ffffffff16565b610f4d90919063ffffffff16565b90506107868183610e9090919063ffffffff16565b9250505092915050565b6103e881565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156107ee57600080fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167ff98765b2b5e26c3266491f2a9f51d7fdae1c9c7ac2016fade7789d1f9e4ff3a060405160405180910390a250565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156108e457600080fd5b61090d60646108ff606e600454610f1290919063ffffffff16565b610f4d90919063ffffffff16565b8110151561091757fe5b6109406064610932605a600454610f1290919063ffffffff16565b610f4d90919063ffffffff16565b8111151561094a57fe5b806004819055507f9b831dcbec52dfe52b187da18aae08651dfb726e9baf49d5d9eae6fa264db3a16004546040518082815260200191505060405180910390a150565b60065481565b60075481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000600454670de0b6b3a76400008115156109d957fe5b0491506109ef8285610f4d90919063ffffffff16565b90508092505050919050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610a5357600080fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c360405160405180910390a250565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610b4957600080fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da60405160405180910390a250565b600080600090505b600654811015610c655760056000828152602001908152602001600020600001548310158015610c35575060056000828152602001908152602001600020600101548311155b15610c585760056000828152602001908152602001600020600201549150610c6a565b8080600101915050610bef565b600091505b50919050565b60036020528060005260406000206000915054906101000a900460ff1681565b60045481565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610cee57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f743f78abbbbc7b5b130f6fc98ebe348382963748e60fc6844355091d8a38c7b960405160405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610df257600080fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f8ea6dd825d4c0cbaa8c5f268c15b1df21173aae98f549a108b836de11d4971d860405160405180910390a250565b6000808284019050838110151515610ea457fe5b8091505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610f1057600080fd5b565b6000806000841415610f275760009150610f46565b8284029050828482811515610f3857fe5b04141515610f4257fe5b8091505b5092915050565b6000808284811515610f5b57fe5b04905080915050929150505600a165627a7a72305820f7a2bee1d5e640ef93d206a865af10c111ff699d65c0caf04e952dd84eae670b0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ac956c72c262e5405a84dac655d5f3bea7ae9534000000000000000000000000000000000000000000000000000000000001abaf
-----Decoded View---------------
Arg [0] : _tokenAddress (address): 0xac956C72c262E5405A84dAc655d5f3Bea7Ae9534
Arg [1] : _initialRate (uint256): 109487
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000ac956c72c262e5405a84dac655d5f3bea7ae9534
Arg [1] : 000000000000000000000000000000000000000000000000000000000001abaf
Swarm Source
bzzr://f7a2bee1d5e640ef93d206a865af10c111ff699d65c0caf04e952dd84eae670b
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.