More Info
Private Name Tags
ContractCreator
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
4754174 | 2611 days ago | 0.1 ETH |
Loading...
Loading
Contract Name:
Crowdsale
Compiler Version
v0.4.15+commit.bbb8e64f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-12-18 */ pragma solidity ^0.4.15; 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; } } } contract Pausable is Ownable { bool public stopped; modifier stopInEmergency { require(!stopped); _; } modifier onlyInEmergency { require(stopped); _; } // called by the owner on emergency, triggers stopped state function emergencyStop() external onlyOwner { stopped = true; } // called by the owner on end of emergency, returns to normal state function release() external onlyOwner onlyInEmergency { stopped = false; } } library SafeMath { function mul(uint256 a, uint256 b) internal constant returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint256 a, uint256 b) internal constant 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 constant returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal constant returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract PullPayment { using SafeMath for uint256; mapping(address => uint256) public payments; uint256 public totalPayments; /** * @dev Called by the payer to store the sent amount as credit to be pulled. * @param dest The destination address of the funds. * @param amount The amount to transfer. */ function asyncSend(address dest, uint256 amount) internal { payments[dest] = payments[dest].add(amount); totalPayments = totalPayments.add(amount); } /** * @dev withdraw accumulated balance, called by payee. */ function withdrawPayments() { address payee = msg.sender; uint256 payment = payments[payee]; require(payment != 0); require(this.balance >= payment); totalPayments = totalPayments.sub(payment); payments[payee] = 0; assert(payee.send(payment)); } } contract Crowdsale is Pausable, PullPayment { using SafeMath for uint; struct Backer { uint weiReceived; // Amount of Ether given uint256 coinSent; } /* * Constants */ /* Minimum number of DARFtoken to sell */ uint public constant MIN_CAP = 100000 ether; // 100,000 DARFtokens /* Maximum number of DARFtoken to sell */ uint public constant MAX_CAP = 8000000 ether; // 8,000,000 DARFtokens /* Minimum amount to BUY */ uint public constant MIN_BUY_ETHER = 100 finney; /* If backer buy over 1 000 000 DARF (2000 Ether) he/she can clame to become an investor after signing additional agreement with KYC procedure and get 1% of project profit per every 1 000 000 DARF */ struct Potential_Investor { uint weiReceived; // Amount of Ether given uint256 coinSent; uint profitshare; // Amount of Ether given } uint public constant MIN_INVEST_BUY = 2000 ether; /* But only 49% of profit can be distributed this way for bakers who will be first */ uint public MAX_INVEST_SHARE = 4900; // 4900 from 10000 is 49%, becouse Soliditi stil don't support fixed /* Crowdsale period */ uint private constant CROWDSALE_PERIOD = 62 days; /* Number of DARFtokens per Ether */ uint public constant COIN_PER_ETHER = 500; // 500 DARF per ether uint public constant BIGSELL = COIN_PER_ETHER * 100 ether; // when 1 buy is over 50000 DARF (or 100 ether), in means additional bonus 30% /* * Variables */ /* DARFtoken contract reference */ DARFtoken public coin; /* Multisig contract that will receive the Ether */ address public multisigEther; /* Number of Ether received */ uint public etherReceived; /* Number of DARFtokens sent to Ether contributors */ uint public coinSentToEther; /* Number of DARFtokens sent to potential investors */ uint public invcoinSentToEther; /* Crowdsale start time */ uint public startTime; /* Crowdsale end time */ uint public endTime; /* Is crowdsale still on going */ bool public crowdsaleClosed; /* Backers Ether indexed by their Ethereum address */ mapping(address => Backer) public backers; mapping(address => Potential_Investor) public Potential_Investors; // list of potential investors /* * Modifiers */ modifier minCapNotReached() { require(!((now < endTime) || coinSentToEther >= MIN_CAP )); _; } modifier respectTimeFrame() { require(!((now < startTime) || (now > endTime ))); _; } /* * Event */ event LogReceivedETH(address addr, uint value); event LogCoinsEmited(address indexed from, uint amount); event LogInvestshare(address indexed from, uint share); /* * Constructor */ function Crowdsale(address _DARFtokenAddress, address _to) { coin = DARFtoken(_DARFtokenAddress); multisigEther = _to; } /* * The fallback function corresponds to a donation in ETH */ function() stopInEmergency respectTimeFrame payable { receiveETH(msg.sender); } /* * To call to start the crowdsale */ function start() onlyOwner { require (startTime == 0); startTime = now ; endTime = now + CROWDSALE_PERIOD; } /* * Receives a donation in Ether */ function receiveETH(address beneficiary) internal { require(!(msg.value < MIN_BUY_ETHER)); // Don't accept funding under a predefined threshold if (multisigEther == beneficiary) return ; // Don't pay tokens if team refund ethers uint coinToSend = bonus(msg.value.mul(COIN_PER_ETHER));// Compute the number of DARFtoken to send require(!(coinToSend.add(coinSentToEther) > MAX_CAP)); Backer backer = backers[beneficiary]; coin.transfer(beneficiary, coinToSend); // Transfer DARFtokens right now backer.coinSent = backer.coinSent.add(coinToSend); backer.weiReceived = backer.weiReceived.add(msg.value); // Update the total wei collected during the crowdfunding for this backer multisigEther.send(msg.value); if (backer.weiReceived > MIN_INVEST_BUY) { // calculate profit share uint share = msg.value.mul(10000).div(MIN_INVEST_BUY); // 100 = 1% from 10000 // compare to all profit share will LT 49% LogInvestshare(msg.sender,share); if (MAX_INVEST_SHARE > share) { Potential_Investor potential_investor = Potential_Investors[beneficiary]; potential_investor.coinSent = backer.coinSent; potential_investor.weiReceived = backer.weiReceived; // Update the total wei collected during the crowdfunding for this potential investor // add share to potential_investor if (potential_investor.profitshare == 0 ) { uint startshare = potential_investor.weiReceived.mul(10000).div(MIN_INVEST_BUY); MAX_INVEST_SHARE = MAX_INVEST_SHARE.sub(startshare); potential_investor.profitshare = potential_investor.profitshare.add(startshare); } else { MAX_INVEST_SHARE = MAX_INVEST_SHARE.sub(share); potential_investor.profitshare = potential_investor.profitshare.add(share); LogInvestshare(msg.sender,potential_investor.profitshare); } } } etherReceived = etherReceived.add(msg.value); // Update the total wei collected during the crowdfunding coinSentToEther = coinSentToEther.add(coinToSend); // Send events LogCoinsEmited(msg.sender ,coinToSend); LogReceivedETH(beneficiary, etherReceived); } /* *Compute the DARFtoken bonus according to the BUYment period */ function bonus(uint256 amount) internal constant returns (uint256) { /* 25%in the first 15 days 20% 16 days 18 days 15% 19 days 21 days 10% 22 days 24 days 5% from 25 days to 27 days 0% from 28 days to 42 days */ if (amount >= BIGSELL ) { amount = amount.add(amount.div(10).mul(3)); }// bonus 30% to buying over 50000 DARF if (now < startTime.add(16 days)) return amount.add(amount.div(4)); // bonus 25% if (now < startTime.add(18 days)) return amount.add(amount.div(5)); // bonus 20% if (now < startTime.add(22 days)) return amount.add(amount.div(20).mul(3)); // bonus 15% if (now < startTime.add(25 days)) return amount.add(amount.div(10)); // bonus 10% if (now < startTime.add(28 days)) return amount.add(amount.div(20)); // bonus 5 return amount; } /* * Finalize the crowdsale, should be called after the refund period */ function finalize() onlyOwner public { if (now < endTime) { // Cannot finalise before CROWDSALE_PERIOD or before selling all coins require (coinSentToEther == MAX_CAP); } require(!(coinSentToEther < MIN_CAP && now < endTime + 15 days)); // If MIN_CAP is not reached donors have 15days to get refund before we can finalise require(multisigEther.send(this.balance)); // Move the remaining Ether to the multisig address uint remains = coin.balanceOf(this); // No burn all of my precisiossss! // if (remains > 0) { // Burn the rest of DARFtokens // require(coin.burn(remains)) ; //} crowdsaleClosed = true; } /* * Failsafe drain */ function drain() onlyOwner { require(owner.send(this.balance)) ; } /** * Allow to change the team multisig address in the case of emergency. */ function setMultisig(address addr) onlyOwner public { require(addr != address(0)) ; multisigEther = addr; } /** * Manually back DARFtoken owner address. */ function backDARFtokenOwner() onlyOwner public { coin.transferOwnership(owner); } /** * Transfer remains to owner in case if impossible to do min BUY */ function getRemainCoins() onlyOwner public { var remains = MAX_CAP - coinSentToEther; uint minCoinsToSell = bonus(MIN_BUY_ETHER.mul(COIN_PER_ETHER) / (1 ether)); require(!(remains > minCoinsToSell)); Backer backer = backers[owner]; coin.transfer(owner, remains); // Transfer DARFtokens right now backer.coinSent = backer.coinSent.add(remains); coinSentToEther = coinSentToEther.add(remains); // Send events LogCoinsEmited(this ,remains); LogReceivedETH(owner, etherReceived); } /* * When MIN_CAP is not reach: * 1) backer call the "approve" function of the DARFtoken token contract with the amount of all DARFtokens they got in order to be refund * 2) backer call the "refund" function of the Crowdsale contract with the same amount of DARFtokens * 3) backer call the "withdrawPayments" function of the Crowdsale contract to get a refund in ETH */ function refund(uint _value) minCapNotReached public { require (_value == backers[msg.sender].coinSent) ; // compare value from backer balance coin.transferFrom(msg.sender, address(this), _value); // get the token back to the crowdsale contract // No burn all of my precisiossss! //require (coin.burn(_value)); // token sent for refund are burnt uint ETHToSend = backers[msg.sender].weiReceived; backers[msg.sender].weiReceived=0; if (ETHToSend > 0) { asyncSend(msg.sender, ETHToSend); // pull payment to get refund in ETH } } } contract ERC20Basic { uint256 public totalSupply; function balanceOf(address who) constant returns (uint256); function transfer(address to, uint256 value) returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } 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) returns (bool) { 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) constant returns (uint256 balance) { return balances[_owner]; } } contract ERC20 is ERC20Basic { function allowance(address owner, address spender) constant returns (uint256); function transferFrom(address from, address to, uint256 value) returns (bool); function approve(address spender, uint256 value) returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } 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) returns (bool) { var _allowance = allowed[_from][msg.sender]; // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met // require (_value <= _allowance); balances[_to] = balances[_to].add(_value); balances[_from] = balances[_from].sub(_value); allowed[_from][msg.sender] = _allowance.sub(_value); Transfer(_from, _to, _value); return true; } /** * @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) returns (bool) { // To change the approve amount you first have to reduce the addresses` // allowance to zero by calling `approve(_spender, 0)` if it is not // already 0 to mitigate the race condition described here: // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 require((_value == 0) || (allowed[msg.sender][_spender] == 0)); 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 specifing the amount of tokens still avaible for the spender. */ function allowance(address _owner, address _spender) constant returns (uint256 remaining) { return allowed[_owner][_spender]; } } contract DARFtoken is StandardToken, Ownable { string public constant name = "DARFtoken"; string public constant symbol = "DAR"; uint public constant decimals = 18; // Constructor function DARFtoken() { totalSupply = 84000000 ether; // to make right number 84 000 000 balances[msg.sender] = totalSupply; // Send all tokens to owner } /** * Burn away the specified amount of DARFtoken tokens */ function burn(uint _value) onlyOwner returns (bool) { balances[msg.sender] = balances[msg.sender].sub(_value); totalSupply = totalSupply.sub(_value); Transfer(msg.sender, 0x0, _value); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"totalPayments","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"coin","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"BIGSELL","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"refund","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"etherReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"withdrawPayments","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"emergencyStop","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MIN_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"release","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"coinSentToEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"drain","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"COIN_PER_ETHER","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"Potential_Investors","outputs":[{"name":"weiReceived","type":"uint256"},{"name":"coinSent","type":"uint256"},{"name":"profitshare","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"backers","outputs":[{"name":"weiReceived","type":"uint256"},{"name":"coinSent","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MIN_BUY_ETHER","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleClosed","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"multisigEther","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MAX_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"getRemainCoins","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"invcoinSentToEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MAX_INVEST_SHARE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"payments","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MIN_INVEST_BUY","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"setMultisig","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"backDARFtokenOwner","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_DARFtokenAddress","type":"address"},{"name":"_to","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"LogReceivedETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"LogCoinsEmited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"share","type":"uint256"}],"name":"LogInvestshare","type":"event"}]
Contract Creation Code
6060604052611324600355341561001557600080fd5b60405160408061153e83398101604052808051919060200180519150505b5b60008054600160a060020a03191633600160a060020a03161790555b60048054600160a060020a03808516600160a060020a03199283161790925560058054928416929091169190911790555b50505b6114ab806100936000396000f300606060405236156101795763ffffffff60e060020a6000350416625b448781146101ba57806311df9995146101df5780631273f6e71461020e578063278ecde11461023357806330adce0e1461024b5780633197cbb6146102705780634bb278f3146102955780636103d70b146102aa57806363a599a4146102bf57806375f12b21146102d457806378e97925146102fb578063801db9cc1461032057806386d1a69f146103455780638da5cb5b1461035a5780638ef26a71146103895780639890220b146103ae5780639b39caef146103c3578063a99bf4fa146103e8578063b85dfb801461042b578063be9a655514610462578063c0d13a6d14610477578063ccb07cef1461049c578063d06c91e4146104c3578063d669e1d4146104f2578063df40503c14610517578063e1f166161461052c578063e28ab33614610551578063e2982c2114610576578063e6d8a47a146105a7578063f2fde38b146105cc578063f3283fba146105ed578063fe332a0c1461060e575b5b60005460a060020a900460ff161561019157600080fd5b6009544210806101a25750600a5442115b156101ac57600080fd5b6101b533610623565b5b5b5b005b34156101c557600080fd5b6101cd6109da565b60405190815260200160405180910390f35b34156101ea57600080fd5b6101f26109e0565b604051600160a060020a03909116815260200160405180910390f35b341561021957600080fd5b6101cd6109ef565b60405190815260200160405180910390f35b341561023e57600080fd5b6101b56004356109fd565b005b341561025657600080fd5b6101cd610b0b565b60405190815260200160405180910390f35b341561027b57600080fd5b6101cd610b11565b60405190815260200160405180910390f35b34156102a057600080fd5b6101b5610b17565b005b34156102b557600080fd5b6101b5610c42565b005b34156102ca57600080fd5b6101b5610cdc565b005b34156102df57600080fd5b6102e7610d1f565b604051901515815260200160405180910390f35b341561030657600080fd5b6101cd610d2f565b60405190815260200160405180910390f35b341561032b57600080fd5b6101cd610d35565b60405190815260200160405180910390f35b341561035057600080fd5b6101b5610d43565b005b341561036557600080fd5b6101f2610d99565b604051600160a060020a03909116815260200160405180910390f35b341561039457600080fd5b6101cd610da8565b60405190815260200160405180910390f35b34156103b957600080fd5b6101b5610dae565b005b34156103ce57600080fd5b6101cd610e06565b60405190815260200160405180910390f35b34156103f357600080fd5b610407600160a060020a0360043516610e0c565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561043657600080fd5b61044a600160a060020a0360043516610e2d565b60405191825260208201526040908101905180910390f35b341561046d57600080fd5b6101b5610e46565b005b341561048257600080fd5b6101cd610e80565b60405190815260200160405180910390f35b34156104a757600080fd5b6102e7610e8c565b604051901515815260200160405180910390f35b34156104ce57600080fd5b6101f2610e95565b604051600160a060020a03909116815260200160405180910390f35b34156104fd57600080fd5b6101cd610ea4565b60405190815260200160405180910390f35b341561052257600080fd5b6101b5610eb3565b005b341561053757600080fd5b6101cd611082565b60405190815260200160405180910390f35b341561055c57600080fd5b6101cd611088565b60405190815260200160405180910390f35b341561058157600080fd5b6101cd600160a060020a036004351661108e565b60405190815260200160405180910390f35b34156105b257600080fd5b6101cd6110a0565b60405190815260200160405180910390f35b34156105d757600080fd5b6101b5600160a060020a03600435166110ad565b005b34156105f857600080fd5b6101b5600160a060020a0360043516611105565b005b341561061957600080fd5b6101b5611162565b005b60008080808067016345785d8a000034101561063e57600080fd5b600554600160a060020a0387811691161415610659576109d2565b61067361066e346101f463ffffffff6111ec16565b61121b565b94506a069e10de76676d08000000610696600754876113d590919063ffffffff16565b11156106a157600080fd5b600160a060020a038087166000908152600c60205260408082206004549097509092169163a9059cbb918991899190516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561071857600080fd5b6102c65a03f1151561072957600080fd5b505050604051805150506001840154610748908663ffffffff6113d516565b6001850155835461075f903463ffffffff6113d516565b8455600554600160a060020a03163480156108fc0290604051600060405180830381858888f1935050505050686c6b935b8bbd40000084600001541115610920576107cb686c6b935b8bbd4000006107bf3461271063ffffffff6111ec16565b9063ffffffff6113ef16565b925033600160a060020a03167f75cc21bdd2668fe85d2ff79914f784189f7a6624974390a24a48cfc3aedcbc278460405190815260200160405180910390a282600354111561092057600160a060020a0386166000908152600d602052604090206001808601549082015584548155600281015490925015156108af57815461087790686c6b935b8bbd400000906107bf9061271063ffffffff6111ec16565b9063ffffffff6113ef16565b60035490915061088d908263ffffffff61140b16565b60035560028201546108a5908263ffffffff6113d516565b6002830155610920565b6003546108c2908463ffffffff61140b16565b60035560028201546108da908463ffffffff6113d516565b60028301819055600160a060020a033316907f75cc21bdd2668fe85d2ff79914f784189f7a6624974390a24a48cfc3aedcbc279060405190815260200160405180910390a25b5b5b600654610935903463ffffffff6113d516565b60065560075461094b908663ffffffff6113d516565b600755600160a060020a0333167ff3c1c7c0eb1328ddc834c4c9e579c06d35f443bf1102b034653624a239c7a40c8660405190815260200160405180910390a27fd1dc370699ae69fb860ed754789a4327413ec1cd379b93f2cbedf449a26b0e8586600654604051600160a060020a03909216825260208201526040908101905180910390a15b505050505050565b60025481565b600454600160a060020a031681565b690a968163f0a57b40000081565b6000600a54421080610a1b575069152d02c7e14af680000060075410155b15610a2557600080fd5b600160a060020a0333166000908152600c60205260409020600101548214610a4c57600080fd5b600454600160a060020a03166323b872dd33308560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610ab857600080fd5b6102c65a03f11515610ac957600080fd5b5050506040518051505050600160a060020a0333166000908152600c6020526040812080549082905590811115610b0457610b043382611422565b5b5b5b5050565b60065481565b600a5481565b6000805433600160a060020a03908116911614610b3357600080fd5b600a54421015610b56576007546a069e10de76676d0800000014610b5657600080fd5b5b69152d02c7e14af6800000600754108015610b785750600a546213c6800142105b15610b8257600080fd5b600554600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610bbb57600080fd5b600454600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c1457600080fd5b6102c65a03f11515610c2557600080fd5b5050506040518051600b805460ff191660011790559150505b5b50565b33600160a060020a038116600090815260016020526040902054801515610c6857600080fd5b600160a060020a0330163181901015610c8057600080fd5b600254610c93908263ffffffff61140b16565b600255600160a060020a0382166000818152600160205260408082209190915582156108fc0290839051600060405180830381858888f193505050501515610b0457fe5b5b5050565b60005433600160a060020a03908116911614610cf757600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b565b60005460a060020a900460ff1681565b60095481565b69152d02c7e14af680000081565b60005433600160a060020a03908116911614610d5e57600080fd5b60005460a060020a900460ff161515610d7657600080fd5b6000805474ff0000000000000000000000000000000000000000191690555b5b5b565b600054600160a060020a031681565b60075481565b60005433600160a060020a03908116911614610dc957600080fd5b600054600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610d1c57600080fd5b5b5b565b6101f481565b600d6020526000908152604090208054600182015460029092015490919083565b600c602052600090815260409020805460019091015482565b60005433600160a060020a03908116911614610e6157600080fd5b60095415610e6e57600080fd5b4260098190556251bd0001600a555b5b565b67016345785d8a000081565b600b5460ff1681565b600554600160a060020a031681565b6a069e10de76676d0800000081565b600080548190819033600160a060020a03908116911614610ed357600080fd5b6007546a069e10de76676d08000000039250610f1a670de0b6b3a7640000610f0b67016345785d8a00006101f463ffffffff6111ec16565b811515610f1457fe5b0461121b565b915081831115610f2957600080fd5b5060008054600160a060020a03908116808352600c6020526040808420600454909493169263a9059cbb9291879190516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610fa057600080fd5b6102c65a03f11515610fb157600080fd5b505050604051805150506001810154610fd0908463ffffffff6113d516565b6001820155600754610fe8908463ffffffff6113d516565b600755600160a060020a0330167ff3c1c7c0eb1328ddc834c4c9e579c06d35f443bf1102b034653624a239c7a40c8460405190815260200160405180910390a26000546006547fd1dc370699ae69fb860ed754789a4327413ec1cd379b93f2cbedf449a26b0e8591600160a060020a031690604051600160a060020a03909216825260208201526040908101905180910390a15b5b505050565b60085481565b60035481565b60016020526000908152604090205481565b686c6b935b8bbd40000081565b60005433600160a060020a039081169116146110c857600080fd5b600160a060020a03811615610c3e576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b60005433600160a060020a0390811691161461112057600080fd5b600160a060020a038116151561113557600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60005433600160a060020a0390811691161461117d57600080fd5b600454600054600160a060020a039182169163f2fde38b911660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b15156111d457600080fd5b6102c65a03f1151561107c57600080fd5b5050505b5b565b6000828202831580611208575082848281151561120557fe5b04145b151561121057fe5b8091505b5092915050565b6000690a968163f0a57b400000821061126357611260611253600361124785600a63ffffffff6113ef16565b9063ffffffff6111ec16565b839063ffffffff6113d516565b91505b600954611279906215180063ffffffff6113d516565b4210156112a8576112a161125383600463ffffffff6113ef16565b839063ffffffff6113d516565b90506113d0565b6009546112be906217bb0063ffffffff6113d516565b4210156112ed576112a161125383600563ffffffff6113ef16565b839063ffffffff6113d516565b90506113d0565b60095461130390621d010063ffffffff6113d516565b421015611343576112a1611253600361124785601463ffffffff6113ef16565b9063ffffffff6111ec16565b839063ffffffff6113d516565b90506113d0565b600954611359906220f58063ffffffff6113d516565b421015611388576112a161125383600a63ffffffff6113ef16565b839063ffffffff6113d516565b90506113d0565b60095461139e906224ea0063ffffffff6113d516565b4210156113cd576112a161125383601463ffffffff6113ef16565b839063ffffffff6113d516565b90506113d0565b50805b919050565b60008282018381101561121057fe5b8091505b5092915050565b60008082848115156113fd57fe5b0490508091505b5092915050565b60008282111561141757fe5b508082035b92915050565b600160a060020a03821660009081526001602052604090205461144b908263ffffffff6113d516565b600160a060020a038316600090815260016020526040902055600254611477908263ffffffff6113d516565b6002555b50505600a165627a7a723058200c37aafdc4930b74fe3c1b16db6d532909a602e071ad9ac533c553561036ee2800290000000000000000000000000339f0a4ebd50da09aa623e1d3e341c5b66851cf000000000000000000000000139031c1b0cccc87daaf7049127391a3a76bad5a
Deployed Bytecode
0x606060405236156101795763ffffffff60e060020a6000350416625b448781146101ba57806311df9995146101df5780631273f6e71461020e578063278ecde11461023357806330adce0e1461024b5780633197cbb6146102705780634bb278f3146102955780636103d70b146102aa57806363a599a4146102bf57806375f12b21146102d457806378e97925146102fb578063801db9cc1461032057806386d1a69f146103455780638da5cb5b1461035a5780638ef26a71146103895780639890220b146103ae5780639b39caef146103c3578063a99bf4fa146103e8578063b85dfb801461042b578063be9a655514610462578063c0d13a6d14610477578063ccb07cef1461049c578063d06c91e4146104c3578063d669e1d4146104f2578063df40503c14610517578063e1f166161461052c578063e28ab33614610551578063e2982c2114610576578063e6d8a47a146105a7578063f2fde38b146105cc578063f3283fba146105ed578063fe332a0c1461060e575b5b60005460a060020a900460ff161561019157600080fd5b6009544210806101a25750600a5442115b156101ac57600080fd5b6101b533610623565b5b5b5b005b34156101c557600080fd5b6101cd6109da565b60405190815260200160405180910390f35b34156101ea57600080fd5b6101f26109e0565b604051600160a060020a03909116815260200160405180910390f35b341561021957600080fd5b6101cd6109ef565b60405190815260200160405180910390f35b341561023e57600080fd5b6101b56004356109fd565b005b341561025657600080fd5b6101cd610b0b565b60405190815260200160405180910390f35b341561027b57600080fd5b6101cd610b11565b60405190815260200160405180910390f35b34156102a057600080fd5b6101b5610b17565b005b34156102b557600080fd5b6101b5610c42565b005b34156102ca57600080fd5b6101b5610cdc565b005b34156102df57600080fd5b6102e7610d1f565b604051901515815260200160405180910390f35b341561030657600080fd5b6101cd610d2f565b60405190815260200160405180910390f35b341561032b57600080fd5b6101cd610d35565b60405190815260200160405180910390f35b341561035057600080fd5b6101b5610d43565b005b341561036557600080fd5b6101f2610d99565b604051600160a060020a03909116815260200160405180910390f35b341561039457600080fd5b6101cd610da8565b60405190815260200160405180910390f35b34156103b957600080fd5b6101b5610dae565b005b34156103ce57600080fd5b6101cd610e06565b60405190815260200160405180910390f35b34156103f357600080fd5b610407600160a060020a0360043516610e0c565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561043657600080fd5b61044a600160a060020a0360043516610e2d565b60405191825260208201526040908101905180910390f35b341561046d57600080fd5b6101b5610e46565b005b341561048257600080fd5b6101cd610e80565b60405190815260200160405180910390f35b34156104a757600080fd5b6102e7610e8c565b604051901515815260200160405180910390f35b34156104ce57600080fd5b6101f2610e95565b604051600160a060020a03909116815260200160405180910390f35b34156104fd57600080fd5b6101cd610ea4565b60405190815260200160405180910390f35b341561052257600080fd5b6101b5610eb3565b005b341561053757600080fd5b6101cd611082565b60405190815260200160405180910390f35b341561055c57600080fd5b6101cd611088565b60405190815260200160405180910390f35b341561058157600080fd5b6101cd600160a060020a036004351661108e565b60405190815260200160405180910390f35b34156105b257600080fd5b6101cd6110a0565b60405190815260200160405180910390f35b34156105d757600080fd5b6101b5600160a060020a03600435166110ad565b005b34156105f857600080fd5b6101b5600160a060020a0360043516611105565b005b341561061957600080fd5b6101b5611162565b005b60008080808067016345785d8a000034101561063e57600080fd5b600554600160a060020a0387811691161415610659576109d2565b61067361066e346101f463ffffffff6111ec16565b61121b565b94506a069e10de76676d08000000610696600754876113d590919063ffffffff16565b11156106a157600080fd5b600160a060020a038087166000908152600c60205260408082206004549097509092169163a9059cbb918991899190516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561071857600080fd5b6102c65a03f1151561072957600080fd5b505050604051805150506001840154610748908663ffffffff6113d516565b6001850155835461075f903463ffffffff6113d516565b8455600554600160a060020a03163480156108fc0290604051600060405180830381858888f1935050505050686c6b935b8bbd40000084600001541115610920576107cb686c6b935b8bbd4000006107bf3461271063ffffffff6111ec16565b9063ffffffff6113ef16565b925033600160a060020a03167f75cc21bdd2668fe85d2ff79914f784189f7a6624974390a24a48cfc3aedcbc278460405190815260200160405180910390a282600354111561092057600160a060020a0386166000908152600d602052604090206001808601549082015584548155600281015490925015156108af57815461087790686c6b935b8bbd400000906107bf9061271063ffffffff6111ec16565b9063ffffffff6113ef16565b60035490915061088d908263ffffffff61140b16565b60035560028201546108a5908263ffffffff6113d516565b6002830155610920565b6003546108c2908463ffffffff61140b16565b60035560028201546108da908463ffffffff6113d516565b60028301819055600160a060020a033316907f75cc21bdd2668fe85d2ff79914f784189f7a6624974390a24a48cfc3aedcbc279060405190815260200160405180910390a25b5b5b600654610935903463ffffffff6113d516565b60065560075461094b908663ffffffff6113d516565b600755600160a060020a0333167ff3c1c7c0eb1328ddc834c4c9e579c06d35f443bf1102b034653624a239c7a40c8660405190815260200160405180910390a27fd1dc370699ae69fb860ed754789a4327413ec1cd379b93f2cbedf449a26b0e8586600654604051600160a060020a03909216825260208201526040908101905180910390a15b505050505050565b60025481565b600454600160a060020a031681565b690a968163f0a57b40000081565b6000600a54421080610a1b575069152d02c7e14af680000060075410155b15610a2557600080fd5b600160a060020a0333166000908152600c60205260409020600101548214610a4c57600080fd5b600454600160a060020a03166323b872dd33308560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610ab857600080fd5b6102c65a03f11515610ac957600080fd5b5050506040518051505050600160a060020a0333166000908152600c6020526040812080549082905590811115610b0457610b043382611422565b5b5b5b5050565b60065481565b600a5481565b6000805433600160a060020a03908116911614610b3357600080fd5b600a54421015610b56576007546a069e10de76676d0800000014610b5657600080fd5b5b69152d02c7e14af6800000600754108015610b785750600a546213c6800142105b15610b8257600080fd5b600554600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610bbb57600080fd5b600454600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c1457600080fd5b6102c65a03f11515610c2557600080fd5b5050506040518051600b805460ff191660011790559150505b5b50565b33600160a060020a038116600090815260016020526040902054801515610c6857600080fd5b600160a060020a0330163181901015610c8057600080fd5b600254610c93908263ffffffff61140b16565b600255600160a060020a0382166000818152600160205260408082209190915582156108fc0290839051600060405180830381858888f193505050501515610b0457fe5b5b5050565b60005433600160a060020a03908116911614610cf757600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b565b60005460a060020a900460ff1681565b60095481565b69152d02c7e14af680000081565b60005433600160a060020a03908116911614610d5e57600080fd5b60005460a060020a900460ff161515610d7657600080fd5b6000805474ff0000000000000000000000000000000000000000191690555b5b5b565b600054600160a060020a031681565b60075481565b60005433600160a060020a03908116911614610dc957600080fd5b600054600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610d1c57600080fd5b5b5b565b6101f481565b600d6020526000908152604090208054600182015460029092015490919083565b600c602052600090815260409020805460019091015482565b60005433600160a060020a03908116911614610e6157600080fd5b60095415610e6e57600080fd5b4260098190556251bd0001600a555b5b565b67016345785d8a000081565b600b5460ff1681565b600554600160a060020a031681565b6a069e10de76676d0800000081565b600080548190819033600160a060020a03908116911614610ed357600080fd5b6007546a069e10de76676d08000000039250610f1a670de0b6b3a7640000610f0b67016345785d8a00006101f463ffffffff6111ec16565b811515610f1457fe5b0461121b565b915081831115610f2957600080fd5b5060008054600160a060020a03908116808352600c6020526040808420600454909493169263a9059cbb9291879190516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610fa057600080fd5b6102c65a03f11515610fb157600080fd5b505050604051805150506001810154610fd0908463ffffffff6113d516565b6001820155600754610fe8908463ffffffff6113d516565b600755600160a060020a0330167ff3c1c7c0eb1328ddc834c4c9e579c06d35f443bf1102b034653624a239c7a40c8460405190815260200160405180910390a26000546006547fd1dc370699ae69fb860ed754789a4327413ec1cd379b93f2cbedf449a26b0e8591600160a060020a031690604051600160a060020a03909216825260208201526040908101905180910390a15b5b505050565b60085481565b60035481565b60016020526000908152604090205481565b686c6b935b8bbd40000081565b60005433600160a060020a039081169116146110c857600080fd5b600160a060020a03811615610c3e576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b60005433600160a060020a0390811691161461112057600080fd5b600160a060020a038116151561113557600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60005433600160a060020a0390811691161461117d57600080fd5b600454600054600160a060020a039182169163f2fde38b911660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b15156111d457600080fd5b6102c65a03f1151561107c57600080fd5b5050505b5b565b6000828202831580611208575082848281151561120557fe5b04145b151561121057fe5b8091505b5092915050565b6000690a968163f0a57b400000821061126357611260611253600361124785600a63ffffffff6113ef16565b9063ffffffff6111ec16565b839063ffffffff6113d516565b91505b600954611279906215180063ffffffff6113d516565b4210156112a8576112a161125383600463ffffffff6113ef16565b839063ffffffff6113d516565b90506113d0565b6009546112be906217bb0063ffffffff6113d516565b4210156112ed576112a161125383600563ffffffff6113ef16565b839063ffffffff6113d516565b90506113d0565b60095461130390621d010063ffffffff6113d516565b421015611343576112a1611253600361124785601463ffffffff6113ef16565b9063ffffffff6111ec16565b839063ffffffff6113d516565b90506113d0565b600954611359906220f58063ffffffff6113d516565b421015611388576112a161125383600a63ffffffff6113ef16565b839063ffffffff6113d516565b90506113d0565b60095461139e906224ea0063ffffffff6113d516565b4210156113cd576112a161125383601463ffffffff6113ef16565b839063ffffffff6113d516565b90506113d0565b50805b919050565b60008282018381101561121057fe5b8091505b5092915050565b60008082848115156113fd57fe5b0490508091505b5092915050565b60008282111561141757fe5b508082035b92915050565b600160a060020a03821660009081526001602052604090205461144b908263ffffffff6113d516565b600160a060020a038316600090815260016020526040902055600254611477908263ffffffff6113d516565b6002555b50505600a165627a7a723058200c37aafdc4930b74fe3c1b16db6d532909a602e071ad9ac533c553561036ee280029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000339f0a4ebd50da09aa623e1d3e341c5b66851cf000000000000000000000000139031c1b0cccc87daaf7049127391a3a76bad5a
-----Decoded View---------------
Arg [0] : _DARFtokenAddress (address): 0x0339F0A4eBd50Da09Aa623e1d3E341C5b66851CF
Arg [1] : _to (address): 0x139031C1b0ccCc87DaAF7049127391A3a76bAd5A
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000339f0a4ebd50da09aa623e1d3e341c5b66851cf
Arg [1] : 000000000000000000000000139031c1b0cccc87daaf7049127391a3a76bad5a
Swarm Source
bzzr://0c37aafdc4930b74fe3c1b16db6d532909a602e071ad9ac533c553561036ee28
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.