ERC-20
Overview
Max Total Supply
1,000,000,000 DANK
Holders
1,045
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DankToken
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Multiple files format)
pragma solidity ^0.4.24; import "./MiniMeToken.sol"; /** * @title Token used for curation of MemeFactory TCR * * @dev Standard MiniMe Token with pre-minted supply and with dead controller. */ contract DankToken is MiniMeToken { function DankToken(address _tokenFactory, uint _mintedAmount) MiniMeToken( _tokenFactory, 0x0, 0, "Dank Token", 18, "DANK", true ) { generateTokens(msg.sender, _mintedAmount); changeController(0x0); } }
pragma solidity ^0.4.18; contract Controlled { event ControllerChangedEvent(address newController); /// @notice The address of the controller is the only address that can call /// a function with this modifier modifier onlyController { require(msg.sender == controller); _; } address public controller; function Controlled() public { controller = msg.sender;} /// @notice Changes the controller of the contract /// @param _newController The new controller of the contract function changeController(address _newController) public onlyController { controller = _newController; emit ControllerChangedEvent(_newController); } }
pragma solidity ^0.4.18; /* Copyright 2016, Jordi Baylina This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /// @title MiniMeToken Contract /// @author Jordi Baylina /// @dev This token contract's goal is to make it easy for anyone to clone this /// token using the token distribution at a given block, this will allow DAO's /// and DApps to upgrade their features in a decentralized manner without /// affecting the original token /// @dev It is ERC20 compliant, but still needs to under go further testing. import "./Controlled.sol"; import "./TokenController.sol"; contract ApproveAndCallFallBack { function receiveApproval(address from, uint256 _amount, address _token, bytes _data) public; } /// @dev The actual token contract, the default controller is the msg.sender /// that deploys the contract, so usually this token will be deployed by a /// token controller contract, which Giveth will call a "Campaign" contract MiniMeToken is Controlled { string public name; //The Token's name: e.g. DigixDAO Tokens uint8 public decimals; //Number of decimals of the smallest unit string public symbol; //An identifier: e.g. REP string public version = 'MMT_0.2'; //An arbitrary versioning scheme /// @dev `Checkpoint` is the structure that attaches a block number to a /// given value, the block number attached is the one that last changed the /// value struct Checkpoint { // `fromBlock` is the block number that the value was generated from uint128 fromBlock; // `value` is the amount of tokens at a specific block number uint128 value; } // `parentToken` is the Token address that was cloned to produce this token; // it will be 0x0 for a token that was not cloned MiniMeToken public parentToken; // `parentSnapShotBlock` is the block number from the Parent Token that was // used to determine the initial distribution of the Clone Token uint public parentSnapShotBlock; // `creationBlock` is the block number that the Clone Token was created uint public creationBlock; // `balances` is the map that tracks the balance of each address, in this // contract when the balance changes the block number that the change // occurred is also included in the map mapping (address => Checkpoint[]) balances; // `allowed` tracks any extra transfer rights as in all ERC20 tokens mapping (address => mapping (address => uint256)) allowed; // Tracks the history of the `totalSupply` of the token Checkpoint[] totalSupplyHistory; // Flag that determines if the token is transferable or not. bool public transfersEnabled; // The factory used to create new clone tokens MiniMeTokenFactory public tokenFactory; //////////////// // Constructor //////////////// /// @notice Constructor to create a MiniMeToken /// @param _tokenFactory The address of the MiniMeTokenFactory contract that /// will create the Clone token contracts, the token factory needs to be /// deployed first /// @param _parentToken Address of the parent token, set to 0x0 if it is a /// new token /// @param _parentSnapShotBlock Block of the parent token that will /// determine the initial distribution of the clone token, set to 0 if it /// is a new token /// @param _tokenName Name of the new token /// @param _decimalUnits Number of decimals of the new token /// @param _tokenSymbol Token Symbol for the new token /// @param _transfersEnabled If true, tokens will be able to be transferred function MiniMeToken( address _tokenFactory, address _parentToken, uint _parentSnapShotBlock, string _tokenName, uint8 _decimalUnits, string _tokenSymbol, bool _transfersEnabled ) public { tokenFactory = MiniMeTokenFactory(_tokenFactory); name = _tokenName; // Set the name decimals = _decimalUnits; // Set the decimals symbol = _tokenSymbol; // Set the symbol parentToken = MiniMeToken(_parentToken); parentSnapShotBlock = _parentSnapShotBlock; transfersEnabled = _transfersEnabled; creationBlock = block.number; } /////////////////// // ERC20 Methods /////////////////// /// @notice Send `_amount` tokens to `_to` from `msg.sender` /// @param _to The address of the recipient /// @param _amount The amount of tokens to be transferred /// @return Whether the transfer was successful or not function transfer(address _to, uint256 _amount) public returns (bool success) { require(transfersEnabled); doTransfer(msg.sender, _to, _amount); return true; } /// @notice Send `_amount` tokens to `_to` from `_from` on the condition it /// is approved by `_from` /// @param _from The address holding the tokens being transferred /// @param _to The address of the recipient /// @param _amount The amount of tokens to be transferred /// @return True if the transfer was successful function transferFrom(address _from, address _to, uint256 _amount ) public returns (bool success) { // The controller of this contract can move tokens around at will, // this is important to recognize! Confirm that you trust the // controller of this contract, which in most situations should be // another open source smart contract or 0x0 if (msg.sender != controller) { require(transfersEnabled); // The standard ERC 20 transferFrom functionality require(allowed[_from][msg.sender] >= _amount); allowed[_from][msg.sender] -= _amount; } doTransfer(_from, _to, _amount); return true; } /// @dev This is the actual transfer function in the token contract, it can /// only be called by other functions in this contract. /// @param _from The address holding the tokens being transferred /// @param _to The address of the recipient /// @param _amount The amount of tokens to be transferred /// @return True if the transfer was successful function doTransfer(address _from, address _to, uint _amount ) internal { if (_amount == 0) { Transfer(_from, _to, _amount); // Follow the spec to louch the event when transfer 0 return; } require(parentSnapShotBlock < block.number); // Do not allow transfer to 0x0 or the token contract itself require((_to != 0) && (_to != address(this))); // If the amount being transfered is more than the balance of the // account the transfer throws var previousBalanceFrom = balanceOfAt(_from, block.number); require(previousBalanceFrom >= _amount); // Alerts the token controller of the transfer if (isContract(controller)) { require(TokenController(controller).onTransfer(_from, _to, _amount)); } // First update the balance array with the new value for the address // sending the tokens updateValueAtNow(balances[_from], previousBalanceFrom - _amount); // Then update the balance array with the new value for the address // receiving the tokens var previousBalanceTo = balanceOfAt(_to, block.number); require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow updateValueAtNow(balances[_to], previousBalanceTo + _amount); // An event to make the transfer easy to find on the blockchain Transfer(_from, _to, _amount); } /// @param _owner The address that's balance is being requested /// @return The balance of `_owner` at the current block function balanceOf(address _owner) public constant returns (uint256 balance) { return balanceOfAt(_owner, block.number); } /// @notice `msg.sender` approves `_spender` to spend `_amount` tokens on /// its behalf. This is a modified version of the ERC20 approve function /// to be a little bit safer /// @param _spender The address of the account able to transfer the tokens /// @param _amount The amount of tokens to be approved for transfer /// @return True if the approval was successful function approve(address _spender, uint256 _amount) public returns (bool success) { require(transfersEnabled); // 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((_amount == 0) || (allowed[msg.sender][_spender] == 0)); // Alerts the token controller of the approve function call if (isContract(controller)) { require(TokenController(controller).onApprove(msg.sender, _spender, _amount)); } allowed[msg.sender][_spender] = _amount; Approval(msg.sender, _spender, _amount); return true; } /// @dev This function makes it easy to read the `allowed[]` map /// @param _owner The address of the account that owns the token /// @param _spender The address of the account able to transfer the tokens /// @return Amount of remaining tokens of _owner that _spender is allowed /// to spend function allowance(address _owner, address _spender ) public constant returns (uint256 remaining) { return allowed[_owner][_spender]; } /// @notice `msg.sender` approves `_spender` to send `_amount` tokens on /// its behalf, and then a function is triggered in the contract that is /// being approved, `_spender`. This allows users to use their tokens to /// interact with contracts in one function call instead of two /// @param _spender The address of the contract able to transfer the tokens /// @param _amount The amount of tokens to be approved for transfer /// @return True if the function call was successful function approveAndCall(address _spender, uint256 _amount, bytes _extraData ) public returns (bool success) { require(approve(_spender, _amount)); ApproveAndCallFallBack(_spender).receiveApproval( msg.sender, _amount, this, _extraData ); return true; } /// @dev This function makes it easy to get the total number of tokens /// @return The total number of tokens function totalSupply() public constant returns (uint) { return totalSupplyAt(block.number); } //////////////// // Query balance and totalSupply in History //////////////// /// @dev Queries the balance of `_owner` at a specific `_blockNumber` /// @param _owner The address from which the balance will be retrieved /// @param _blockNumber The block number when the balance is queried /// @return The balance at `_blockNumber` function balanceOfAt(address _owner, uint _blockNumber) public constant returns (uint) { // These next few lines are used when the balance of the token is // requested before a check point was ever created for this token, it // requires that the `parentToken.balanceOfAt` be queried at the // genesis block for that token as this contains initial balance of // this token if ((balances[_owner].length == 0) || (balances[_owner][0].fromBlock > _blockNumber)) { if (address(parentToken) != 0) { return parentToken.balanceOfAt(_owner, min(_blockNumber, parentSnapShotBlock)); } else { // Has no parent return 0; } // This will return the expected balance during normal situations } else { return getValueAt(balances[_owner], _blockNumber); } } /// @notice Total amount of tokens at a specific `_blockNumber`. /// @param _blockNumber The block number when the totalSupply is queried /// @return The total amount of tokens at `_blockNumber` function totalSupplyAt(uint _blockNumber) public constant returns(uint) { // These next few lines are used when the totalSupply of the token is // requested before a check point was ever created for this token, it // requires that the `parentToken.totalSupplyAt` be queried at the // genesis block for this token as that contains totalSupply of this // token at this block number. if ((totalSupplyHistory.length == 0) || (totalSupplyHistory[0].fromBlock > _blockNumber)) { if (address(parentToken) != 0) { return parentToken.totalSupplyAt(min(_blockNumber, parentSnapShotBlock)); } else { return 0; } // This will return the expected totalSupply during normal situations } else { return getValueAt(totalSupplyHistory, _blockNumber); } } //////////////// // Clone Token Method //////////////// /// @notice Creates a new clone token with the initial distribution being /// this token at `_snapshotBlock` /// @param _cloneTokenName Name of the clone token /// @param _cloneDecimalUnits Number of decimals of the smallest unit /// @param _cloneTokenSymbol Symbol of the clone token /// @param _snapshotBlock Block when the distribution of the parent token is /// copied to set the initial distribution of the new clone token; /// if the block is zero than the actual block, the current block is used /// @param _transfersEnabled True if transfers are allowed in the clone /// @return The address of the new MiniMeToken Contract function createCloneToken( string _cloneTokenName, uint8 _cloneDecimalUnits, string _cloneTokenSymbol, uint _snapshotBlock, bool _transfersEnabled ) public returns(address) { if (_snapshotBlock == 0) _snapshotBlock = block.number; MiniMeToken cloneToken = tokenFactory.createCloneToken( this, _snapshotBlock, _cloneTokenName, _cloneDecimalUnits, _cloneTokenSymbol, _transfersEnabled ); cloneToken.changeController(msg.sender); // An event to make the token easy to find on the blockchain NewCloneToken(address(cloneToken), _snapshotBlock); return address(cloneToken); } //////////////// // Generate and destroy tokens //////////////// /// @notice Generates `_amount` tokens that are assigned to `_owner` /// @param _owner The address that will be assigned the new tokens /// @param _amount The quantity of tokens generated /// @return True if the tokens are generated correctly function generateTokens(address _owner, uint _amount ) public onlyController returns (bool) { uint curTotalSupply = totalSupply(); require(curTotalSupply + _amount >= curTotalSupply); // Check for overflow uint previousBalanceTo = balanceOf(_owner); require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow updateValueAtNow(totalSupplyHistory, curTotalSupply + _amount); updateValueAtNow(balances[_owner], previousBalanceTo + _amount); Transfer(0, _owner, _amount); return true; } /// @notice Burns `_amount` tokens from `_owner` /// @param _owner The address that will lose the tokens /// @param _amount The quantity of tokens to burn /// @return True if the tokens are burned correctly function destroyTokens(address _owner, uint _amount ) onlyController public returns (bool) { uint curTotalSupply = totalSupply(); require(curTotalSupply >= _amount); uint previousBalanceFrom = balanceOf(_owner); require(previousBalanceFrom >= _amount); updateValueAtNow(totalSupplyHistory, curTotalSupply - _amount); updateValueAtNow(balances[_owner], previousBalanceFrom - _amount); Transfer(_owner, 0, _amount); return true; } //////////////// // Enable tokens transfers //////////////// /// @notice Enables token holders to transfer their tokens freely if true /// @param _transfersEnabled True if transfers are allowed in the clone function enableTransfers(bool _transfersEnabled) public onlyController { transfersEnabled = _transfersEnabled; } //////////////// // Internal helper functions to query and set a value in a snapshot array //////////////// /// @dev `getValueAt` retrieves the number of tokens at a given block number /// @param checkpoints The history of values being queried /// @param _block The block number to retrieve the value at /// @return The number of tokens being queried function getValueAt(Checkpoint[] storage checkpoints, uint _block ) constant internal returns (uint) { if (checkpoints.length == 0) return 0; // Shortcut for the actual value if (_block >= checkpoints[checkpoints.length-1].fromBlock) return checkpoints[checkpoints.length-1].value; if (_block < checkpoints[0].fromBlock) return 0; // Binary search of the value in the array uint min = 0; uint max = checkpoints.length-1; while (max > min) { uint mid = (max + min + 1)/ 2; if (checkpoints[mid].fromBlock<=_block) { min = mid; } else { max = mid-1; } } return checkpoints[min].value; } /// @dev `updateValueAtNow` used to update the `balances` map and the /// `totalSupplyHistory` /// @param checkpoints The history of data being updated /// @param _value The new number of tokens function updateValueAtNow(Checkpoint[] storage checkpoints, uint _value ) internal { if ((checkpoints.length == 0) || (checkpoints[checkpoints.length -1].fromBlock < block.number)) { Checkpoint storage newCheckPoint = checkpoints[ checkpoints.length++ ]; newCheckPoint.fromBlock = uint128(block.number); newCheckPoint.value = uint128(_value); } else { Checkpoint storage oldCheckPoint = checkpoints[checkpoints.length-1]; oldCheckPoint.value = uint128(_value); } } /// @dev Internal function to determine if an address is a contract /// @param _addr The address being queried /// @return True if `_addr` is a contract function isContract(address _addr) constant internal returns(bool) { uint size; if (_addr == 0) return false; assembly { size := extcodesize(_addr) } return size>0; } /// @dev Helper function to return a min betwen the two uints function min(uint a, uint b) pure internal returns (uint) { return a < b ? a : b; } /// @notice The fallback function: If the contract's controller has not been /// set to 0, then the `proxyPayment` method is called which relays the /// ether and creates tokens as described in the token controller contract function () public payable { require(isContract(controller)); require(TokenController(controller).proxyPayment.value(msg.value)(msg.sender)); } ////////// // Safety Methods ////////// /// @notice This method can be used by the controller to extract mistakenly /// sent tokens to this contract. /// @param _token The address of the token contract that you want to recover /// set to 0 in case you want to extract ether. function claimTokens(address _token) public onlyController { if (_token == 0x0) { controller.transfer(this.balance); return; } MiniMeToken token = MiniMeToken(_token); uint balance = token.balanceOf(this); token.transfer(controller, balance); ClaimedTokens(_token, controller, balance); } //////////////// // Events //////////////// event ClaimedTokens(address indexed _token, address indexed _controller, uint _amount); event Transfer(address indexed _from, address indexed _to, uint256 _amount); event NewCloneToken(address indexed _cloneToken, uint _snapshotBlock); event Approval( address indexed _owner, address indexed _spender, uint256 _amount ); } //////////////// // MiniMeTokenFactory //////////////// /// @dev This contract is used to generate clone contracts from a contract. /// In solidity this is the way to create a contract from a contract of the /// same class contract MiniMeTokenFactory { /// @notice Update the DApp by creating a new token with new functionalities /// the msg.sender becomes the controller of this clone token /// @param _parentToken Address of the token being cloned /// @param _snapshotBlock Block of the parent token that will /// determine the initial distribution of the clone token /// @param _tokenName Name of the new token /// @param _decimalUnits Number of decimals of the new token /// @param _tokenSymbol Token Symbol for the new token /// @param _transfersEnabled If true, tokens will be able to be transferred /// @return The address of the new token contract function createCloneToken( address _parentToken, uint _snapshotBlock, string _tokenName, uint8 _decimalUnits, string _tokenSymbol, bool _transfersEnabled ) public returns (MiniMeToken) { MiniMeToken newToken = new MiniMeToken( this, _parentToken, _snapshotBlock, _tokenName, _decimalUnits, _tokenSymbol, _transfersEnabled ); newToken.changeController(msg.sender); return newToken; } }
pragma solidity ^0.4.18; /// @dev The token controller contract must implement these functions contract TokenController { /// @notice Called when `_owner` sends ether to the MiniMe Token contract /// @param _owner The address that sent the ether to create tokens /// @return True if the ether is accepted, false if it throws function proxyPayment(address _owner) public payable returns(bool); /// @notice Notifies the controller about a token transfer allowing the /// controller to react if desired /// @param _from The origin of the transfer /// @param _to The destination of the transfer /// @param _amount The amount of the transfer /// @return False if the controller does not authorize the transfer function onTransfer(address _from, address _to, uint _amount) public returns(bool); /// @notice Notifies the controller about an approval allowing the /// controller to react if desired /// @param _owner The address that calls `approve()` /// @param _spender The spender in the `approve()` call /// @param _amount The amount in the `approve()` call /// @return False if the controller does not authorize the approval function onApprove(address _owner, address _spender, uint _amount) public returns(bool); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"creationBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newController","type":"address"}],"name":"changeController","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_blockNumber","type":"uint256"}],"name":"balanceOfAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_cloneTokenName","type":"string"},{"name":"_cloneDecimalUnits","type":"uint8"},{"name":"_cloneTokenSymbol","type":"string"},{"name":"_snapshotBlock","type":"uint256"},{"name":"_transfersEnabled","type":"bool"}],"name":"createCloneToken","outputs":[{"name":"","type":"address"}],"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":"parentToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_amount","type":"uint256"}],"name":"generateTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_blockNumber","type":"uint256"}],"name":"totalSupplyAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transfersEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"parentSnapShotBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_amount","type":"uint256"}],"name":"destroyTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"_token","type":"address"}],"name":"claimTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenFactory","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_transfersEnabled","type":"bool"}],"name":"enableTransfers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"controller","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenFactory","type":"address"},{"name":"_mintedAmount","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_token","type":"address"},{"indexed":true,"name":"_controller","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"ClaimedTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_cloneToken","type":"address"},{"indexed":false,"name":"_snapshotBlock","type":"uint256"}],"name":"NewCloneToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newController","type":"address"}],"name":"ControllerChangedEvent","type":"event"}]
Contract Creation Code
60c0604052600760808190527f4d4d545f302e320000000000000000000000000000000000000000000000000060a09081526200004091600491906200088d565b503480156200004e57600080fd5b50604051604080620022b183398101604081815282516020938401518284018352600a84527f44616e6b20546f6b656e000000000000000000000000000000000000000000008585019081528351808501909452600484527f44414e4b000000000000000000000000000000000000000000000000000000009584019590955260008054600160a060020a03191633178155600b8054600160a060020a0385166101000261010060a860020a03199091161790558451929591948694919384939192601292909160019162000126918391906200088d565b506002805460ff191660ff851617905581516200014b9060039060208501906200088d565b5060058054600160a060020a031916600160a060020a039790971696909617909555505050600655600b805460ff191691151591909117905550436007556200019e3382640100000000620001bc810204565b50620001b46000640100000000620002b7810204565b50506200095b565b6000805481908190600160a060020a03163314620001d957600080fd5b620001ec64010000000062000323810204565b9150838201821115620001fe57600080fd5b62000212856401000000006200033f810204565b90508381018111156200022457600080fd5b6200023c600a8386016401000000006200035e810204565b600160a060020a03851660009081526008602052604090206200026b908286016401000000006200035e810204565b604080518581529051600160a060020a038716916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3506001949350505050565b600054600160a060020a03163314620002cf57600080fd5b60008054600160a060020a038316600160a060020a0319909116811790915560408051918252517fe9f803dafbbb3677c472caf36bb0918eca91152ea7aa6591e85e3d7783fdcbdb9181900360200190a150565b6000620003394364010000000062000453810204565b90505b90565b600062000356824364010000000062000580810204565b90505b919050565b81546000908190158062000399575083544390859060001981019081106200038257fe5b6000918252602090912001546001608060020a0316105b15620004075783548490620003b2826001830162000912565b81548110620003bd57fe5b600091825260209091200180546001608060020a03858116700100000000000000000000000000000000024382166001608060020a0319909316929092171617815591506200044d565b8354849060001981019081106200041a57fe5b600091825260209091200180546001608060020a0380861670010000000000000000000000000000000002911617815590505b50505050565b600a5460009015806200048a575081600a60008154811015156200047357fe5b6000918252602090912001546001608060020a0316115b156200056257600554600160a060020a0316156200055957600554600654600160a060020a039091169063981b24d090620004d090859064010000000062000707810204565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156200052357600080fd5b505af115801562000538573d6000803e3d6000fd5b505050506040513d60208110156200054f57600080fd5b5051905062000359565b50600062000359565b62000578600a836401000000006200071f810204565b905062000359565b600160a060020a0382166000908152600860205260408120541580620005de5750600160a060020a038316600090815260086020526040812080548492908110620005c757fe5b6000918252602090912001546001608060020a0316115b15620006d157600554600160a060020a031615620006c857600554600654600160a060020a0390911690634ee2cd7e9085906200062690869064010000000062000707810204565b6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1580156200069257600080fd5b505af1158015620006a7573d6000803e3d6000fd5b505050506040513d6020811015620006be57600080fd5b5051905062000701565b50600062000701565b600160a060020a0383166000908152600860205260409020620006fe90836401000000006200071f810204565b90505b92915050565b6000818310620007185781620006fe565b5090919050565b6000806000808580549050600014156200073d576000935062000884565b8554869060001981019081106200075057fe5b6000918252602090912001546001608060020a03168510620007b0578554869060001981019081106200077f57fe5b60009182526020909120015470010000000000000000000000000000000090046001608060020a0316935062000884565b856000815481101515620007c057fe5b6000918252602090912001546001608060020a0316851015620007e7576000935062000884565b8554600093506000190191505b82821115620008495760026001838501010490508486828154811015156200081857fe5b6000918252602090912001546001608060020a0316116200083c5780925062000843565b6001810391505b620007f4565b85838154811015156200085857fe5b60009182526020909120015470010000000000000000000000000000000090046001608060020a031693505b50505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620008d057805160ff191683800117855562000900565b8280016001018555821562000900579182015b8281111562000900578251825591602001919060010190620008e3565b506200090e9291506200093e565b5090565b8154818355818111156200093957600083815260209020620009399181019083016200093e565b505050565b6200033c91905b808211156200090e576000815560010162000945565b611946806200096b6000396000f30060806040526004361061012f5763ffffffff60e060020a60003504166306fdde0381146101ef578063095ea7b31461027957806317634514146102b157806318160ddd146102d857806323b872dd146102ed578063313ce567146103175780633cebb823146103425780634ee2cd7e1461036357806354fd4d50146103875780636638c0871461039c57806370a082311461045f57806380a5400114610480578063827f32c01461049557806395d89b41146104b9578063981b24d0146104ce578063a9059cbb146104e6578063bef97c871461050a578063c5bcc4f11461051f578063cae9ca5114610534578063d3ce77fe1461059d578063dd62ed3e146105c1578063df8de3e7146105e8578063e77772fe14610609578063f41e60c51461061e578063f77c479114610638575b60005461014490600160a060020a031661064d565b151561014f57600080fd5b600054604080517ff48c30540000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163f48c3054913491602480830192602092919082900301818588803b1580156101b557600080fd5b505af11580156101c9573d6000803e3d6000fd5b50505050506040513d60208110156101e057600080fd5b505115156101ed57600080fd5b005b3480156101fb57600080fd5b5061020461067a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023e578181015183820152602001610226565b50505050905090810190601f16801561026b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028557600080fd5b5061029d600160a060020a0360043516602435610707565b604080519115158252519081900360200190f35b3480156102bd57600080fd5b506102c6610885565b60408051918252519081900360200190f35b3480156102e457600080fd5b506102c661088b565b3480156102f957600080fd5b5061029d600160a060020a036004358116906024351660443561089c565b34801561032357600080fd5b5061032c610930565b6040805160ff9092168252519081900360200190f35b34801561034e57600080fd5b506101ed600160a060020a0360043516610939565b34801561036f57600080fd5b506102c6600160a060020a03600435166024356109b1565b34801561039357600080fd5b50610204610afe565b3480156103a857600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261044394369492936024939284019190819084018382808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b60ff8b35169b909a909994019750919550918201935091508190840183828082843750949750508435955050505050602001351515610b59565b60408051600160a060020a039092168252519081900360200190f35b34801561046b57600080fd5b506102c6600160a060020a0360043516610db3565b34801561048c57600080fd5b50610443610dc7565b3480156104a157600080fd5b5061029d600160a060020a0360043516602435610dd6565b3480156104c557600080fd5b50610204610e90565b3480156104da57600080fd5b506102c6600435610eeb565b3480156104f257600080fd5b5061029d600160a060020a0360043516602435610fdf565b34801561051657600080fd5b5061029d611007565b34801561052b57600080fd5b506102c6611010565b34801561054057600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261029d948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506110169650505050505050565b3480156105a957600080fd5b5061029d600160a060020a0360043516602435611131565b3480156105cd57600080fd5b506102c6600160a060020a03600435811690602435166111e7565b3480156105f457600080fd5b506101ed600160a060020a0360043516611212565b34801561061557600080fd5b506104436113f9565b34801561062a57600080fd5b506101ed600435151561140d565b34801561064457600080fd5b50610443611437565b600080600160a060020a03831615156106695760009150610674565b823b90506000811191505b50919050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106ff5780601f106106d4576101008083540402835291602001916106ff565b820191906000526020600020905b8154815290600101906020018083116106e257829003601f168201915b505050505081565b600b5460009060ff16151561071b57600080fd5b8115806107495750336000908152600960209081526040808320600160a060020a0387168452909152902054155b151561075457600080fd5b60005461076990600160a060020a031661064d565b1561081d5760008054604080517fda682aeb000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038781166024830152604482018790529151919092169263da682aeb92606480820193602093909283900390910190829087803b1580156107e657600080fd5b505af11580156107fa573d6000803e3d6000fd5b505050506040513d602081101561081057600080fd5b5051151561081d57600080fd5b336000818152600960209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60075481565b600061089643610eeb565b90505b90565b60008054600160a060020a0316331461091b57600b5460ff1615156108c057600080fd5b600160a060020a03841660009081526009602090815260408083203384529091529020548211156108f057600080fd5b600160a060020a03841660009081526009602090815260408083203384529091529020805483900390555b610926848484611446565b5060019392505050565b60025460ff1681565b600054600160a060020a0316331461095057600080fd5b60008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517fe9f803dafbbb3677c472caf36bb0918eca91152ea7aa6591e85e3d7783fdcbdb9181900360200190a150565b600160a060020a0382166000908152600860205260408120541580610a0d5750600160a060020a0383166000908152600860205260408120805484929081106109f657fe5b6000918252602090912001546001608060020a0316115b15610ad557600554600160a060020a031615610acd57600554600654600160a060020a0390911690634ee2cd7e908590610a48908690611650565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610a9a57600080fd5b505af1158015610aae573d6000803e3d6000fd5b505050506040513d6020811015610ac457600080fd5b5051905061087f565b50600061087f565b600160a060020a0383166000908152600860205260409020610af79083611668565b905061087f565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106ff5780601f106106d4576101008083540402835291602001916106ff565b600080831515610b67574393505b600b546040517f5b7b72c100000000000000000000000000000000000000000000000000000000815230600482018181526024830188905260ff8a16606484015286151560a484015260c0604484019081528b5160c48501528b51610100909504600160a060020a031694635b7b72c1948a938e938e938e938d939291608482019160e40190602089019080838360005b83811015610c10578181015183820152602001610bf8565b50505050905090810190601f168015610c3d5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015610c70578181015183820152602001610c58565b50505050905090810190601f168015610c9d5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b158015610cc257600080fd5b505af1158015610cd6573d6000803e3d6000fd5b505050506040513d6020811015610cec57600080fd5b5051604080517f3cebb8230000000000000000000000000000000000000000000000000000000081523360048201529051919250600160a060020a03831691633cebb8239160248082019260009290919082900301818387803b158015610d5257600080fd5b505af1158015610d66573d6000803e3d6000fd5b5050604080518781529051600160a060020a03851693507f086c875b377f900b07ce03575813022f05dd10ed7640b5282cf6d3c3fc352ade92509081900360200190a29695505050505050565b6000610dbf82436109b1565b90505b919050565b600554600160a060020a031681565b6000805481908190600160a060020a03163314610df257600080fd5b610dfa61088b565b9150838201821115610e0b57600080fd5b610e1485610db3565b9050838101811115610e2557600080fd5b610e32600a8584016117c7565b600160a060020a0385166000908152600860205260409020610e56908286016117c7565b604080518581529051600160a060020a038716916000916000805160206118fb8339815191529181900360200190a3506001949350505050565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106ff5780601f106106d4576101008083540402835291602001916106ff565b600a546000901580610f20575081600a6000815481101515610f0957fe5b6000918252602090912001546001608060020a0316115b15610fcd57600554600160a060020a031615610fc557600554600654600160a060020a039091169063981b24d090610f59908590611650565b6040518263ffffffff1660e060020a02815260040180828152602001915050602060405180830381600087803b158015610f9257600080fd5b505af1158015610fa6573d6000803e3d6000fd5b505050506040513d6020811015610fbc57600080fd5b50519050610dc2565b506000610dc2565b610fd8600a83611668565b9050610dc2565b600b5460009060ff161515610ff357600080fd5b610ffe338484611446565b50600192915050565b600b5460ff1681565b60065481565b60006110228484610707565b151561102d57600080fd5b6040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018690523060448401819052608060648501908152865160848601528651600160a060020a038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b838110156110c05781810151838201526020016110a8565b50505050905090810190601f1680156110ed5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561110f57600080fd5b505af1158015611123573d6000803e3d6000fd5b506001979650505050505050565b6000805481908190600160a060020a0316331461114d57600080fd5b61115561088b565b91508382101561116457600080fd5b61116d85610db3565b90508381101561117c57600080fd5b611189600a8584036117c7565b600160a060020a03851660009081526008602052604090206111ad908583036117c7565b604080518581529051600091600160a060020a038816916000805160206118fb8339815191529181900360200190a3506001949350505050565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b600080548190600160a060020a0316331461122c57600080fd5b600160a060020a038316151561127d5760008054604051600160a060020a0390911691303180156108fc02929091818181858888f19350505050158015611277573d6000803e3d6000fd5b506113f4565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156112e157600080fd5b505af11580156112f5573d6000803e3d6000fd5b505050506040513d602081101561130b57600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b15801561138157600080fd5b505af1158015611395573d6000803e3d6000fd5b505050506040513d60208110156113ab57600080fd5b5050600054604080518381529051600160a060020a03928316928616917ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c919081900360200190a35b505050565b600b546101009004600160a060020a031681565b600054600160a060020a0316331461142457600080fd5b600b805460ff1916911515919091179055565b600054600160a060020a031681565b60008082151561148e5783600160a060020a031685600160a060020a03166000805160206118fb833981519152856040518082815260200191505060405180910390a3611649565b600654431161149c57600080fd5b600160a060020a038416158015906114bd5750600160a060020a0384163014155b15156114c857600080fd5b6114d285436109b1565b9150828210156114e157600080fd5b6000546114f690600160a060020a031661064d565b156115ac5760008054604080517f4a393149000000000000000000000000000000000000000000000000000000008152600160a060020a03898116600483015288811660248301526044820188905291519190921692634a39314992606480820193602093909283900390910190829087803b15801561157557600080fd5b505af1158015611589573d6000803e3d6000fd5b505050506040513d602081101561159f57600080fd5b505115156115ac57600080fd5b600160a060020a03851660009081526008602052604090206115d0908484036117c7565b6115da84436109b1565b90508281018111156115eb57600080fd5b600160a060020a038416600090815260086020526040902061160f908285016117c7565b83600160a060020a031685600160a060020a03166000805160206118fb833981519152856040518082815260200191505060405180910390a35b5050505050565b600081831061165f5781611661565b825b9392505050565b60008060008085805490506000141561168457600093506117be565b85548690600019810190811061169657fe5b6000918252602090912001546001608060020a031685106116f3578554869060001981019081106116c357fe5b60009182526020909120015470010000000000000000000000000000000090046001608060020a031693506117be565b85600081548110151561170257fe5b6000918252602090912001546001608060020a031685101561172757600093506117be565b8554600093506000190191505b8282111561178457600260018385010104905084868281548110151561175657fe5b6000918252602090912001546001608060020a0316116117785780925061177f565b6001810391505b611734565b858381548110151561179257fe5b60009182526020909120015470010000000000000000000000000000000090046001608060020a031693505b50505092915050565b815460009081901580611800575083544390859060001981019081106117e957fe5b6000918252602090912001546001608060020a0316105b15611872578354849061181682600183016118bd565b8154811061182057fe5b600091825260209091200180546001608060020a03858116700100000000000000000000000000000000024382166fffffffffffffffffffffffffffffffff19909316929092171617815591506118b7565b83548490600019810190811061188457fe5b600091825260209091200180546001608060020a0380861670010000000000000000000000000000000002911617815590505b50505050565b8154818355818111156113f4576000838152602090206113f491810190830161089991905b808211156118f657600081556001016118e2565b50905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820bbb55d78fa007df226e2c01dd9de3a1e6bce87b215a18e67ba2f1f7ded8d613800290000000000000000000000007cc607ba48f19ea817525c546cbec2bbae8d14990000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
Deployed Bytecode
0x60806040526004361061012f5763ffffffff60e060020a60003504166306fdde0381146101ef578063095ea7b31461027957806317634514146102b157806318160ddd146102d857806323b872dd146102ed578063313ce567146103175780633cebb823146103425780634ee2cd7e1461036357806354fd4d50146103875780636638c0871461039c57806370a082311461045f57806380a5400114610480578063827f32c01461049557806395d89b41146104b9578063981b24d0146104ce578063a9059cbb146104e6578063bef97c871461050a578063c5bcc4f11461051f578063cae9ca5114610534578063d3ce77fe1461059d578063dd62ed3e146105c1578063df8de3e7146105e8578063e77772fe14610609578063f41e60c51461061e578063f77c479114610638575b60005461014490600160a060020a031661064d565b151561014f57600080fd5b600054604080517ff48c30540000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163f48c3054913491602480830192602092919082900301818588803b1580156101b557600080fd5b505af11580156101c9573d6000803e3d6000fd5b50505050506040513d60208110156101e057600080fd5b505115156101ed57600080fd5b005b3480156101fb57600080fd5b5061020461067a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023e578181015183820152602001610226565b50505050905090810190601f16801561026b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028557600080fd5b5061029d600160a060020a0360043516602435610707565b604080519115158252519081900360200190f35b3480156102bd57600080fd5b506102c6610885565b60408051918252519081900360200190f35b3480156102e457600080fd5b506102c661088b565b3480156102f957600080fd5b5061029d600160a060020a036004358116906024351660443561089c565b34801561032357600080fd5b5061032c610930565b6040805160ff9092168252519081900360200190f35b34801561034e57600080fd5b506101ed600160a060020a0360043516610939565b34801561036f57600080fd5b506102c6600160a060020a03600435166024356109b1565b34801561039357600080fd5b50610204610afe565b3480156103a857600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261044394369492936024939284019190819084018382808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b60ff8b35169b909a909994019750919550918201935091508190840183828082843750949750508435955050505050602001351515610b59565b60408051600160a060020a039092168252519081900360200190f35b34801561046b57600080fd5b506102c6600160a060020a0360043516610db3565b34801561048c57600080fd5b50610443610dc7565b3480156104a157600080fd5b5061029d600160a060020a0360043516602435610dd6565b3480156104c557600080fd5b50610204610e90565b3480156104da57600080fd5b506102c6600435610eeb565b3480156104f257600080fd5b5061029d600160a060020a0360043516602435610fdf565b34801561051657600080fd5b5061029d611007565b34801561052b57600080fd5b506102c6611010565b34801561054057600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261029d948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506110169650505050505050565b3480156105a957600080fd5b5061029d600160a060020a0360043516602435611131565b3480156105cd57600080fd5b506102c6600160a060020a03600435811690602435166111e7565b3480156105f457600080fd5b506101ed600160a060020a0360043516611212565b34801561061557600080fd5b506104436113f9565b34801561062a57600080fd5b506101ed600435151561140d565b34801561064457600080fd5b50610443611437565b600080600160a060020a03831615156106695760009150610674565b823b90506000811191505b50919050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106ff5780601f106106d4576101008083540402835291602001916106ff565b820191906000526020600020905b8154815290600101906020018083116106e257829003601f168201915b505050505081565b600b5460009060ff16151561071b57600080fd5b8115806107495750336000908152600960209081526040808320600160a060020a0387168452909152902054155b151561075457600080fd5b60005461076990600160a060020a031661064d565b1561081d5760008054604080517fda682aeb000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038781166024830152604482018790529151919092169263da682aeb92606480820193602093909283900390910190829087803b1580156107e657600080fd5b505af11580156107fa573d6000803e3d6000fd5b505050506040513d602081101561081057600080fd5b5051151561081d57600080fd5b336000818152600960209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60075481565b600061089643610eeb565b90505b90565b60008054600160a060020a0316331461091b57600b5460ff1615156108c057600080fd5b600160a060020a03841660009081526009602090815260408083203384529091529020548211156108f057600080fd5b600160a060020a03841660009081526009602090815260408083203384529091529020805483900390555b610926848484611446565b5060019392505050565b60025460ff1681565b600054600160a060020a0316331461095057600080fd5b60008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517fe9f803dafbbb3677c472caf36bb0918eca91152ea7aa6591e85e3d7783fdcbdb9181900360200190a150565b600160a060020a0382166000908152600860205260408120541580610a0d5750600160a060020a0383166000908152600860205260408120805484929081106109f657fe5b6000918252602090912001546001608060020a0316115b15610ad557600554600160a060020a031615610acd57600554600654600160a060020a0390911690634ee2cd7e908590610a48908690611650565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610a9a57600080fd5b505af1158015610aae573d6000803e3d6000fd5b505050506040513d6020811015610ac457600080fd5b5051905061087f565b50600061087f565b600160a060020a0383166000908152600860205260409020610af79083611668565b905061087f565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106ff5780601f106106d4576101008083540402835291602001916106ff565b600080831515610b67574393505b600b546040517f5b7b72c100000000000000000000000000000000000000000000000000000000815230600482018181526024830188905260ff8a16606484015286151560a484015260c0604484019081528b5160c48501528b51610100909504600160a060020a031694635b7b72c1948a938e938e938e938d939291608482019160e40190602089019080838360005b83811015610c10578181015183820152602001610bf8565b50505050905090810190601f168015610c3d5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015610c70578181015183820152602001610c58565b50505050905090810190601f168015610c9d5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b158015610cc257600080fd5b505af1158015610cd6573d6000803e3d6000fd5b505050506040513d6020811015610cec57600080fd5b5051604080517f3cebb8230000000000000000000000000000000000000000000000000000000081523360048201529051919250600160a060020a03831691633cebb8239160248082019260009290919082900301818387803b158015610d5257600080fd5b505af1158015610d66573d6000803e3d6000fd5b5050604080518781529051600160a060020a03851693507f086c875b377f900b07ce03575813022f05dd10ed7640b5282cf6d3c3fc352ade92509081900360200190a29695505050505050565b6000610dbf82436109b1565b90505b919050565b600554600160a060020a031681565b6000805481908190600160a060020a03163314610df257600080fd5b610dfa61088b565b9150838201821115610e0b57600080fd5b610e1485610db3565b9050838101811115610e2557600080fd5b610e32600a8584016117c7565b600160a060020a0385166000908152600860205260409020610e56908286016117c7565b604080518581529051600160a060020a038716916000916000805160206118fb8339815191529181900360200190a3506001949350505050565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106ff5780601f106106d4576101008083540402835291602001916106ff565b600a546000901580610f20575081600a6000815481101515610f0957fe5b6000918252602090912001546001608060020a0316115b15610fcd57600554600160a060020a031615610fc557600554600654600160a060020a039091169063981b24d090610f59908590611650565b6040518263ffffffff1660e060020a02815260040180828152602001915050602060405180830381600087803b158015610f9257600080fd5b505af1158015610fa6573d6000803e3d6000fd5b505050506040513d6020811015610fbc57600080fd5b50519050610dc2565b506000610dc2565b610fd8600a83611668565b9050610dc2565b600b5460009060ff161515610ff357600080fd5b610ffe338484611446565b50600192915050565b600b5460ff1681565b60065481565b60006110228484610707565b151561102d57600080fd5b6040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018690523060448401819052608060648501908152865160848601528651600160a060020a038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b838110156110c05781810151838201526020016110a8565b50505050905090810190601f1680156110ed5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561110f57600080fd5b505af1158015611123573d6000803e3d6000fd5b506001979650505050505050565b6000805481908190600160a060020a0316331461114d57600080fd5b61115561088b565b91508382101561116457600080fd5b61116d85610db3565b90508381101561117c57600080fd5b611189600a8584036117c7565b600160a060020a03851660009081526008602052604090206111ad908583036117c7565b604080518581529051600091600160a060020a038816916000805160206118fb8339815191529181900360200190a3506001949350505050565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b600080548190600160a060020a0316331461122c57600080fd5b600160a060020a038316151561127d5760008054604051600160a060020a0390911691303180156108fc02929091818181858888f19350505050158015611277573d6000803e3d6000fd5b506113f4565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156112e157600080fd5b505af11580156112f5573d6000803e3d6000fd5b505050506040513d602081101561130b57600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b15801561138157600080fd5b505af1158015611395573d6000803e3d6000fd5b505050506040513d60208110156113ab57600080fd5b5050600054604080518381529051600160a060020a03928316928616917ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c919081900360200190a35b505050565b600b546101009004600160a060020a031681565b600054600160a060020a0316331461142457600080fd5b600b805460ff1916911515919091179055565b600054600160a060020a031681565b60008082151561148e5783600160a060020a031685600160a060020a03166000805160206118fb833981519152856040518082815260200191505060405180910390a3611649565b600654431161149c57600080fd5b600160a060020a038416158015906114bd5750600160a060020a0384163014155b15156114c857600080fd5b6114d285436109b1565b9150828210156114e157600080fd5b6000546114f690600160a060020a031661064d565b156115ac5760008054604080517f4a393149000000000000000000000000000000000000000000000000000000008152600160a060020a03898116600483015288811660248301526044820188905291519190921692634a39314992606480820193602093909283900390910190829087803b15801561157557600080fd5b505af1158015611589573d6000803e3d6000fd5b505050506040513d602081101561159f57600080fd5b505115156115ac57600080fd5b600160a060020a03851660009081526008602052604090206115d0908484036117c7565b6115da84436109b1565b90508281018111156115eb57600080fd5b600160a060020a038416600090815260086020526040902061160f908285016117c7565b83600160a060020a031685600160a060020a03166000805160206118fb833981519152856040518082815260200191505060405180910390a35b5050505050565b600081831061165f5781611661565b825b9392505050565b60008060008085805490506000141561168457600093506117be565b85548690600019810190811061169657fe5b6000918252602090912001546001608060020a031685106116f3578554869060001981019081106116c357fe5b60009182526020909120015470010000000000000000000000000000000090046001608060020a031693506117be565b85600081548110151561170257fe5b6000918252602090912001546001608060020a031685101561172757600093506117be565b8554600093506000190191505b8282111561178457600260018385010104905084868281548110151561175657fe5b6000918252602090912001546001608060020a0316116117785780925061177f565b6001810391505b611734565b858381548110151561179257fe5b60009182526020909120015470010000000000000000000000000000000090046001608060020a031693505b50505092915050565b815460009081901580611800575083544390859060001981019081106117e957fe5b6000918252602090912001546001608060020a0316105b15611872578354849061181682600183016118bd565b8154811061182057fe5b600091825260209091200180546001608060020a03858116700100000000000000000000000000000000024382166fffffffffffffffffffffffffffffffff19909316929092171617815591506118b7565b83548490600019810190811061188457fe5b600091825260209091200180546001608060020a0380861670010000000000000000000000000000000002911617815590505b50505050565b8154818355818111156113f4576000838152602090206113f491810190830161089991905b808211156118f657600081556001016118e2565b50905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820bbb55d78fa007df226e2c01dd9de3a1e6bce87b215a18e67ba2f1f7ded8d61380029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007cc607ba48f19ea817525c546cbec2bbae8d14990000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
-----Decoded View---------------
Arg [0] : _tokenFactory (address): 0x7Cc607ba48F19EA817525c546CBEc2bbAE8D1499
Arg [1] : _mintedAmount (uint256): 1000000000000000000000000000
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007cc607ba48f19ea817525c546cbec2bbae8d1499
Arg [1] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
Deployed Bytecode Sourcemap
199:284:1:-;;;;;;;;;-1:-1:-1;;;199:284:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18940:10:2;;18929:22;;-1:-1:-1;;;;;18940:10:2;18929;:22::i;:::-;18921:31;;;;;;;;18982:10;;18966:69;;;;;;19024:10;18966:69;;;;;;-1:-1:-1;;;;;18982:10:2;;;;18966:40;;19013:9;;18966:69;;;;;;;;;;;;;;19013:9;18982:10;18966:69;;;5:2:-1;;;;30:1;27;20:12;5:2;18966:69:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18966:69:2;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18966:69:2;18958:78;;;;;;;;199:284:1;1579:18:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1579:18:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1579:18:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8631:773;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8631:773:2;-1:-1:-1;;;;;8631:773:2;;;;;;;;;;;;;;;;;;;;;;;;;2672:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2672:25:2;;;;;;;;;;;;;;;;;;;;10771:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10771:99:2;;;;5614:651;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5614:651:2;-1:-1:-1;;;;;5614:651:2;;;;;;;;;;;;1657:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1657:21:2;;;;;;;;;;;;;;;;;;;;;;;497:159:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;497:159:0;-1:-1:-1;;;;;497:159:0;;;;;11220:842:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11220:842:2;-1:-1:-1;;;;;11220:842:2;;;;;;;1799:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1799:33:2;;;;13816:659;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13816:659:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13816:659:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13816:659:2;;-1:-1:-1;13816:659:2;;;;-1:-1:-1;13816:659:2;-1:-1:-1;13816:659:2;;;;;;;;;;-1:-1:-1;13816:659:2;;-1:-1:-1;;13816:659:2;;;-1:-1:-1;;;;;13816:659:2;;;;;;;;;;;-1:-1:-1;;;;;13816:659:2;;;;;;;;;;;;;;8118:128;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8118:128:2;-1:-1:-1;;;;;8118:128:2;;;;;2381:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2381:30:2;;;;14802:540;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14802:540:2;-1:-1:-1;;;;;14802:540:2;;;;;;;1736:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1736:20:2;;;;12267:828;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12267:828:2;;;;;5105:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5105:173:2;-1:-1:-1;;;;;5105:173:2;;;;;;;3231:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3231:28:2;;;;2562:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2562:31:2;;;;10355:298;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10355:298:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10355:298:2;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10355:298:2;;-1:-1:-1;10355:298:2;;-1:-1:-1;;;;;;;10355:298:2;15562:464;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15562:464:2;-1:-1:-1;;;;;15562:464:2;;;;;;;9711:143;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9711:143:2;-1:-1:-1;;;;;9711:143:2;;;;;;;;;;19337:327;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19337:327:2;-1:-1:-1;;;;;19337:327:2;;;;;3313:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3313:38:2;;;;16249:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16249:118:2;;;;;;;291:25:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;291:25:0;;;;18301:194:2;18362:4;;-1:-1:-1;;;;;18393:10:2;;;18389:28;;;18412:5;18405:12;;;;18389:28;18460:5;18448:18;18440:26;;18489:1;18484:4;:6;18477:13;;18301:194;;;;;:::o;1579:18::-;;;;;;;;;;;;;;;-1:-1:-1;;1579:18:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8631:773::-;8727:16;;8699:12;;8727:16;;8719:25;;;;;;;;9047:12;;;9046:54;;-1:-1:-1;9073:10:2;9065:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;9065:29:2;;;;;;;;;;:34;9046:54;9038:63;;;;;;;;9187:10;;9176:22;;-1:-1:-1;;;;;9187:10:2;9176;:22::i;:::-;9172:120;;;9232:10;;;9216:68;;;;;;9254:10;9216:68;;;;-1:-1:-1;;;;;9216:68:2;;;;;;;;;;;;;;;9232:10;;;;;9216:37;;:68;;;;;;;;;;;;;;;;;;9232:10;9216:68;;;5:2:-1;;;;30:1;27;20:12;5:2;9216:68:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9216:68:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9216:68:2;9208:77;;;;;;;;9306:10;9298:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;9298:29:2;;;;;;;;;;;;:39;;;9343;;;;;;;9298:29;;9306:10;9343:39;;;;;;;;;;;-1:-1:-1;9395:4:2;8631:773;;;;;:::o;2672:25::-;;;;:::o;10771:99::-;10819:4;10838:27;10852:12;10838:13;:27::i;:::-;10831:34;;10771:99;;:::o;5614:651::-;5700:12;5999:10;;-1:-1:-1;;;;;5999:10:2;5985;:24;5981:226;;6027:16;;;;6019:25;;;;;;;;-1:-1:-1;;;;;6117:14:2;;;;;;:7;:14;;;;;;;;6132:10;6117:26;;;;;;;;:37;-1:-1:-1;6117:37:2;6109:46;;;;;;-1:-1:-1;;;;;6163:14:2;;;;;;:7;:14;;;;;;;;6178:10;6163:26;;;;;;;:37;;;;;;;5981:226;6212:31;6223:5;6230:3;6235:7;6212:10;:31::i;:::-;-1:-1:-1;6256:4:2;5614:651;;;;;:::o;1657:21::-;;;;;;:::o;497:159:0:-;270:10;;-1:-1:-1;;;;;270:10:0;256;:24;248:33;;;;;;575:10;:27;;-1:-1:-1;;;;;575:27:0;;-1:-1:-1;;575:27:0;;;;;;;;613:38;;;;;;;;;;;;;;;;497:159;:::o;11220:842:2:-;-1:-1:-1;;;;;11628:16:2;;11303:4;11628:16;;;:8;:16;;;;;:23;:28;;11627:86;;-1:-1:-1;;;;;;11668:16:2;;;;;;:8;:16;;;;;:19;;11700:12;;11668:16;:19;;;;;;;;;;;;;;;:29;-1:-1:-1;;;;;11668:29:2;:44;11627:86;11623:435;;;11735:11;;-1:-1:-1;;;;;11735:11:2;11727:25;11723:186;;11771:11;;11821:19;;-1:-1:-1;;;;;11771:11:2;;;;:23;;11795:6;;11803:38;;11807:12;;11803:3;:38::i;:::-;11771:71;;;;;-1:-1:-1;;;11771:71:2;;;;;;;-1:-1:-1;;;;;11771:71:2;-1:-1:-1;;;;;11771:71:2;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11771:71:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11771:71:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11771:71:2;;-1:-1:-1;11764:78:2;;11723:186;-1:-1:-1;11899:1:2;11892:8;;11623:435;-1:-1:-1;;;;;12020:16:2;;;;;;:8;:16;;;;;12009:42;;12038:12;12009:10;:42::i;:::-;12002:49;;;;1799:33;;;;;;;;;;;;;;;-1:-1:-1;;1799:33:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13816:659;14002:7;;14021:19;;14017:54;;;14059:12;14042:29;;14017:54;14102:12;;:168;;;;;14139:4;14102:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:12;;;;-1:-1:-1;;;;;14102:12:2;;:29;;:168;;;;;;14222:17;;14102:168;;;;;;;;;;;-1:-1:-1;14102:168:2;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14102:168:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14102:168:2;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14102:168:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14102:168:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14102:168:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14102:168:2;14277:39;;;;;;14305:10;14277:39;;;;;;14102:168;;-1:-1:-1;;;;;;14277:27:2;;;;;:39;;;;;-1:-1:-1;;14277:39:2;;;;;;;;-1:-1:-1;14277:27:2;:39;;;5:2:-1;;;;30:1;27;20:12;5:2;14277:39:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;14388:50:2;;;;;;;;-1:-1:-1;;;;;14388:50:2;;;-1:-1:-1;14388:50:2;;-1:-1:-1;14388:50:2;;;;;;;;14459:10;13816:659;-1:-1:-1;;;;;;13816:659:2:o;8118:128::-;8178:15;8208:33;8220:6;8228:12;8208:11;:33::i;:::-;8201:40;;8118:128;;;;:::o;2381:30::-;;;-1:-1:-1;;;;;2381:30:2;;:::o;14802:540::-;14890:4;270:10:0;;14890:4:2;;;;-1:-1:-1;;;;;270:10:0;256;:24;248:33;;;;;;14924:13:2;:11;:13::i;:::-;14902:35;-1:-1:-1;14951:24:2;;;:42;-1:-1:-1;14951:42:2;14943:51;;;;;;15047:17;15057:6;15047:9;:17::i;:::-;15022:42;-1:-1:-1;15078:27:2;;;:48;-1:-1:-1;15078:48:2;15070:57;;;;;;15155:62;15172:18;15209:7;15192:14;:24;15155:16;:62::i;:::-;-1:-1:-1;;;;;15240:16:2;;;;;;:8;:16;;;;;15223:63;;15258:27;;;15223:16;:63::i;:::-;15292:28;;;;;;;;-1:-1:-1;;;;;15292:28:2;;;15301:1;;-1:-1:-1;;;;;;;;;;;15292:28:2;;;;;;;;-1:-1:-1;15333:4:2;;14802:540;-1:-1:-1;;;;14802:540:2:o;1736:20::-;;;;;;;;;;;;;;;-1:-1:-1;;1736:20:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12267:828;12682:18;:25;12333:4;;12682:30;;12681:90;;;12758:12;12724:18;12743:1;12724:21;;;;;;;;;;;;;;;;;;;:31;-1:-1:-1;;;;;12724:31:2;:46;12681:90;12677:414;;;12793:11;;-1:-1:-1;;;;;12793:11:2;12785:25;12781:155;;12829:11;;12873:19;;-1:-1:-1;;;;;12829:11:2;;;;:25;;12855:38;;12859:12;;12855:3;:38::i;:::-;12829:65;;;;;-1:-1:-1;;;12829:65:2;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12829:65:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12829:65:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12829:65:2;;-1:-1:-1;12822:72:2;;12781:155;-1:-1:-1;12926:1:2;12919:8;;12677:414;13040:44;13051:18;13071:12;13040:10;:44::i;:::-;13033:51;;;;5105:173;5197:16;;5169:12;;5197:16;;5189:25;;;;;;;;5220:36;5231:10;5243:3;5248:7;5220:10;:36::i;:::-;-1:-1:-1;5269:4:2;5105:173;;;;:::o;3231:28::-;;;;;;:::o;2562:31::-;;;;:::o;10355:298::-;10451:12;10479:26;10487:8;10497:7;10479;:26::i;:::-;10471:35;;;;;;;;10513:117;;;;;10569:10;10513:117;;;;;;;;;;;;10602:4;10513:117;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10513:48:2;;;;;10569:10;10587:7;;10602:4;10614:10;;10513:117;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;10513:117:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10513:117:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;10644:4:2;;10355:298;-1:-1:-1;;;;;;;10355:298:2:o;15562:464::-;15649:4;270:10:0;;15649:4:2;;;;-1:-1:-1;;;;;270:10:0;256;:24;248:33;;;;;;15683:13:2;:11;:13::i;:::-;15661:35;-1:-1:-1;15710:25:2;;;;15702:34;;;;;;15769:17;15779:6;15769:9;:17::i;:::-;15742:44;-1:-1:-1;15800:30:2;;;;15792:39;;;;;;15837:62;15854:18;15891:7;15874:14;:24;15837:16;:62::i;:::-;-1:-1:-1;;;;;15922:16:2;;;;;;:8;:16;;;;;15905:65;;15940:29;;;15905:16;:65::i;:::-;15976:28;;;;;;;;15993:1;;-1:-1:-1;;;;;15976:28:2;;;-1:-1:-1;;;;;;;;;;;15976:28:2;;;;;;;;-1:-1:-1;16017:4:2;;15562:464;-1:-1:-1;;;;15562:464:2:o;9711:143::-;-1:-1:-1;;;;;9824:15:2;;;9792:17;9824:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;9711:143::o;19337:327::-;19489:17;270:10:0;;19489:17:2;;-1:-1:-1;;;;;270:10:0;256;:24;248:33;;;;;;-1:-1:-1;;;;;19406:13:2;;;19402:81;;;19429:10;;;:33;;-1:-1:-1;;;;;19429:10:2;;;;19449:4;:12;19429:33;;;;;19449:12;;19429:33;:10;:33;19449:12;19429:10;:33;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19429:33:2;19470:7;;19402:81;19549:21;;;;;;19565:4;19549:21;;;;;;19521:6;;-1:-1:-1;;;;;;19549:15:2;;;;;:21;;;;;;;;;;;;;;-1:-1:-1;19549:15:2;:21;;;5:2:-1;;;;30:1;27;20:12;5:2;19549:21:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19549:21:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19549:21:2;19591:10;;;19576:35;;;;;;-1:-1:-1;;;;;19591:10:2;;;19576:35;;;;;;;;;;;;19549:21;;-1:-1:-1;19576:14:2;;;;;;:35;;;;;19549:21;;19576:35;;;;;;;;;;;:14;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;19576:35:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19576:35:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;19639:10:2;;19617:42;;;;;;;;-1:-1:-1;;;;;19639:10:2;;;;19617:42;;;;;;;;;19576:35;19617:42;;;283:1:0;19337:327:2;;;:::o;3313:38::-;;;;;;-1:-1:-1;;;;;3313:38:2;;:::o;16249:118::-;270:10:0;;-1:-1:-1;;;;;270:10:0;256;:24;248:33;;;;;;16326:16:2;:36;;-1:-1:-1;;16326:36:2;;;;;;;;;;16249:118::o;291:25:0:-;;;-1:-1:-1;;;;;291:25:0;;:::o;6630:1359:2:-;7123:23;;6715:12;;6711:133;;;6753:3;-1:-1:-1;;;;;6737:29:2;6746:5;-1:-1:-1;;;;;6737:29:2;-1:-1:-1;;;;;;;;;;;6758:7:2;6737:29;;;;;;;;;;;;;;;;;;6831:7;;6711:133;6858:19;;6880:12;-1:-1:-1;6850:43:2;;;;;;-1:-1:-1;;;;;6974:8:2;;;;;;6973:36;;-1:-1:-1;;;;;;6988:20:2;;7003:4;6988:20;;6973:36;6965:45;;;;;;;;7149:32;7161:5;7168:12;7149:11;:32::i;:::-;7123:58;-1:-1:-1;7196:30:2;;;;7188:39;;;;;;7300:10;;7289:22;;-1:-1:-1;;;;;7300:10:2;7289;:22::i;:::-;7285:111;;;7345:10;;;7329:59;;;;;;-1:-1:-1;;;;;7329:59:2;;;;;;;;;;;;;;;;;;;;;;7345:10;;;;;7329:38;;:59;;;;;;;;;;;;;;;;;;7345:10;7329:59;;;5:2:-1;;;;30:1;27;20:12;5:2;7329:59:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7329:59:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7329:59:2;7321:68;;;;;;;;-1:-1:-1;;;;;7519:15:2;;;;;;:8;:15;;;;;7502:64;;7536:29;;;7502:16;:64::i;:::-;7698:30;7710:3;7715:12;7698:11;:30::i;:::-;7674:54;-1:-1:-1;7742:27:2;;;:48;-1:-1:-1;7742:48:2;7734:57;;;;;;-1:-1:-1;;;;;7836:13:2;;;;;;:8;:13;;;;;7819:60;;7851:27;;;7819:16;:60::i;:::-;7970:3;-1:-1:-1;;;;;7954:29:2;7963:5;-1:-1:-1;;;;;7954:29:2;-1:-1:-1;;;;;;;;;;;7975:7:2;7954:29;;;;;;;;;;;;;;;;;;6630:1359;;;;;;:::o;18563:89::-;18615:4;18638:1;18634;:5;:13;;18646:1;18634:13;;;18642:1;18634:13;18627:20;18563:89;-1:-1:-1;;;18563:89:2:o;16737:675::-;16834:4;17145:8;17163;17226;16850:11;:18;;;;16872:1;16850:23;16846:37;;;16882:1;16875:8;;;;16846:37;16953:18;;16941:11;;-1:-1:-1;;16953:20:2;;;16941:33;;;;;;;;;;;;;;;:43;-1:-1:-1;;;;;16941:43:2;16931:53;;16927:111;;17011:18;;16999:11;;-1:-1:-1;;17011:20:2;;;16999:33;;;;;;;;;;;;;;;:39;;;;-1:-1:-1;;;;;16999:39:2;;-1:-1:-1;16992:46:2;;16927:111;17057:11;17069:1;17057:14;;;;;;;;;;;;;;;;;;;:24;-1:-1:-1;;;;;17057:24:2;17048:33;;17044:47;;;17090:1;17083:8;;;;17044:47;17174:18;;17156:1;;-1:-1:-1;;;17174:20:2;;-1:-1:-1;17200:173:2;17213:3;17207;:9;17200:173;;;17254:1;17250;17238:9;;;:13;17237:18;17226:29;;17295:6;17267:11;17279:3;17267:16;;;;;;;;;;;;;;;;;;;:26;-1:-1:-1;;;;;17267:26:2;:34;17263:104;;17319:3;17313:9;;17263:104;;;17357:1;17353:3;:5;17347:11;;17263:104;17200:173;;;17385:11;17397:3;17385:16;;;;;;;;;;;;;;;;;;;:22;;;;-1:-1:-1;;;;;17385:22:2;;-1:-1:-1;16737:675:2;;;;;;;;:::o;17620:518::-;17717:18;;17822:32;;;;17717:23;;17716:96;;-1:-1:-1;17764:18:2;;17799:12;;17752:11;;-1:-1:-1;;17764:21:2;;;17752:34;;;;;;;;;;;;;;;:44;-1:-1:-1;;;;;17752:44:2;:59;17716:96;17712:422;;;17870:20;;17857:11;;17870:20;17857:11;17870:20;;;;:::i;:::-;17857:35;;;;;;;;;;;;;;;;;17900:48;;-1:-1:-1;;;;;17956:37:2;;;;;17935:12;17900:48;;-1:-1:-1;;17900:48:2;;;;;;;17956:37;;;;17857:35;-1:-1:-1;17712:422:2;;;18061:18;;18049:11;;-1:-1:-1;;18061:20:2;;;18049:33;;;;;;;;;;;;;;;18090:37;;-1:-1:-1;;;;;18090:37:2;;;;;;;;;;18049:33;-1:-1:-1;17712:422:2;17620:518;;;;:::o;199:284:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Swarm Source
bzzr://bbb55d78fa007df226e2c01dd9de3a1e6bce87b215a18e67ba2f1f7ded8d6138
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.