Overview
ETH Balance
1 ETH
Eth Value
$3,425.63 (@ $3,425.63/ETH)Token Holdings
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 3,833 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Reverse | 6599271 | 2218 days ago | IN | 0 ETH | 0.00009042 | ||||
Transfer | 6592670 | 2219 days ago | IN | 0 ETH | 0.00007221 | ||||
Transfer | 6592661 | 2219 days ago | IN | 0 ETH | 0.0000349 | ||||
Transfer | 6545815 | 2227 days ago | IN | 0.1 ETH | 0.00044308 | ||||
Transfer | 6545788 | 2227 days ago | IN | 0.1 ETH | 0.00044308 | ||||
Transfer | 6545736 | 2227 days ago | IN | 0.1 ETH | 0.00044308 | ||||
Transfer | 6540802 | 2228 days ago | IN | 0 ETH | 0.00001055 | ||||
Transfer | 6522228 | 2231 days ago | IN | 0.05 ETH | 0.00012714 | ||||
Transfer | 6512255 | 2232 days ago | IN | 0 ETH | 0.00002119 | ||||
Reverse | 6504929 | 2233 days ago | IN | 0 ETH | 0.00011128 | ||||
Reverse | 6504929 | 2233 days ago | IN | 0 ETH | 0.00010112 | ||||
Reverse | 6504929 | 2233 days ago | IN | 0 ETH | 0.00011128 | ||||
Reverse | 6504929 | 2233 days ago | IN | 0 ETH | 0.00011128 | ||||
Reverse | 6504929 | 2233 days ago | IN | 0 ETH | 0.00011116 | ||||
Reverse | 6504929 | 2233 days ago | IN | 0 ETH | 0.00011128 | ||||
Reverse | 6504929 | 2233 days ago | IN | 0 ETH | 0.00011128 | ||||
Reverse | 6504917 | 2233 days ago | IN | 0 ETH | 0.00011128 | ||||
Reverse | 6504917 | 2233 days ago | IN | 0 ETH | 0.00011128 | ||||
Reverse | 6504917 | 2233 days ago | IN | 0 ETH | 0.00011128 | ||||
Reverse | 6504915 | 2233 days ago | IN | 0 ETH | 0.00011128 | ||||
Reverse | 6504914 | 2233 days ago | IN | 0 ETH | 0.00011128 | ||||
Reverse | 6504911 | 2233 days ago | IN | 0 ETH | 0.00011128 | ||||
Reverse | 6504909 | 2233 days ago | IN | 0 ETH | 0.00011128 | ||||
Reverse | 6504906 | 2233 days ago | IN | 0 ETH | 0.00011128 | ||||
Reverse | 6504906 | 2233 days ago | IN | 0 ETH | 0.00011128 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
6599271 | 2218 days ago | 0.4 ETH | ||||
6504929 | 2233 days ago | 0.32 ETH | ||||
6504929 | 2233 days ago | 0.1 ETH | ||||
6504929 | 2233 days ago | 0.1 ETH | ||||
6504929 | 2233 days ago | 0.10481343 ETH | ||||
6504929 | 2233 days ago | 0.5 ETH | ||||
6504929 | 2233 days ago | 0.1 ETH | ||||
6504917 | 2233 days ago | 0.63 ETH | ||||
6504917 | 2233 days ago | 0.1 ETH | ||||
6504917 | 2233 days ago | 0.15 ETH | ||||
6504915 | 2233 days ago | 0.1 ETH | ||||
6504914 | 2233 days ago | 0.2 ETH | ||||
6504911 | 2233 days ago | 1.55327118 ETH | ||||
6504909 | 2233 days ago | 1.24 ETH | ||||
6504906 | 2233 days ago | 0.102 ETH | ||||
6504906 | 2233 days ago | 5 ETH | ||||
6504904 | 2233 days ago | 0.2 ETH | ||||
6504904 | 2233 days ago | 0.1704998 ETH | ||||
6504900 | 2233 days ago | 0.1 ETH | ||||
6504896 | 2233 days ago | 0.13 ETH | ||||
6504896 | 2233 days ago | 0.1 ETH | ||||
6504894 | 2233 days ago | 0.2 ETH | ||||
6504894 | 2233 days ago | 2.1 ETH | ||||
6504894 | 2233 days ago | 0.1 ETH | ||||
6504892 | 2233 days ago | 0.2 ETH |
Loading...
Loading
Contract Name:
Sale
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-07-25 */ /* The Sale contract manages a token sale. The Sale contract primarily does the following: - allows individuals to buy tokens during a token sale - allows individuals to claim the tokens after a successful token sale - allows individuals to receive an ETH refund after a cancelled token sale - allows an admin to cancel a token sale, after which individuals can request refunds - allows an admin to certify a token sale, after which an admin can withdraw contributed ETH - allows an admin to complete a token sale, after which an individual (following a brief release period) can request their tokens - allows an admin to return contributed ETH to individuals - allows an admin to grant tokens to an individual - allows an admin to withdraw ETH from the token sale - allows an admin to add and remove individuals from a whitelist - allows an admin to pause or activate the token sale The sale runs from a start timestamp to a finish timestamp. After the release timestamp (assuming a successful sale), individuals can claim their tokens. If the sale is cancelled, individuals can request a refund. Furthermore, an admin may return ETH and negate purchases to respective individuals as deemed necessary. Once the sale is certified or completed, ETH can be withdrawn by the company. The contract creator appoints a delegate to perform most administrative tasks. All events are logged for the purpose of transparency. All math uses SafeMath. ETH and tokens (often referred to as "value" and "tokens" in variable names) are really 1/10^18 of their respective parent units. Basically, the values represent wei and the token equivalent thereof. */ pragma solidity ^0.4.18; contract SafeMath { function safeMul(uint a, uint b) internal returns (uint) { uint c = a * b; assert(a == 0 || c / a == b); return c; } function safeDiv(uint a, uint b) internal returns (uint) { assert(b > 0); uint c = a / b; assert(a == b * c + a % b); return c; } function safeSub(uint a, uint b) internal returns (uint) { assert(b <= a); return a - b; } function safeAdd(uint a, uint b) internal returns (uint) { uint c = a + b; assert(c>=a && c>=b); return c; } } contract SaleCallbackInterface { function handleSaleCompletionCallback(uint256 _tokens) external payable returns (bool); function handleSaleClaimCallback(address _recipient, uint256 _tokens) external returns (bool); } contract Sale is SafeMath { address public creator; // address of the contract's creator address public delegate; // address of an entity allowed to perform administrative functions on behalf of the creator address public marketplace; // address of another smart contract that manages the token and Smart Exchange uint256 public start; // timestamp that the sale begins uint256 public finish; // timestamp that the sale ends uint256 public release; // timestamp that sale participants may "claim" their tokens (will be after the finish) uint256 public pricer; // a multiplier (>= 1) used to determine how many tokens (or, really, 10^18 sub-units of that token) to give purchasers uint256 public size; // maximum number of 10^18 sub-units of tokens that can be purchased/granted during the sale bool public restricted; // whether purchasers and recipients of tokens must be whitelisted manually prior to participating in the sale bool public active; // whether individuals are allowed to purchase tokens -- if false, they cannot. if true, they can or cannot. // other factors, like start/finish, size, and others can restrict participation as well, even if active = true. // this also can remain true indefinitely, even if the token sale has been cancelled or has completed. int8 public progress; // -1 = token sale cancelled, 0 = token sale ongoing, 1 = token sale certified (can withdraw ETH while sale is live), 2 = token sale completed uint256 public tokens; // number of sub-tokens that have been purchased/granted during the sale. purchases/grants can be reversed while progress = 0 || progress = 1 resulting in tokens going down uint256 public value; // number of sub-ether (wei) that have been contributed during the sale. purchases can be resversed while progress = 0 || progress = 1 resulting in value going down uint256 public withdrawls; // the number of sub-ether (wei) that have been withdrawn by the contract owner uint256 public reserves; // the number of sub-ether (wei) that have been sent to serve as reserve in the marketplace mapping(address => bool) public participants; // mapping to record who has participated in the sale (purchased/granted) address[] public participantIndex; // index of participants mapping(address => uint256) public participantTokens; // sub-tokens purchased/granted to each participant mapping(address => uint256) public participantValues; // sub-ether contributed by each participant mapping(address => bool) public participantRefunds; // mapping to record who has been awarded a refund after a cancelled sale mapping(address => bool) public participantClaims; // mapping to record who has claimed their tokens after a completed sale mapping(address => bool) public whitelist; // mapping to record who has been approved to participate in a "restricted" sale uint256[] public bonuses; // stores bonus percentages, where even numbered elements store timestamps and odd numbered elements store bonus percentages bool public mutable; // whether certain properties (like finish and release) of the sale can be updated to increase the liklihood of a successful token sale for all parties involved modifier ifCreator { require(msg.sender == creator); _; } // if the caller created the contract... modifier ifDelegate { require(msg.sender == delegate); _; } // if the caller is currently the appointed delegate... modifier ifMutable { require(mutable); _; } // if the certain properties of the sale can be changed.... event Created(); // the contract was created event Bought(address indexed _buyer, address indexed _recipient, uint256 _tokens, uint256 _value); // an individual bought tokens event Claimed(address indexed _recipient, uint256 _tokens); // an individual claimed tokens after the completion of the sale and after tokens were scheduled for release event Refunded(address indexed _recipient, uint256 _value); // an individual requested a refund of the ETH they contributed after a cancelled token sale event Reversed(address indexed _recipient, uint256 _tokens, uint256 _value); // an individual was sent the ETH they contributed to the sale and will not receive tokens event Granted(address indexed _recipient, uint256 _tokens); // an individual was granted tokens, without contributing ETH event Withdrew(address _recipient, uint256 _value); // the contract creator withdrew ETH from the token sale event Completed(uint256 _tokens, uint256 _value, uint256 _reserves); // the contract creator signaled that the sale completed successfuly event Certified(uint256 _tokens, uint256 _value); // the contract creator certified the sale event Cancelled(uint256 _tokens, uint256 _value); // the contract creator cancelled the sale event Listed(address _participant); // an individual was added to the whitelist event Delisted(address _participant); // an individual was removed from the whitelist event Paused(); // the sale was paused (active = false) event Activated(); // the sale was activated (active = true) function Sale() { creator = msg.sender; delegate = msg.sender; start = 1; // contributions may be made as soon as the contract is published finish = 1535760000; // the sale continues through 09/01/2018 @ 00:00:00 release = 1536969600; // tokens will be available to participants starting 09/15/2018 @ 00:00:00 pricer = 100000; // each ETH is worth 100,000 tokens size = 10 ** 18 * pricer * 2000 * 2; // 2,000 ETH, plus a 100% buffer to account for the possibility of a 50% decrease in ETH value during the sale restricted = false; // the sale accepts contributions from everyone. // however, participants who do not submit formal KYC verification before the end of the token sale will have their contributions reverted bonuses = [1, 20]; // the bonus during the pre-sale starts at 20% mutable = true; // certain attributes, such as token sale finish and release dates, may be updated to increase the liklihood of a successful token sale for all parties involved active = true; // the token sale is active from the point the contract is published in the form of a pre-sale Created(); Activated(); } // returns the number of sub-tokens the calling account purchased/was granted function getMyTokenBalance() external constant returns (uint256) { return participantTokens[msg.sender]; } // allows an individual to buy tokens (which will not be issued immediately) // individual instructs the tokens to be delivered to a specific account, which may be different than msg.sender function buy(address _recipient) public payable { // _recipient address must not be all 0's require(_recipient != address(0x0)); // contributor must send more than 1/10 ETH require(msg.value >= 10 ** 17); // sale must be considered active require(active); // sale must be ongoing or certified require(progress == 0 || progress == 1); // current timestamp must be greater than or equal to the start of the token sale require(block.timestamp >= start); // current timestamp must be less than the end of the token sale require(block.timestamp < finish); // either the token sale isn't restricted, or the sender is on the whitelist require((! restricted) || whitelist[msg.sender]); // either the token sale isn't restricted, or the recipient is on the whitelist require((! restricted) || whitelist[_recipient]); // multiply sub-ether by the pricer (which will be a whole number >= 1) to get sub-tokens uint256 baseTokens = safeMul(msg.value, pricer); // determine how many bonus sub-tokens to award and add that to the base tokens uint256 totalTokens = safeAdd(baseTokens, safeDiv(safeMul(baseTokens, getBonusPercentage()), 100)); // ensure the purchase does not cause the sale to exceed its maximum size require(safeAdd(tokens, totalTokens) <= size); // if the recipient is new, add them as a participant if (! participants[_recipient]) { participants[_recipient] = true; participantIndex.push(_recipient); } // increment the participant's sub-tokens and sub-ether participantTokens[_recipient] = safeAdd(participantTokens[_recipient], totalTokens); participantValues[_recipient] = safeAdd(participantValues[_recipient], msg.value); // increment sale sub-tokens and sub-ether tokens = safeAdd(tokens, totalTokens); value = safeAdd(value, msg.value); // log purchase event Bought(msg.sender, _recipient, totalTokens, msg.value); } // token sale participants call this to claim their tokens after the sale is completed and tokens are scheduled for release function claim() external { // sale must be completed require(progress == 2); // tokens must be scheduled for release require(block.timestamp >= release); // participant must have tokens to claim require(participantTokens[msg.sender] > 0); // participant must not have already claimed tokens require(! participantClaims[msg.sender]); // record that the participant claimed their tokens participantClaims[msg.sender] = true; // log the event Claimed(msg.sender, participantTokens[msg.sender]); // call the marketplace contract, which will actually issue the tokens to the participant SaleCallbackInterface(marketplace).handleSaleClaimCallback(msg.sender, participantTokens[msg.sender]); } // token sale participants call this to request a refund if the sale was cancelled function refund() external { // the sale must be cancelled require(progress == -1); // the participant must have contributed ETH require(participantValues[msg.sender] > 0); // the participant must not have already requested a refund require(! participantRefunds[msg.sender]); // record that the participant requested a refund participantRefunds[msg.sender] = true; // log the event Refunded(msg.sender, participantValues[msg.sender]); // transfer contributed ETH back to the participant address(msg.sender).transfer(participantValues[msg.sender]); } // the contract creator calls this to withdraw contributed ETH to a specific address function withdraw(uint256 _sanity, address _recipient, uint256 _value) ifCreator external { // avoid unintended transaction calls require(_sanity == 100010001); // address must not be 0-value require(_recipient != address(0x0)); // token sale must be certified or completed require(progress == 1 || progress == 2); // the amount of ETH in the contract must be greater than the amount the creator is attempting to withdraw require(this.balance >= _value); // increment the amount that's been withdrawn withdrawls = safeAdd(withdrawls, _value); // log the withdrawl Withdrew(_recipient, _value); // send the ETH to the recipient address(_recipient).transfer(_value); } // the contract owner calls this to complete (finalize/wrap up, etc.) the sale function complete(uint256 _sanity, uint256 _value) ifCreator external { // avoid unintended transaction calls require(_sanity == 101010101); // the sale must be marked as ongoing or certified (aka, not cancelled -1) require(progress == 0 || progress == 1); // the sale can only be completed after the finish time require(block.timestamp >= finish); // ETH is withdrawn in the process and sent to the marketplace contract. ensure the amount that is being withdrawn is greater than the balance in the smart contract. require(this.balance >= _value); // mark the sale as completed progress = 2; // the amount that is sent to the other contract is added to the ETH reserve. denote this amount as reserves. reserves = safeAdd(reserves, _value); // log the completion of the sale, including the number of sub-tokens created by the sale, the amount of net sub-eth received during the sale, and the amount of sub-eth to be added to the reserve Completed(tokens, value, _value); // call the marketplace contract, sending the ETH for the reserve and including the number of sub-tokens SaleCallbackInterface(marketplace).handleSaleCompletionCallback.value(_value)(tokens); } // the creator can certify a sale, meaning it cannot be cancelled, and ETH can be withdrawn from the sale by the creator function certify(uint256 _sanity) ifCreator external { // avoid unintended transaction calls require(_sanity == 101011111); // the sale must be ongoing require(progress == 0); // the sale must have started require(block.timestamp >= start); // record that the sale is certified progress = 1; // log the certification Certified(tokens, value); } // the creator can cancel a sale function cancel(uint256 _sanity) ifCreator external { // avoid unintended transaction calls require(_sanity == 111110101); // the sale must be ongoing require(progress == 0); // record that the sale is cancelled progress = -1; // log the cancellation Cancelled(tokens, value); } // called by the delegate to reverse purchases/grants for a particular contributor function reverse(address _recipient) ifDelegate external { // the recipient address must not be all 0's require(_recipient != address(0x0)); // the sale must be ongoing or certified require(progress == 0 || progress == 1); // the recipient must have contributed ETH and/or received tokens require(participantTokens[_recipient] > 0 || participantValues[_recipient] > 0); uint256 initialParticipantTokens = participantTokens[_recipient]; uint256 initialParticipantValue = participantValues[_recipient]; // subtract sub-tokens and sub-ether from sale totals tokens = safeSub(tokens, initialParticipantTokens); value = safeSub(value, initialParticipantValue); // reset participant sub-tokens and sub-ether participantTokens[_recipient] = 0; participantValues[_recipient] = 0; // log the reversal, including the initial sub-tokens and initial sub-ether Reversed(_recipient, initialParticipantTokens, initialParticipantValue); // if the participant previously sent ETH, return it if (initialParticipantValue > 0) { address(_recipient).transfer(initialParticipantValue); } } // called by the delegate to grant tokens to a recipient function grant(address _recipient, uint256 _tokens) ifDelegate external { // the recipient's address cannot be 0-value require(_recipient != address(0x0)); // the sale must be ongoing or certified require(progress == 0 || progress == 1); // if the recipient has not participated previously, add them as a participant if (! participants[_recipient]) { participants[_recipient] = true; participantIndex.push(_recipient); } // add sub-tokens to the recipient's balance participantTokens[_recipient] = safeAdd(participantTokens[_recipient], _tokens); // add sub-tokens to the sale's total tokens = safeAdd(tokens, _tokens); // log the grant Granted(_recipient, _tokens); } // adds a set of addresses to the whitelist function list(address[] _addresses) ifDelegate external { for (uint256 i = 0; i < _addresses.length; i++) { whitelist[_addresses[i]] = true; Listed(_addresses[i]); } } // removes a set of addresses from the whitelist function delist(address[] _addresses) ifDelegate external { for (uint256 i = 0; i < _addresses.length; i++) { whitelist[_addresses[i]] = false; Delisted(_addresses[i]); } } // pause the sale function pause() ifDelegate external { active = false; Paused(); } // activate the sale function activate() ifDelegate external { active = true; Activated(); } function setDelegate(address _delegate) ifCreator external { delegate = _delegate; } function setRestricted(bool _restricted) ifDelegate external { restricted = _restricted; } function setMarketplace(address _marketplace) ifCreator ifMutable external { marketplace = _marketplace; } function setBonuses(uint256[] _bonuses) ifDelegate ifMutable external { bonuses = _bonuses; } function setFinish(uint256 _finish) ifDelegate ifMutable external { finish = _finish; } function setRelease(uint256 _release) ifDelegate ifMutable external { release = _release; } // get the current bonus percentage, as a whole number function getBonusPercentage() public constant returns (uint256) { uint256 finalBonus; uint256 iterativeTimestamp; uint256 iterativeBonus; // within bonuses, even numbered elements store timestamps and odd numbered elements store bonus percentages // timestamps are in order from oldest to newest // iterates over the elements and if the timestamp has been surpassed, the bonus percentage is denoted // the last bonus percentage that was denoted, if one was denoted at all, is the correct bonus percentage at this time for (uint256 i = 0; i < bonuses.length; i++) { if (i % 2 == 0) { iterativeTimestamp = bonuses[i]; } else { iterativeBonus = bonuses[i]; if (block.timestamp >= iterativeTimestamp) { finalBonus = iterativeBonus; } } } return finalBonus; } function() public payable { buy(msg.sender); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"}],"name":"list","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"creator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"active","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"participants","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"participantClaims","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"activate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_restricted","type":"bool"}],"name":"setRestricted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_finish","type":"uint256"}],"name":"setFinish","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"}],"name":"delist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_bonuses","type":"uint256[]"}],"name":"setBonuses","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"value","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sanity","type":"uint256"}],"name":"cancel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"progress","outputs":[{"name":"","type":"int8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"grant","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"restricted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_marketplace","type":"address"}],"name":"setMarketplace","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"reserves","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBonusPercentage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"release","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"participantValues","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"size","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"participantIndex","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"participantRefunds","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mutable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pricer","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMyTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"bonuses","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"marketplace","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"start","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sanity","type":"uint256"}],"name":"certify","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"delegate","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_delegate","type":"address"}],"name":"setDelegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"participantTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_release","type":"uint256"}],"name":"setRelease","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"finish","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sanity","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"complete","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"}],"name":"reverse","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_sanity","type":"uint256"},{"name":"_recipient","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"}],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"withdrawls","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[],"name":"Created","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_buyer","type":"address"},{"indexed":true,"name":"_recipient","type":"address"},{"indexed":false,"name":"_tokens","type":"uint256"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Bought","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_recipient","type":"address"},{"indexed":false,"name":"_tokens","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_recipient","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_recipient","type":"address"},{"indexed":false,"name":"_tokens","type":"uint256"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Reversed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_recipient","type":"address"},{"indexed":false,"name":"_tokens","type":"uint256"}],"name":"Granted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_recipient","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Withdrew","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_tokens","type":"uint256"},{"indexed":false,"name":"_value","type":"uint256"},{"indexed":false,"name":"_reserves","type":"uint256"}],"name":"Completed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_tokens","type":"uint256"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Certified","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_tokens","type":"uint256"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Cancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_participant","type":"address"}],"name":"Listed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_participant","type":"address"}],"name":"Delisted","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[],"name":"Activated","type":"event"}]
Contract Creation Code
606060405234156200001057600080fd5b60008054600160a060020a033316600160a060020a03199182168117909255600180549091169091178155600355635b89d680600455635b9c4b80600555620186a06006556b014adf4b7320334b900000006007556008805460ff191690556040805190810160405260018152601460208201819052620000939160026200010e565b506015805460ff191660011790556008805461ff0019166101001790557f9adeddf84386b336eb7b3e18e7a6099be08fd81ea5d5142f4d2b630f8d20cf0160405160405180910390a17fed1cd0670ee0c0017f550451a038818c696d0b6a9d6ce5b369e44275573cf9b060405160405180910390a162000183565b82805482825590600052602060002090810192821562000151579160200282015b8281111562000151578251829060ff169055916020019190600101906200012f565b506200015f92915062000163565b5090565b6200018091905b808211156200015f57600081556001016200016a565b90565b61196b80620001936000396000f30060606040526004361061020b5763ffffffff60e060020a6000350416630266ba02811461021657806302d05d3f1461023457806302fb0c5e1461026357806309e69ede1461028a5780630c2a215d146102a95780630f15f4c0146102c857806324daddc5146102db5780632f558ba0146102f357806332cd04871461030957806334bf97ea146103275780633fa4f2451461034557806340e58ee51461036a5780634e71d92d14610380578063577bd33614610393578063590e1ae3146103bf5780636370920e146103d25780637072c6b1146103f457806373ad6c2d1461040757806375172a8b146104265780638222b7e9146104395780638456cb591461044c57806386d1a69f1461045f5780639239d64514610472578063949d225d1461049157806395c3be0b146104a45780639b19251a146104ba5780639d63848a146104d9578063a4e214f9146104ec578063a5536fe71461050b578063a6138ed91461051e578063a6b3abba14610531578063ab37564114610544578063abc8c7af1461055a578063be9a65551461056d578063c6634ef514610580578063c89e436114610596578063ca5eb5e1146105a9578063cbe3b20f146105c8578063cfa4f3e8146105e7578063d56b2889146105fd578063d6380f3714610610578063e30bd74014610629578063e63697c814610648578063f088d5471461066d578063f357622014610681575b61021433610694565b005b341561022157600080fd5b6102146004803560248101910135610947565b341561023f57600080fd5b610247610a19565b604051600160a060020a03909116815260200160405180910390f35b341561026e57600080fd5b610276610a28565b604051901515815260200160405180910390f35b341561029557600080fd5b610276600160a060020a0360043516610a36565b34156102b457600080fd5b610276600160a060020a0360043516610a4b565b34156102d357600080fd5b610214610a60565b34156102e657600080fd5b6102146004351515610ab8565b34156102fe57600080fd5b610214600435610ae6565b341561031457600080fd5b6102146004803560248101910135610b17565b341561033257600080fd5b6102146004803560248101910135610be3565b341561035057600080fd5b610358610c1b565b60405190815260200160405180910390f35b341561037557600080fd5b610214600435610c21565b341561038b57600080fd5b610214610cba565b341561039e57600080fd5b6103a6610e20565b604051600091820b90910b815260200160405180910390f35b34156103ca57600080fd5b610214610e2f565b34156103dd57600080fd5b610214600160a060020a0360043516602435610f38565b34156103ff57600080fd5b6102766110b8565b341561041257600080fd5b610214600160a060020a03600435166110c1565b341561043157600080fd5b61035861111c565b341561044457600080fd5b610358611122565b341561045757600080fd5b610214611198565b341561046a57600080fd5b6103586111ec565b341561047d57600080fd5b610358600160a060020a03600435166111f2565b341561049c57600080fd5b610358611204565b34156104af57600080fd5b61024760043561120a565b34156104c557600080fd5b610276600160a060020a0360043516611232565b34156104e457600080fd5b610358611247565b34156104f757600080fd5b610276600160a060020a036004351661124d565b341561051657600080fd5b610276611262565b341561052957600080fd5b61035861126b565b341561053c57600080fd5b610358611271565b341561054f57600080fd5b61035860043561128e565b341561056557600080fd5b6102476112ad565b341561057857600080fd5b6103586112bc565b341561058b57600080fd5b6102146004356112c2565b34156105a157600080fd5b61024761136a565b34156105b457600080fd5b610214600160a060020a0360043516611379565b34156105d357600080fd5b610358600160a060020a03600435166113c3565b34156105f257600080fd5b6102146004356113d5565b341561060857600080fd5b610358611406565b341561061b57600080fd5b61021460043560243561140c565b341561063457600080fd5b610214600160a060020a036004351661157a565b341561065357600080fd5b610214600435600160a060020a0360243516604435611711565b610214600160a060020a0360043516610694565b341561068c57600080fd5b610358611825565b600080600160a060020a03831615156106ac57600080fd5b67016345785d8a00003410156106c157600080fd5b600854610100900460ff1615156106d757600080fd5b600854620100009004600090810b900b15806107025750600854620100009004600090810b900b6001145b151561070d57600080fd5b60035442101561071c57600080fd5b600454421061072a57600080fd5b60085460ff1615806107545750600160a060020a03331660009081526013602052604090205460ff165b151561075f57600080fd5b60085460ff1615806107895750600160a060020a03831660009081526013602052604090205460ff165b151561079457600080fd5b6107a03460065461182b565b91506107c6826107c16107ba856107b5611122565b61182b565b6064611856565b61188a565b90506007546107d76009548361188a565b11156107e257600080fd5b600160a060020a0383166000908152600d602052604090205460ff16151561086f57600160a060020a0383166000908152600d60205260409020805460ff19166001908117909155600e80549091810161083c83826118b6565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0385161790555b600160a060020a0383166000908152600f6020526040902054610892908261188a565b600160a060020a0384166000908152600f60209081526040808320939093556010905220546108c1903461188a565b600160a060020a0384166000908152601060205260409020556009546108e7908261188a565b600955600a546108f7903461188a565b600a55600160a060020a038084169033167fbf77fd13a39d14dc0da779342c14105c38d9a5d0c60f2caa22f5fd1d5525416d833460405191825260208201526040908101905180910390a3505050565b60015460009033600160a060020a0390811691161461096557600080fd5b5060005b81811015610a145760016013600085858581811061098357fe5b60209081029290920135600160a060020a0316835250810191909152604001600020805460ff19169115159190911790557ffb3fdb4942f7aa0b8ecdf8508875e7f6c8142bb7870f0455b87a9f093608bc828383838181106109e157fe5b90506020020135600160a060020a0316604051600160a060020a03909116815260200160405180910390a1600101610969565b505050565b600054600160a060020a031681565b600854610100900460ff1681565b600d6020526000908152604090205460ff1681565b60126020526000908152604090205460ff1681565b60015433600160a060020a03908116911614610a7b57600080fd5b6008805461ff0019166101001790557fed1cd0670ee0c0017f550451a038818c696d0b6a9d6ce5b369e44275573cf9b060405160405180910390a1565b60015433600160a060020a03908116911614610ad357600080fd5b6008805460ff1916911515919091179055565b60015433600160a060020a03908116911614610b0157600080fd5b60155460ff161515610b1257600080fd5b600455565b60015460009033600160a060020a03908116911614610b3557600080fd5b5060005b81811015610a14576000601381858585818110610b5257fe5b60209081029290920135600160a060020a0316835250810191909152604001600020805460ff19169115159190911790557f7e1dd2258a1fa02a8360869a16fa4e1d4649c796d79a8d520f03a1dd8ae41af0838383818110610bb057fe5b90506020020135600160a060020a0316604051600160a060020a03909116815260200160405180910390a1600101610b39565b60015433600160a060020a03908116911614610bfe57600080fd5b60155460ff161515610c0f57600080fd5b610a14601483836118da565b600a5481565b60005433600160a060020a03908116911614610c3c57600080fd5b63069f67d58114610c4c57600080fd5b600854620100009004600090810b900b15610c6657600080fd5b6008805462ff0000191662ff0000179055600954600a547fa761582a460180d55522f9f5fdc076390a1f48a7a62a8afbd45c1bb797948edb919060405191825260208201526040908101905180910390a150565b600854620100009004600090810b900b600214610cd657600080fd5b600554421015610ce557600080fd5b600160a060020a0333166000908152600f602052604081205411610d0857600080fd5b600160a060020a03331660009081526012602052604090205460ff1615610d2e57600080fd5b600160a060020a0333166000818152601260209081526040808320805460ff19166001179055600f90915290819020547fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a915190815260200160405180910390a2600254600160a060020a03338181166000908152600f602052604080822054939094169363bb57349c939190516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e0357600080fd5b6102c65a03f11515610e1457600080fd5b50505060405180515050565b60085462010000900460000b81565b600854620100009004600090810b900b60001914610e4c57600080fd5b600160a060020a03331660009081526010602052604081205411610e6f57600080fd5b600160a060020a03331660009081526011602052604090205460ff1615610e9557600080fd5b600160a060020a0333166000818152601160209081526040808320805460ff19166001179055601090915290819020547fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651915190815260200160405180910390a2600160a060020a033316600081815260106020526040908190205480156108fc029151600060405180830381858888f193505050501515610f3657600080fd5b565b60015433600160a060020a03908116911614610f5357600080fd5b600160a060020a0382161515610f6857600080fd5b600854620100009004600090810b900b1580610f935750600854620100009004600090810b900b6001145b1515610f9e57600080fd5b600160a060020a0382166000908152600d602052604090205460ff16151561102b57600160a060020a0382166000908152600d60205260409020805460ff19166001908117909155600e805490918101610ff883826118b6565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384161790555b600160a060020a0382166000908152600f602052604090205461104e908261188a565b600160a060020a0383166000908152600f6020526040902055600954611074908261188a565b600955600160a060020a0382167f640e37a8f90a1d221d5cd8176ab4eb9bc1bd82ce5616399aca28e613ecf22da48260405190815260200160405180910390a25050565b60085460ff1681565b60005433600160a060020a039081169116146110dc57600080fd5b60155460ff1615156110ed57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600c5481565b6000808080805b60145481101561118f5760028106151561115e57601480548290811061114b57fe5b9060005260206000209001549250611187565b601480548290811061116c57fe5b90600052602060002090015491508242101515611187578193505b600101611129565b50919392505050565b60015433600160a060020a039081169116146111b357600080fd5b6008805461ff00191690557f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75260405160405180910390a1565b60055481565b60106020526000908152604090205481565b60075481565b600e80548290811061121857fe5b600091825260209091200154600160a060020a0316905081565b60136020526000908152604090205460ff1681565b60095481565b60116020526000908152604090205460ff1681565b60155460ff1681565b60065481565b600160a060020a0333166000908152600f60205260409020545b90565b601480548290811061129c57fe5b600091825260209091200154905081565b600254600160a060020a031681565b60035481565b60005433600160a060020a039081169116146112dd57600080fd5b6306054ea781146112ed57600080fd5b600854620100009004600090810b900b1561130757600080fd5b60035442101561131657600080fd5b6008805462ff0000191662010000179055600954600a547f35f340d6a48d39dff138141acce8e5c2ba077429f643ff20d02760f44b81085d919060405191825260208201526040908101905180910390a150565b600154600160a060020a031681565b60005433600160a060020a0390811691161461139457600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600f6020526000908152604090205481565b60015433600160a060020a039081169116146113f057600080fd5b60155460ff16151561140157600080fd5b600555565b60045481565b60005433600160a060020a0390811691161461142757600080fd5b6306054ab5821461143757600080fd5b600854620100009004600090810b900b15806114625750600854620100009004600090810b900b6001145b151561146d57600080fd5b60045442101561147c57600080fd5b600160a060020a033016318190101561149457600080fd5b6008805462ff0000191662020000179055600c546114b2908261188a565b600c55600954600a547fac2eeaf45d1b75aed6b3285cda3efb3c382cce02ba313558bbb90be57f8843e491908360405180848152602001838152602001828152602001935050505060405180910390a1600254600954600160a060020a039091169063f18ba98c90839060006040516020015260405160e060020a63ffffffff851602815260048101919091526024016020604051808303818588803b151561155a57600080fd5b6125ee5a03f1151561156b57600080fd5b50505050604051805150505050565b600154600090819033600160a060020a0390811691161461159a57600080fd5b600160a060020a03831615156115af57600080fd5b600854620100009004600090810b900b15806115da5750600854620100009004600090810b900b6001145b15156115e557600080fd5b600160a060020a0383166000908152600f602052604081205411806116205750600160a060020a038316600090815260106020526040812054115b151561162b57600080fd5b5050600160a060020a0381166000908152600f602090815260408083205460109092529091205460095461165f90836118a4565b600955600a5461166f90826118a4565b600a55600160a060020a0383166000818152600f602090815260408083208390556010909152808220919091557f3ad1debfc4548aa35036161d2b76897ac592f31d48bb49ee28e38a23abf11cd290849084905191825260208201526040908101905180910390a26000811115610a1457600160a060020a03831681156108fc0282604051600060405180830381858888f193505050501515610a1457600080fd5b60005433600160a060020a0390811691161461172c57600080fd5b6305f60811831461173c57600080fd5b600160a060020a038216151561175157600080fd5b600854620100009004600090810b900b6001148061177e5750600854620100009004600090810b900b6002145b151561178957600080fd5b600160a060020a03301631819010156117a157600080fd5b6117ad600b548261188a565b600b557fb244b9a17ad633c6e83b7983ee04320484956a68ddbe96a0b70dfca1cf19d7238282604051600160a060020a03909216825260208201526040908101905180910390a1600160a060020a03821681156108fc0282604051600060405180830381858888f193505050501515610a1457600080fd5b600b5481565b6000828202831580611847575082848281151561184457fe5b04145b151561184f57fe5b9392505050565b60008080831161186257fe5b828481151561186d57fe5b049050828481151561187b57fe5b06818402018414151561184f57fe5b600082820183811080159061184757508281101561184f57fe5b6000828211156118b057fe5b50900390565b815481835581811511610a1457600083815260209020610a14918101908301611925565b828054828255906000526020600020908101928215611915579160200282015b828111156119155782358255916020019190600101906118fa565b50611921929150611925565b5090565b61128b91905b80821115611921576000815560010161192b5600a165627a7a7230582015e937cb798cee1b870fcf53b50e30ae28001dc99185b7dbe69338dd1b2d509e0029
Deployed Bytecode
0x60606040526004361061020b5763ffffffff60e060020a6000350416630266ba02811461021657806302d05d3f1461023457806302fb0c5e1461026357806309e69ede1461028a5780630c2a215d146102a95780630f15f4c0146102c857806324daddc5146102db5780632f558ba0146102f357806332cd04871461030957806334bf97ea146103275780633fa4f2451461034557806340e58ee51461036a5780634e71d92d14610380578063577bd33614610393578063590e1ae3146103bf5780636370920e146103d25780637072c6b1146103f457806373ad6c2d1461040757806375172a8b146104265780638222b7e9146104395780638456cb591461044c57806386d1a69f1461045f5780639239d64514610472578063949d225d1461049157806395c3be0b146104a45780639b19251a146104ba5780639d63848a146104d9578063a4e214f9146104ec578063a5536fe71461050b578063a6138ed91461051e578063a6b3abba14610531578063ab37564114610544578063abc8c7af1461055a578063be9a65551461056d578063c6634ef514610580578063c89e436114610596578063ca5eb5e1146105a9578063cbe3b20f146105c8578063cfa4f3e8146105e7578063d56b2889146105fd578063d6380f3714610610578063e30bd74014610629578063e63697c814610648578063f088d5471461066d578063f357622014610681575b61021433610694565b005b341561022157600080fd5b6102146004803560248101910135610947565b341561023f57600080fd5b610247610a19565b604051600160a060020a03909116815260200160405180910390f35b341561026e57600080fd5b610276610a28565b604051901515815260200160405180910390f35b341561029557600080fd5b610276600160a060020a0360043516610a36565b34156102b457600080fd5b610276600160a060020a0360043516610a4b565b34156102d357600080fd5b610214610a60565b34156102e657600080fd5b6102146004351515610ab8565b34156102fe57600080fd5b610214600435610ae6565b341561031457600080fd5b6102146004803560248101910135610b17565b341561033257600080fd5b6102146004803560248101910135610be3565b341561035057600080fd5b610358610c1b565b60405190815260200160405180910390f35b341561037557600080fd5b610214600435610c21565b341561038b57600080fd5b610214610cba565b341561039e57600080fd5b6103a6610e20565b604051600091820b90910b815260200160405180910390f35b34156103ca57600080fd5b610214610e2f565b34156103dd57600080fd5b610214600160a060020a0360043516602435610f38565b34156103ff57600080fd5b6102766110b8565b341561041257600080fd5b610214600160a060020a03600435166110c1565b341561043157600080fd5b61035861111c565b341561044457600080fd5b610358611122565b341561045757600080fd5b610214611198565b341561046a57600080fd5b6103586111ec565b341561047d57600080fd5b610358600160a060020a03600435166111f2565b341561049c57600080fd5b610358611204565b34156104af57600080fd5b61024760043561120a565b34156104c557600080fd5b610276600160a060020a0360043516611232565b34156104e457600080fd5b610358611247565b34156104f757600080fd5b610276600160a060020a036004351661124d565b341561051657600080fd5b610276611262565b341561052957600080fd5b61035861126b565b341561053c57600080fd5b610358611271565b341561054f57600080fd5b61035860043561128e565b341561056557600080fd5b6102476112ad565b341561057857600080fd5b6103586112bc565b341561058b57600080fd5b6102146004356112c2565b34156105a157600080fd5b61024761136a565b34156105b457600080fd5b610214600160a060020a0360043516611379565b34156105d357600080fd5b610358600160a060020a03600435166113c3565b34156105f257600080fd5b6102146004356113d5565b341561060857600080fd5b610358611406565b341561061b57600080fd5b61021460043560243561140c565b341561063457600080fd5b610214600160a060020a036004351661157a565b341561065357600080fd5b610214600435600160a060020a0360243516604435611711565b610214600160a060020a0360043516610694565b341561068c57600080fd5b610358611825565b600080600160a060020a03831615156106ac57600080fd5b67016345785d8a00003410156106c157600080fd5b600854610100900460ff1615156106d757600080fd5b600854620100009004600090810b900b15806107025750600854620100009004600090810b900b6001145b151561070d57600080fd5b60035442101561071c57600080fd5b600454421061072a57600080fd5b60085460ff1615806107545750600160a060020a03331660009081526013602052604090205460ff165b151561075f57600080fd5b60085460ff1615806107895750600160a060020a03831660009081526013602052604090205460ff165b151561079457600080fd5b6107a03460065461182b565b91506107c6826107c16107ba856107b5611122565b61182b565b6064611856565b61188a565b90506007546107d76009548361188a565b11156107e257600080fd5b600160a060020a0383166000908152600d602052604090205460ff16151561086f57600160a060020a0383166000908152600d60205260409020805460ff19166001908117909155600e80549091810161083c83826118b6565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0385161790555b600160a060020a0383166000908152600f6020526040902054610892908261188a565b600160a060020a0384166000908152600f60209081526040808320939093556010905220546108c1903461188a565b600160a060020a0384166000908152601060205260409020556009546108e7908261188a565b600955600a546108f7903461188a565b600a55600160a060020a038084169033167fbf77fd13a39d14dc0da779342c14105c38d9a5d0c60f2caa22f5fd1d5525416d833460405191825260208201526040908101905180910390a3505050565b60015460009033600160a060020a0390811691161461096557600080fd5b5060005b81811015610a145760016013600085858581811061098357fe5b60209081029290920135600160a060020a0316835250810191909152604001600020805460ff19169115159190911790557ffb3fdb4942f7aa0b8ecdf8508875e7f6c8142bb7870f0455b87a9f093608bc828383838181106109e157fe5b90506020020135600160a060020a0316604051600160a060020a03909116815260200160405180910390a1600101610969565b505050565b600054600160a060020a031681565b600854610100900460ff1681565b600d6020526000908152604090205460ff1681565b60126020526000908152604090205460ff1681565b60015433600160a060020a03908116911614610a7b57600080fd5b6008805461ff0019166101001790557fed1cd0670ee0c0017f550451a038818c696d0b6a9d6ce5b369e44275573cf9b060405160405180910390a1565b60015433600160a060020a03908116911614610ad357600080fd5b6008805460ff1916911515919091179055565b60015433600160a060020a03908116911614610b0157600080fd5b60155460ff161515610b1257600080fd5b600455565b60015460009033600160a060020a03908116911614610b3557600080fd5b5060005b81811015610a14576000601381858585818110610b5257fe5b60209081029290920135600160a060020a0316835250810191909152604001600020805460ff19169115159190911790557f7e1dd2258a1fa02a8360869a16fa4e1d4649c796d79a8d520f03a1dd8ae41af0838383818110610bb057fe5b90506020020135600160a060020a0316604051600160a060020a03909116815260200160405180910390a1600101610b39565b60015433600160a060020a03908116911614610bfe57600080fd5b60155460ff161515610c0f57600080fd5b610a14601483836118da565b600a5481565b60005433600160a060020a03908116911614610c3c57600080fd5b63069f67d58114610c4c57600080fd5b600854620100009004600090810b900b15610c6657600080fd5b6008805462ff0000191662ff0000179055600954600a547fa761582a460180d55522f9f5fdc076390a1f48a7a62a8afbd45c1bb797948edb919060405191825260208201526040908101905180910390a150565b600854620100009004600090810b900b600214610cd657600080fd5b600554421015610ce557600080fd5b600160a060020a0333166000908152600f602052604081205411610d0857600080fd5b600160a060020a03331660009081526012602052604090205460ff1615610d2e57600080fd5b600160a060020a0333166000818152601260209081526040808320805460ff19166001179055600f90915290819020547fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a915190815260200160405180910390a2600254600160a060020a03338181166000908152600f602052604080822054939094169363bb57349c939190516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e0357600080fd5b6102c65a03f11515610e1457600080fd5b50505060405180515050565b60085462010000900460000b81565b600854620100009004600090810b900b60001914610e4c57600080fd5b600160a060020a03331660009081526010602052604081205411610e6f57600080fd5b600160a060020a03331660009081526011602052604090205460ff1615610e9557600080fd5b600160a060020a0333166000818152601160209081526040808320805460ff19166001179055601090915290819020547fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651915190815260200160405180910390a2600160a060020a033316600081815260106020526040908190205480156108fc029151600060405180830381858888f193505050501515610f3657600080fd5b565b60015433600160a060020a03908116911614610f5357600080fd5b600160a060020a0382161515610f6857600080fd5b600854620100009004600090810b900b1580610f935750600854620100009004600090810b900b6001145b1515610f9e57600080fd5b600160a060020a0382166000908152600d602052604090205460ff16151561102b57600160a060020a0382166000908152600d60205260409020805460ff19166001908117909155600e805490918101610ff883826118b6565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384161790555b600160a060020a0382166000908152600f602052604090205461104e908261188a565b600160a060020a0383166000908152600f6020526040902055600954611074908261188a565b600955600160a060020a0382167f640e37a8f90a1d221d5cd8176ab4eb9bc1bd82ce5616399aca28e613ecf22da48260405190815260200160405180910390a25050565b60085460ff1681565b60005433600160a060020a039081169116146110dc57600080fd5b60155460ff1615156110ed57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600c5481565b6000808080805b60145481101561118f5760028106151561115e57601480548290811061114b57fe5b9060005260206000209001549250611187565b601480548290811061116c57fe5b90600052602060002090015491508242101515611187578193505b600101611129565b50919392505050565b60015433600160a060020a039081169116146111b357600080fd5b6008805461ff00191690557f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75260405160405180910390a1565b60055481565b60106020526000908152604090205481565b60075481565b600e80548290811061121857fe5b600091825260209091200154600160a060020a0316905081565b60136020526000908152604090205460ff1681565b60095481565b60116020526000908152604090205460ff1681565b60155460ff1681565b60065481565b600160a060020a0333166000908152600f60205260409020545b90565b601480548290811061129c57fe5b600091825260209091200154905081565b600254600160a060020a031681565b60035481565b60005433600160a060020a039081169116146112dd57600080fd5b6306054ea781146112ed57600080fd5b600854620100009004600090810b900b1561130757600080fd5b60035442101561131657600080fd5b6008805462ff0000191662010000179055600954600a547f35f340d6a48d39dff138141acce8e5c2ba077429f643ff20d02760f44b81085d919060405191825260208201526040908101905180910390a150565b600154600160a060020a031681565b60005433600160a060020a0390811691161461139457600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600f6020526000908152604090205481565b60015433600160a060020a039081169116146113f057600080fd5b60155460ff16151561140157600080fd5b600555565b60045481565b60005433600160a060020a0390811691161461142757600080fd5b6306054ab5821461143757600080fd5b600854620100009004600090810b900b15806114625750600854620100009004600090810b900b6001145b151561146d57600080fd5b60045442101561147c57600080fd5b600160a060020a033016318190101561149457600080fd5b6008805462ff0000191662020000179055600c546114b2908261188a565b600c55600954600a547fac2eeaf45d1b75aed6b3285cda3efb3c382cce02ba313558bbb90be57f8843e491908360405180848152602001838152602001828152602001935050505060405180910390a1600254600954600160a060020a039091169063f18ba98c90839060006040516020015260405160e060020a63ffffffff851602815260048101919091526024016020604051808303818588803b151561155a57600080fd5b6125ee5a03f1151561156b57600080fd5b50505050604051805150505050565b600154600090819033600160a060020a0390811691161461159a57600080fd5b600160a060020a03831615156115af57600080fd5b600854620100009004600090810b900b15806115da5750600854620100009004600090810b900b6001145b15156115e557600080fd5b600160a060020a0383166000908152600f602052604081205411806116205750600160a060020a038316600090815260106020526040812054115b151561162b57600080fd5b5050600160a060020a0381166000908152600f602090815260408083205460109092529091205460095461165f90836118a4565b600955600a5461166f90826118a4565b600a55600160a060020a0383166000818152600f602090815260408083208390556010909152808220919091557f3ad1debfc4548aa35036161d2b76897ac592f31d48bb49ee28e38a23abf11cd290849084905191825260208201526040908101905180910390a26000811115610a1457600160a060020a03831681156108fc0282604051600060405180830381858888f193505050501515610a1457600080fd5b60005433600160a060020a0390811691161461172c57600080fd5b6305f60811831461173c57600080fd5b600160a060020a038216151561175157600080fd5b600854620100009004600090810b900b6001148061177e5750600854620100009004600090810b900b6002145b151561178957600080fd5b600160a060020a03301631819010156117a157600080fd5b6117ad600b548261188a565b600b557fb244b9a17ad633c6e83b7983ee04320484956a68ddbe96a0b70dfca1cf19d7238282604051600160a060020a03909216825260208201526040908101905180910390a1600160a060020a03821681156108fc0282604051600060405180830381858888f193505050501515610a1457600080fd5b600b5481565b6000828202831580611847575082848281151561184457fe5b04145b151561184f57fe5b9392505050565b60008080831161186257fe5b828481151561186d57fe5b049050828481151561187b57fe5b06818402018414151561184f57fe5b600082820183811080159061184757508281101561184f57fe5b6000828211156118b057fe5b50900390565b815481835581811511610a1457600083815260209020610a14918101908301611925565b828054828255906000526020600020908101928215611915579160200282015b828111156119155782358255916020019190600101906118fa565b50611921929150611925565b5090565b61128b91905b80821115611921576000815560010161192b5600a165627a7a7230582015e937cb798cee1b870fcf53b50e30ae28001dc99185b7dbe69338dd1b2d509e0029
Swarm Source
bzzr://15e937cb798cee1b870fcf53b50e30ae28001dc99185b7dbe69338dd1b2d509e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,425.63 | 1 | $3,425.63 |
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.