Feature Tip: Add private address tag to any address under My Name Tag !
Overview
Max Total Supply
1,000,000,000 DNN
Holders
35,041 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
5,822 DNNValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DNNToken
Compiler Version
v0.4.23+commit.124ca40d
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-11 */ pragma solidity ^0.4.15; 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 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) { require(_to != address(0)); // SafeMath.sub will throw if there is not enough balance. balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) 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 amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) returns (bool) { require(_to != address(0)); 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[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = _allowance.sub(_value); Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * @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 specifying the amount of tokens still available for the spender. */ function allowance(address _owner, address _spender) constant returns (uint256 remaining) { return allowed[_owner][_spender]; } /** * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol */ function increaseApproval (address _spender, uint _addedValue) returns (bool success) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function decreaseApproval (address _spender, uint _subtractedValue) returns (bool success) { uint oldValue = allowed[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } /// @title Token contract - Implements Standard Token Interface with DNN features. /// @author Dondrey Taylor - <[email protected]> contract DNNToken is StandardToken { using SafeMath for uint256; //////////////////////////////////////////////////////////// // Used to indicate which allocation we issue tokens from // //////////////////////////////////////////////////////////// enum DNNSupplyAllocations { EarlyBackerSupplyAllocation, PRETDESupplyAllocation, TDESupplyAllocation, BountySupplyAllocation, WriterAccountSupplyAllocation, AdvisorySupplyAllocation, PlatformSupplyAllocation } ///////////////////////////////////////////////////////////////////// // Smart-Contract with permission to allocate tokens from supplies // ///////////////////////////////////////////////////////////////////// address public allocatorAddress; address public crowdfundContract; ///////////////////// // Token Meta Data // ///////////////////// string constant public name = "DNN"; string constant public symbol = "DNN"; uint8 constant public decimals = 18; // 1 DNN = 1 * 10^18 atto-DNN ///////////////////////////////////////// // Addresses of the co-founders of DNN // ///////////////////////////////////////// address public cofounderA; address public cofounderB; ///////////////////////// // Address of Platform // ///////////////////////// address public platform; ///////////////////////////////////////////// // Token Distributions (% of total supply) // ///////////////////////////////////////////// uint256 public earlyBackerSupply; // 10% uint256 public PRETDESupply; // 10% uint256 public TDESupply; // 40% uint256 public bountySupply; // 1% uint256 public writerAccountSupply; // 4% uint256 public advisorySupply; // 14% uint256 public cofoundersSupply; // 10% uint256 public platformSupply; // 11% uint256 public earlyBackerSupplyRemaining; // 10% uint256 public PRETDESupplyRemaining; // 10% uint256 public TDESupplyRemaining; // 40% uint256 public bountySupplyRemaining; // 1% uint256 public writerAccountSupplyRemaining; // 4% uint256 public advisorySupplyRemaining; // 14% uint256 public cofoundersSupplyRemaining; // 10% uint256 public platformSupplyRemaining; // 11% //////////////////////////////////////////////////////////////////////////////////// // Amount of CoFounder Supply that has been distributed based on vesting schedule // //////////////////////////////////////////////////////////////////////////////////// uint256 public cofoundersSupplyVestingTranches = 10; uint256 public cofoundersSupplyVestingTranchesIssued = 0; uint256 public cofoundersSupplyVestingStartDate; // Epoch uint256 public cofoundersSupplyDistributed = 0; // # of atto-DNN distributed to founders ////////////////////////////////////////////// // Prevents tokens from being transferrable // ////////////////////////////////////////////// bool public tokensLocked = true; ///////////////////////////////////////////////////////////////////////////// // Event triggered when tokens are transferred from one address to another // ///////////////////////////////////////////////////////////////////////////// event Transfer(address indexed from, address indexed to, uint256 value); //////////////////////////////////////////////////////////// // Checks if tokens can be issued to founder at this time // //////////////////////////////////////////////////////////// modifier CofoundersTokensVested() { // Make sure that a starting vesting date has been set and 4 weeks have passed since vesting date require (cofoundersSupplyVestingStartDate != 0 && (now-cofoundersSupplyVestingStartDate) >= 4 weeks); // Get current tranche based on the amount of time that has passed since vesting start date uint256 currentTranche = now.sub(cofoundersSupplyVestingStartDate) / 4 weeks; // Amount of tranches that have been issued so far uint256 issuedTranches = cofoundersSupplyVestingTranchesIssued; // Amount of tranches that cofounders are entitled to uint256 maxTranches = cofoundersSupplyVestingTranches; // Make sure that we still have unvested tokens and that // the tokens for the current tranche have not been issued. require (issuedTranches != maxTranches && currentTranche > issuedTranches); _; } /////////////////////////////////// // Checks if tokens are unlocked // /////////////////////////////////// modifier TokensUnlocked() { require (tokensLocked == false); _; } ///////////////////////////////// // Checks if tokens are locked // ///////////////////////////////// modifier TokensLocked() { require (tokensLocked == true); _; } //////////////////////////////////////////////////// // Checks if CoFounders are performing the action // //////////////////////////////////////////////////// modifier onlyCofounders() { require (msg.sender == cofounderA || msg.sender == cofounderB); _; } //////////////////////////////////////////////////// // Checks if CoFounder A is performing the action // //////////////////////////////////////////////////// modifier onlyCofounderA() { require (msg.sender == cofounderA); _; } //////////////////////////////////////////////////// // Checks if CoFounder B is performing the action // //////////////////////////////////////////////////// modifier onlyCofounderB() { require (msg.sender == cofounderB); _; } ////////////////////////////////////////////////// // Checks if Allocator is performing the action // ////////////////////////////////////////////////// modifier onlyAllocator() { require (msg.sender == allocatorAddress); _; } /////////////////////////////////////////////////////////// // Checks if Crowdfund Contract is performing the action // /////////////////////////////////////////////////////////// modifier onlyCrowdfundContract() { require (msg.sender == crowdfundContract); _; } /////////////////////////////////////////////////////////////////////////////////// // Checks if Crowdfund Contract, Platform, or Allocator is performing the action // /////////////////////////////////////////////////////////////////////////////////// modifier onlyAllocatorOrCrowdfundContractOrPlatform() { require (msg.sender == allocatorAddress || msg.sender == crowdfundContract || msg.sender == platform); _; } /////////////////////////////////////////////////////////////////////// // @des Function to change address that is manage platform holding // // @param newAddress Address of new issuance contract. // /////////////////////////////////////////////////////////////////////// function changePlatform(address newAddress) onlyCofounders { platform = newAddress; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // @des Function to change address that is allowed to do token issuance. Crowdfund contract can only be set once. // // @param newAddress Address of new issuance contract. // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function changeCrowdfundContract(address newAddress) onlyCofounders { crowdfundContract = newAddress; } ///////////////////////////////////////////////////////////////////////////////////////////////////////////// // @des Function to change address that is allowed to do token issuance. Allocator can only be set once. // // @param newAddress Address of new issuance contract. // ///////////////////////////////////////////////////////////////////////////////////////////////////////////// function changeAllocator(address newAddress) onlyCofounders { allocatorAddress = newAddress; } /////////////////////////////////////////////////////// // @des Function to change founder A address. // // @param newAddress Address of new founder A. // /////////////////////////////////////////////////////// function changeCofounderA(address newAddress) onlyCofounderA { cofounderA = newAddress; } ////////////////////////////////////////////////////// // @des Function to change founder B address. // // @param newAddress Address of new founder B. // ////////////////////////////////////////////////////// function changeCofounderB(address newAddress) onlyCofounderB { cofounderB = newAddress; } ////////////////////////////////////////////////////////////// // Transfers tokens from senders address to another address // ////////////////////////////////////////////////////////////// function transfer(address _to, uint256 _value) TokensUnlocked returns (bool) { Transfer(msg.sender, _to, _value); return BasicToken.transfer(_to, _value); } ////////////////////////////////////////////////////////// // Transfers tokens from one address to another address // ////////////////////////////////////////////////////////// function transferFrom(address _from, address _to, uint256 _value) TokensUnlocked returns (bool) { Transfer(_from, _to, _value); return StandardToken.transferFrom(_from, _to, _value); } /////////////////////////////////////////////////////////////////////////////////////////////// // @des Cofounders issue tokens to themsleves if within vesting period. Returns success. // // @param beneficiary Address of receiver. // // @param tokenCount Number of tokens to issue. // /////////////////////////////////////////////////////////////////////////////////////////////// function issueCofoundersTokensIfPossible() onlyCofounders CofoundersTokensVested returns (bool) { // Compute total amount of vested tokens to issue uint256 tokenCount = cofoundersSupply.div(cofoundersSupplyVestingTranches); // Make sure that there are cofounder tokens left if (tokenCount > cofoundersSupplyRemaining) { return false; } // Decrease cofounders supply cofoundersSupplyRemaining = cofoundersSupplyRemaining.sub(tokenCount); // Update how many tokens have been distributed to cofounders cofoundersSupplyDistributed = cofoundersSupplyDistributed.add(tokenCount); // Split tokens between both founders balances[cofounderA] = balances[cofounderA].add(tokenCount.div(2)); balances[cofounderB] = balances[cofounderB].add(tokenCount.div(2)); // Update that a tranche has been issued cofoundersSupplyVestingTranchesIssued += 1; return true; } ////////////////// // Issue tokens // ////////////////// function issueTokens(address beneficiary, uint256 tokenCount, DNNSupplyAllocations allocationType) onlyAllocatorOrCrowdfundContractOrPlatform returns (bool) { // We'll use the following to determine whether the allocator, platform, // or the crowdfunding contract can allocate specified supply bool canAllocatorPerform = msg.sender == allocatorAddress; bool canCrowdfundContractPerform = msg.sender == crowdfundContract; bool canPlatformPerform = msg.sender == platform; // Early Backers if (canAllocatorPerform && allocationType == DNNSupplyAllocations.EarlyBackerSupplyAllocation && tokenCount <= earlyBackerSupplyRemaining) { earlyBackerSupplyRemaining = earlyBackerSupplyRemaining.sub(tokenCount); } // PRE-TDE else if (canCrowdfundContractPerform && msg.sender == crowdfundContract && allocationType == DNNSupplyAllocations.PRETDESupplyAllocation) { // Check to see if we have enough tokens to satisfy this purchase // using just the pre-tde. if (PRETDESupplyRemaining >= tokenCount) { // Decrease pre-tde supply PRETDESupplyRemaining = PRETDESupplyRemaining.sub(tokenCount); } // Check to see if we can satisfy this using pre-tde and tde supply combined else if (PRETDESupplyRemaining+TDESupplyRemaining >= tokenCount) { // Decrease tde supply TDESupplyRemaining = TDESupplyRemaining.sub(tokenCount-PRETDESupplyRemaining); // Decrease pre-tde supply by its' remaining tokens PRETDESupplyRemaining = 0; } // Otherwise, we can't satisfy this sale because we don't have enough tokens. else { return false; } } // TDE else if (canCrowdfundContractPerform && allocationType == DNNSupplyAllocations.TDESupplyAllocation && tokenCount <= TDESupplyRemaining) { TDESupplyRemaining = TDESupplyRemaining.sub(tokenCount); } // Bounty else if (canAllocatorPerform && allocationType == DNNSupplyAllocations.BountySupplyAllocation && tokenCount <= bountySupplyRemaining) { bountySupplyRemaining = bountySupplyRemaining.sub(tokenCount); } // Writer Accounts else if (canAllocatorPerform && allocationType == DNNSupplyAllocations.WriterAccountSupplyAllocation && tokenCount <= writerAccountSupplyRemaining) { writerAccountSupplyRemaining = writerAccountSupplyRemaining.sub(tokenCount); } // Advisory else if (canAllocatorPerform && allocationType == DNNSupplyAllocations.AdvisorySupplyAllocation && tokenCount <= advisorySupplyRemaining) { advisorySupplyRemaining = advisorySupplyRemaining.sub(tokenCount); } // Platform (Also makes sure that the beneficiary is the platform address specified in this contract) else if (canPlatformPerform && allocationType == DNNSupplyAllocations.PlatformSupplyAllocation && tokenCount <= platformSupplyRemaining) { platformSupplyRemaining = platformSupplyRemaining.sub(tokenCount); } else { return false; } // Transfer tokens Transfer(address(this), beneficiary, tokenCount); // Credit tokens to the address specified balances[beneficiary] = balances[beneficiary].add(tokenCount); return true; } ///////////////////////////////////////////////// // Transfer Unsold tokens from TDE to Platform // ///////////////////////////////////////////////// function sendUnsoldTDETokensToPlatform() external onlyCrowdfundContract { // Make sure we have tokens to send from TDE if (TDESupplyRemaining > 0) { // Add remaining tde tokens to platform remaining tokens platformSupplyRemaining = platformSupplyRemaining.add(TDESupplyRemaining); // Clear remaining tde token count TDESupplyRemaining = 0; } } ///////////////////////////////////////////////////// // Transfer Unsold tokens from pre-TDE to Platform // ///////////////////////////////////////////////////// function sendUnsoldPRETDETokensToTDE() external onlyCrowdfundContract { // Make sure we have tokens to send from pre-TDE if (PRETDESupplyRemaining > 0) { // Add remaining pre-tde tokens to tde remaining tokens TDESupplyRemaining = TDESupplyRemaining.add(PRETDESupplyRemaining); // Clear remaining pre-tde token count PRETDESupplyRemaining = 0; } } //////////////////////////////////////////////////////////////// // @des Allows tokens to be transferrable. Returns lock state // //////////////////////////////////////////////////////////////// function unlockTokens() external onlyCrowdfundContract { // Make sure tokens are currently locked before proceeding to unlock them require(tokensLocked == true); tokensLocked = false; } /////////////////////////////////////////////////////////////////////// // @des Contract constructor function sets initial token balances. // /////////////////////////////////////////////////////////////////////// function DNNToken() { // Start date uint256 vestingStartDate = 1526072145; // Set cofounder addresses cofounderA = 0x3Cf26a9FE33C219dB87c2e50572e50803eFb2981; cofounderB = 0x9FFE2aD5D76954C7C25be0cEE30795279c4Cab9f; // Sets platform address platform = address(this); // Set total supply - 1 Billion DNN Tokens = (1,000,000,000 * 10^18) atto-DNN // 1 DNN = 10^18 atto-DNN totalSupply = uint256(1000000000).mul(uint256(10)**decimals); // Set Token Distributions (% of total supply) earlyBackerSupply = totalSupply.mul(10).div(100); // 10% PRETDESupply = totalSupply.mul(10).div(100); // 10% TDESupply = totalSupply.mul(40).div(100); // 40% bountySupply = totalSupply.mul(1).div(100); // 1% writerAccountSupply = totalSupply.mul(4).div(100); // 4% advisorySupply = totalSupply.mul(14).div(100); // 14% cofoundersSupply = totalSupply.mul(10).div(100); // 10% platformSupply = totalSupply.mul(11).div(100); // 11% // Set each remaining token count equal to its' respective supply earlyBackerSupplyRemaining = earlyBackerSupply; PRETDESupplyRemaining = PRETDESupply; TDESupplyRemaining = TDESupply; bountySupplyRemaining = bountySupply; writerAccountSupplyRemaining = writerAccountSupply; advisorySupplyRemaining = advisorySupply; cofoundersSupplyRemaining = cofoundersSupply; platformSupplyRemaining = platformSupply; // Sets cofounder vesting start date (Ensures that it is a date in the future, otherwise it will default to now) cofoundersSupplyVestingStartDate = vestingStartDate >= now ? vestingStartDate : now; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"cofoundersSupplyRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"writerAccountSupplyRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cofoundersSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PRETDESupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cofoundersSupplyVestingTranches","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"},{"name":"tokenCount","type":"uint256"},{"name":"allocationType","type":"uint8"}],"name":"issueTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cofoundersSupplyVestingStartDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"earlyBackerSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"platformSupplyRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cofoundersSupplyVestingTranchesIssued","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"platform","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cofounderB","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newAddress","type":"address"}],"name":"changeCrowdfundContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TDESupplyRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"sendUnsoldTDETokensToPlatform","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cofoundersSupplyDistributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAddress","type":"address"}],"name":"changeCofounderA","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"platformSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newAddress","type":"address"}],"name":"changePlatform","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bountySupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newAddress","type":"address"}],"name":"changeCofounderB","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"issueCofoundersTokensIfPossible","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"allocatorAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensLocked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"advisorySupplyRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newAddress","type":"address"}],"name":"changeAllocator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"writerAccountSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdfundContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PRETDESupplyRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"sendUnsoldPRETDETokensToTDE","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"advisorySupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bountySupplyRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cofounderA","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TDESupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"earlyBackerSupplyRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unlockTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
6080604052600a60185560006019556000601b556001601c60006101000a81548160ff0219169083151502179055503480156200003b57600080fd5b506000635af603519050733cf26a9fe33c219db87c2e50572e50803efb2981600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739ffe2ad5d76954c7c25be0cee30795279c4cab9f600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555030600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200015e601260ff16600a0a633b9aca00620004436401000000000262002c86179091906401000000009004565b600081905550620001ad606462000190600a600054620004436401000000000262002c86179091906401000000009004565b620004796401000000000262002a95179091906401000000009004565b600881905550620001fc6064620001df600a600054620004436401000000000262002c86179091906401000000009004565b620004796401000000000262002a95179091906401000000009004565b6009819055506200024b60646200022e6028600054620004436401000000000262002c86179091906401000000009004565b620004796401000000000262002a95179091906401000000009004565b600a819055506200029a60646200027d6001600054620004436401000000000262002c86179091906401000000009004565b620004796401000000000262002a95179091906401000000009004565b600b81905550620002e96064620002cc6004600054620004436401000000000262002c86179091906401000000009004565b620004796401000000000262002a95179091906401000000009004565b600c819055506200033860646200031b600e600054620004436401000000000262002c86179091906401000000009004565b620004796401000000000262002a95179091906401000000009004565b600d819055506200038760646200036a600a600054620004436401000000000262002c86179091906401000000009004565b620004796401000000000262002a95179091906401000000009004565b600e81905550620003d66064620003b9600b600054620004436401000000000262002c86179091906401000000009004565b620004796401000000000262002a95179091906401000000009004565b600f81905550600854601081905550600954601181905550600a54601281905550600b54601381905550600c54601481905550600d54601581905550600e54601681905550600f546017819055504281101562000434574262000436565b805b601a819055505062000495565b600080828402905060008414806200046657508284828115156200046357fe5b04145b15156200046f57fe5b8091505092915050565b60008082848115156200048857fe5b0490508091505092915050565b612ce580620004a56000396000f30060806040526004361061023a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062de1eb41461023f57806306993c971461026a57806306fdde03146102955780630914a36314610325578063095ea7b31461035057806318160ddd146103b557806320f067a8146103e057806322e9afca1461040b578063237d26281461043657806323b872dd146104a8578063313ce5671461052d57806336f93a991461055e57806339a5fdda14610589578063417ea2dc146105b4578063464da87e146105df5780634bde38c81461060a57806351290d061461066157806351a36e34146106b857806356996f6b146106fb57806359b7961014610726578063652ca8f41461073d57806366188463146107685780636b0f182e146107cd57806370a082311461081057806375288d9514610867578063753d93e41461089257806386852fd7146108d5578063941993f81461090057806395d89b411461094357806399cfe1e1146109d3578063a0abdba014610a02578063a1feba4214610a59578063a9059cbb14610a88578063b026712614610aed578063b3745afa14610b18578063b5f9371a14610b5b578063b70f4b1314610b86578063c269f26314610bdd578063ce21abf314610c08578063d73dd62314610c1f578063d8afd39214610c84578063d92da8f814610caf578063dd62ed3e14610cda578063f05aa33414610d51578063f770c96f14610da8578063f8adb68614610dd3578063f968f49314610dfe575b600080fd5b34801561024b57600080fd5b50610254610e15565b6040518082815260200191505060405180910390f35b34801561027657600080fd5b5061027f610e1b565b6040518082815260200191505060405180910390f35b3480156102a157600080fd5b506102aa610e21565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102ea5780820151818401526020810190506102cf565b50505050905090810190601f1680156103175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033157600080fd5b5061033a610e5a565b6040518082815260200191505060405180910390f35b34801561035c57600080fd5b5061039b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e60565b604051808215151515815260200191505060405180910390f35b3480156103c157600080fd5b506103ca610fe7565b6040518082815260200191505060405180910390f35b3480156103ec57600080fd5b506103f5610fed565b6040518082815260200191505060405180910390f35b34801561041757600080fd5b50610420610ff3565b6040518082815260200191505060405180910390f35b34801561044257600080fd5b5061048e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803560ff169060200190929190505050610ff9565b604051808215151515815260200191505060405180910390f35b3480156104b457600080fd5b50610513600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611615565b604051808215151515815260200191505060405180910390f35b34801561053957600080fd5b506105426116b1565b604051808260ff1660ff16815260200191505060405180910390f35b34801561056a57600080fd5b506105736116b6565b6040518082815260200191505060405180910390f35b34801561059557600080fd5b5061059e6116bc565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105c96116c2565b6040518082815260200191505060405180910390f35b3480156105eb57600080fd5b506105f46116c8565b6040518082815260200191505060405180910390f35b34801561061657600080fd5b5061061f6116ce565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561066d57600080fd5b506106766116f4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106c457600080fd5b506106f9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061171a565b005b34801561070757600080fd5b50610710611812565b6040518082815260200191505060405180910390f35b34801561073257600080fd5b5061073b611818565b005b34801561074957600080fd5b506107526118a7565b6040518082815260200191505060405180910390f35b34801561077457600080fd5b506107b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118ad565b604051808215151515815260200191505060405180910390f35b3480156107d957600080fd5b5061080e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b3e565b005b34801561081c57600080fd5b50610851600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bde565b6040518082815260200191505060405180910390f35b34801561087357600080fd5b5061087c611c27565b6040518082815260200191505060405180910390f35b34801561089e57600080fd5b506108d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c2d565b005b3480156108e157600080fd5b506108ea611d25565b6040518082815260200191505060405180910390f35b34801561090c57600080fd5b50610941600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d2b565b005b34801561094f57600080fd5b50610958611dcb565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561099857808201518184015260208101905061097d565b50505050905090810190601f1680156109c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109df57600080fd5b506109e8611e04565b604051808215151515815260200191505060405180910390f35b348015610a0e57600080fd5b50610a17612184565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a6557600080fd5b50610a6e6121aa565b604051808215151515815260200191505060405180910390f35b348015610a9457600080fd5b50610ad3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121bd565b604051808215151515815260200191505060405180910390f35b348015610af957600080fd5b50610b02612257565b6040518082815260200191505060405180910390f35b348015610b2457600080fd5b50610b59600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061225d565b005b348015610b6757600080fd5b50610b70612355565b6040518082815260200191505060405180910390f35b348015610b9257600080fd5b50610b9b61235b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610be957600080fd5b50610bf2612381565b6040518082815260200191505060405180910390f35b348015610c1457600080fd5b50610c1d612387565b005b348015610c2b57600080fd5b50610c6a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612416565b604051808215151515815260200191505060405180910390f35b348015610c9057600080fd5b50610c99612612565b6040518082815260200191505060405180910390f35b348015610cbb57600080fd5b50610cc4612618565b6040518082815260200191505060405180910390f35b348015610ce657600080fd5b50610d3b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061261e565b6040518082815260200191505060405180910390f35b348015610d5d57600080fd5b50610d666126a5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610db457600080fd5b50610dbd6126cb565b6040518082815260200191505060405180910390f35b348015610ddf57600080fd5b50610de86126d1565b6040518082815260200191505060405180910390f35b348015610e0a57600080fd5b50610e136126d7565b005b60165481565b60145481565b6040805190810160405280600381526020017f444e4e000000000000000000000000000000000000000000000000000000000081525081565b600e5481565b600080821480610eec57506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1515610ef757600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60095481565b60185481565b600080600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806110a85750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806111005750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561110b57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149250600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149150600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905082801561122757506000600681111561121957fe5b85600681111561122557fe5b145b801561123557506010548611155b1561125a5761124f8660105461277290919063ffffffff16565b60108190555061150c565b8180156112b45750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80156112d65750600160068111156112c857fe5b8560068111156112d457fe5b145b156113505785601154101515611306576112fb8660115461277290919063ffffffff16565b60118190555061134b565b85601254601154011015156113415761132e601154870360125461277290919063ffffffff16565b601281905550600060118190555061134a565b6000935061160b565b5b61150b565b81801561137357506002600681111561136557fe5b85600681111561137157fe5b145b801561138157506012548611155b156113a65761139b8660125461277290919063ffffffff16565b60128190555061150a565b8280156113c95750600360068111156113bb57fe5b8560068111156113c757fe5b145b80156113d757506013548611155b156113fc576113f18660135461277290919063ffffffff16565b601381905550611509565b82801561141f57506004600681111561141157fe5b85600681111561141d57fe5b145b801561142d57506014548611155b15611452576114478660145461277290919063ffffffff16565b601481905550611508565b82801561147557506005600681111561146757fe5b85600681111561147357fe5b145b801561148357506015548611155b156114a85761149d8660155461277290919063ffffffff16565b601581905550611507565b8080156114ca57506006808111156114bc57fe5b8560068111156114c857fe5b145b80156114d857506017548611155b156114fd576114f28660175461277290919063ffffffff16565b601781905550611506565b6000935061160b565b5b5b5b5b5b5b8673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a36115c386600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461278b90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505b5050509392505050565b6000801515601c60009054906101000a900460ff16151514151561163857600080fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36116a88484846127a9565b90509392505050565b601281565b601a5481565b60085481565b60175481565b60195481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806117c35750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156117ce57600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60125481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561187457600080fd5b600060125411156118a55761189660125460175461278b90919063ffffffff16565b60178190555060006012819055505b565b601b5481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156119be576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a52565b6119d1838261277290919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b9a57600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600f5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611cd65750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611ce157600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d8757600080fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280600381526020017f444e4e000000000000000000000000000000000000000000000000000000000081525081565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611eb05750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611ebb57600080fd5b600080600080601a5414158015611ed957506224ea00601a54420310155b1515611ee457600080fd5b6224ea00611efd601a544261277290919063ffffffff16565b811515611f0657fe5b04925060195491506018549050808214158015611f2257508183115b1515611f2d57600080fd5b611f44601854600e54612a9590919063ffffffff16565b9350601654841115611f59576000945061217d565b611f6e8460165461277290919063ffffffff16565b601681905550611f8984601b5461278b90919063ffffffff16565b601b81905550612016611fa6600286612a9590919063ffffffff16565b60016000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461278b90919063ffffffff16565b60016000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612102612092600286612a9590919063ffffffff16565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461278b90919063ffffffff16565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001601960008282540192505081905550600194505b5050505090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c60009054906101000a900460ff1681565b6000801515601c60009054906101000a900460ff1615151415156121e057600080fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a361224f8383612ab0565b905092915050565b60155481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806123065750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561231157600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123e357600080fd5b600060115411156124145761240560115460125461278b90919063ffffffff16565b60128190555060006011819055505b565b60006124a782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461278b90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600d5481565b60135481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b60105481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561273357600080fd5b60011515601c60009054906101000a900460ff16151514151561275557600080fd5b6000601c60006101000a81548160ff021916908315150217905550565b600082821115151561278057fe5b818303905092915050565b600080828401905083811015151561279f57fe5b8091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156127e857600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506128b983600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277290919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061294e83600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461278b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129a4838261277290919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b6000808284811515612aa357fe5b0490508091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612aed57600080fd5b612b3f82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277290919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bd482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461278b90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008082840290506000841480612ca75750828482811515612ca457fe5b04145b1515612caf57fe5b80915050929150505600a165627a7a72305820291fe9bc7632c9fbc23aaba2993c1ac185ca9f127b731d8dd0df8c793f9a8b520029
Deployed Bytecode
0x60806040526004361061023a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062de1eb41461023f57806306993c971461026a57806306fdde03146102955780630914a36314610325578063095ea7b31461035057806318160ddd146103b557806320f067a8146103e057806322e9afca1461040b578063237d26281461043657806323b872dd146104a8578063313ce5671461052d57806336f93a991461055e57806339a5fdda14610589578063417ea2dc146105b4578063464da87e146105df5780634bde38c81461060a57806351290d061461066157806351a36e34146106b857806356996f6b146106fb57806359b7961014610726578063652ca8f41461073d57806366188463146107685780636b0f182e146107cd57806370a082311461081057806375288d9514610867578063753d93e41461089257806386852fd7146108d5578063941993f81461090057806395d89b411461094357806399cfe1e1146109d3578063a0abdba014610a02578063a1feba4214610a59578063a9059cbb14610a88578063b026712614610aed578063b3745afa14610b18578063b5f9371a14610b5b578063b70f4b1314610b86578063c269f26314610bdd578063ce21abf314610c08578063d73dd62314610c1f578063d8afd39214610c84578063d92da8f814610caf578063dd62ed3e14610cda578063f05aa33414610d51578063f770c96f14610da8578063f8adb68614610dd3578063f968f49314610dfe575b600080fd5b34801561024b57600080fd5b50610254610e15565b6040518082815260200191505060405180910390f35b34801561027657600080fd5b5061027f610e1b565b6040518082815260200191505060405180910390f35b3480156102a157600080fd5b506102aa610e21565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102ea5780820151818401526020810190506102cf565b50505050905090810190601f1680156103175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033157600080fd5b5061033a610e5a565b6040518082815260200191505060405180910390f35b34801561035c57600080fd5b5061039b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e60565b604051808215151515815260200191505060405180910390f35b3480156103c157600080fd5b506103ca610fe7565b6040518082815260200191505060405180910390f35b3480156103ec57600080fd5b506103f5610fed565b6040518082815260200191505060405180910390f35b34801561041757600080fd5b50610420610ff3565b6040518082815260200191505060405180910390f35b34801561044257600080fd5b5061048e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803560ff169060200190929190505050610ff9565b604051808215151515815260200191505060405180910390f35b3480156104b457600080fd5b50610513600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611615565b604051808215151515815260200191505060405180910390f35b34801561053957600080fd5b506105426116b1565b604051808260ff1660ff16815260200191505060405180910390f35b34801561056a57600080fd5b506105736116b6565b6040518082815260200191505060405180910390f35b34801561059557600080fd5b5061059e6116bc565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105c96116c2565b6040518082815260200191505060405180910390f35b3480156105eb57600080fd5b506105f46116c8565b6040518082815260200191505060405180910390f35b34801561061657600080fd5b5061061f6116ce565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561066d57600080fd5b506106766116f4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106c457600080fd5b506106f9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061171a565b005b34801561070757600080fd5b50610710611812565b6040518082815260200191505060405180910390f35b34801561073257600080fd5b5061073b611818565b005b34801561074957600080fd5b506107526118a7565b6040518082815260200191505060405180910390f35b34801561077457600080fd5b506107b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118ad565b604051808215151515815260200191505060405180910390f35b3480156107d957600080fd5b5061080e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b3e565b005b34801561081c57600080fd5b50610851600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bde565b6040518082815260200191505060405180910390f35b34801561087357600080fd5b5061087c611c27565b6040518082815260200191505060405180910390f35b34801561089e57600080fd5b506108d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c2d565b005b3480156108e157600080fd5b506108ea611d25565b6040518082815260200191505060405180910390f35b34801561090c57600080fd5b50610941600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d2b565b005b34801561094f57600080fd5b50610958611dcb565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561099857808201518184015260208101905061097d565b50505050905090810190601f1680156109c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109df57600080fd5b506109e8611e04565b604051808215151515815260200191505060405180910390f35b348015610a0e57600080fd5b50610a17612184565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a6557600080fd5b50610a6e6121aa565b604051808215151515815260200191505060405180910390f35b348015610a9457600080fd5b50610ad3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121bd565b604051808215151515815260200191505060405180910390f35b348015610af957600080fd5b50610b02612257565b6040518082815260200191505060405180910390f35b348015610b2457600080fd5b50610b59600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061225d565b005b348015610b6757600080fd5b50610b70612355565b6040518082815260200191505060405180910390f35b348015610b9257600080fd5b50610b9b61235b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610be957600080fd5b50610bf2612381565b6040518082815260200191505060405180910390f35b348015610c1457600080fd5b50610c1d612387565b005b348015610c2b57600080fd5b50610c6a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612416565b604051808215151515815260200191505060405180910390f35b348015610c9057600080fd5b50610c99612612565b6040518082815260200191505060405180910390f35b348015610cbb57600080fd5b50610cc4612618565b6040518082815260200191505060405180910390f35b348015610ce657600080fd5b50610d3b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061261e565b6040518082815260200191505060405180910390f35b348015610d5d57600080fd5b50610d666126a5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610db457600080fd5b50610dbd6126cb565b6040518082815260200191505060405180910390f35b348015610ddf57600080fd5b50610de86126d1565b6040518082815260200191505060405180910390f35b348015610e0a57600080fd5b50610e136126d7565b005b60165481565b60145481565b6040805190810160405280600381526020017f444e4e000000000000000000000000000000000000000000000000000000000081525081565b600e5481565b600080821480610eec57506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1515610ef757600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60095481565b60185481565b600080600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806110a85750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806111005750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561110b57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149250600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149150600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905082801561122757506000600681111561121957fe5b85600681111561122557fe5b145b801561123557506010548611155b1561125a5761124f8660105461277290919063ffffffff16565b60108190555061150c565b8180156112b45750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80156112d65750600160068111156112c857fe5b8560068111156112d457fe5b145b156113505785601154101515611306576112fb8660115461277290919063ffffffff16565b60118190555061134b565b85601254601154011015156113415761132e601154870360125461277290919063ffffffff16565b601281905550600060118190555061134a565b6000935061160b565b5b61150b565b81801561137357506002600681111561136557fe5b85600681111561137157fe5b145b801561138157506012548611155b156113a65761139b8660125461277290919063ffffffff16565b60128190555061150a565b8280156113c95750600360068111156113bb57fe5b8560068111156113c757fe5b145b80156113d757506013548611155b156113fc576113f18660135461277290919063ffffffff16565b601381905550611509565b82801561141f57506004600681111561141157fe5b85600681111561141d57fe5b145b801561142d57506014548611155b15611452576114478660145461277290919063ffffffff16565b601481905550611508565b82801561147557506005600681111561146757fe5b85600681111561147357fe5b145b801561148357506015548611155b156114a85761149d8660155461277290919063ffffffff16565b601581905550611507565b8080156114ca57506006808111156114bc57fe5b8560068111156114c857fe5b145b80156114d857506017548611155b156114fd576114f28660175461277290919063ffffffff16565b601781905550611506565b6000935061160b565b5b5b5b5b5b5b8673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a36115c386600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461278b90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505b5050509392505050565b6000801515601c60009054906101000a900460ff16151514151561163857600080fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36116a88484846127a9565b90509392505050565b601281565b601a5481565b60085481565b60175481565b60195481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806117c35750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156117ce57600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60125481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561187457600080fd5b600060125411156118a55761189660125460175461278b90919063ffffffff16565b60178190555060006012819055505b565b601b5481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156119be576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a52565b6119d1838261277290919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b9a57600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600f5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611cd65750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611ce157600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d8757600080fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280600381526020017f444e4e000000000000000000000000000000000000000000000000000000000081525081565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611eb05750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611ebb57600080fd5b600080600080601a5414158015611ed957506224ea00601a54420310155b1515611ee457600080fd5b6224ea00611efd601a544261277290919063ffffffff16565b811515611f0657fe5b04925060195491506018549050808214158015611f2257508183115b1515611f2d57600080fd5b611f44601854600e54612a9590919063ffffffff16565b9350601654841115611f59576000945061217d565b611f6e8460165461277290919063ffffffff16565b601681905550611f8984601b5461278b90919063ffffffff16565b601b81905550612016611fa6600286612a9590919063ffffffff16565b60016000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461278b90919063ffffffff16565b60016000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612102612092600286612a9590919063ffffffff16565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461278b90919063ffffffff16565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001601960008282540192505081905550600194505b5050505090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c60009054906101000a900460ff1681565b6000801515601c60009054906101000a900460ff1615151415156121e057600080fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a361224f8383612ab0565b905092915050565b60155481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806123065750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561231157600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123e357600080fd5b600060115411156124145761240560115460125461278b90919063ffffffff16565b60128190555060006011819055505b565b60006124a782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461278b90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600d5481565b60135481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b60105481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561273357600080fd5b60011515601c60009054906101000a900460ff16151514151561275557600080fd5b6000601c60006101000a81548160ff021916908315150217905550565b600082821115151561278057fe5b818303905092915050565b600080828401905083811015151561279f57fe5b8091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156127e857600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506128b983600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277290919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061294e83600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461278b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129a4838261277290919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b6000808284811515612aa357fe5b0490508091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612aed57600080fd5b612b3f82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277290919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bd482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461278b90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008082840290506000841480612ca75750828482811515612ca457fe5b04145b1515612caf57fe5b80915050929150505600a165627a7a72305820291fe9bc7632c9fbc23aaba2993c1ac185ca9f127b731d8dd0df8c793f9a8b520029
Swarm Source
bzzr://291fe9bc7632c9fbc23aaba2993c1ac185ca9f127b731d8dd0df8c793f9a8b52
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.