Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
380,000 HDT
Holders
437
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 6 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
DividendToken
Compiler Version
v0.5.12+commit.7709ece9
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-11-01 */ pragma solidity ^0.5.0; /// @title DividendToken Contract /** * @dev Interface of the ERC20 standard as defined in the EIP. Does not include * the optional functions; to access them see `ERC20Detailed`. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a `Transfer` event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through `transferFrom`. This is * zero by default. * * This value changes when `approve` or `transferFrom` are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * > Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an `Approval` event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a `Transfer` event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to `approve`. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be aplied to your functions to restrict their use to * the owner. */ contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return msg.sender == _owner; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * > Note: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } /** * @title Contracts that should be able to recover tokens * @author SylTi * @dev This allow a contract to recover any ERC20 token received in a contract by transferring the balance to the contract owner. * This will prevent any accidental loss of tokens. */ contract CanReclaimToken is Ownable { /** * @dev Reclaim all ERC20 compatible tokens * @param token ERC20 The address of the token contract */ function reclaimToken(IERC20 token) external onlyOwner { address payable owner = address(uint160(owner())); if (address(token) == address(0)) { owner.transfer(address(this).balance); return; } uint256 balance = token.balanceOf(address(this)); token.transfer(owner, balance); } } /// @dev The actual token contract, the default owner is the msg.sender contract DividendToken is IERC20, CanReclaimToken { 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 /// @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 DividendToken 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; //////////////// // Constructor //////////////// /// @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 constructor (address _parentToken, uint _parentSnapShotBlock) public { name = "Holddapp Dividend Token"; symbol = "HDT"; decimals = 6; parentToken = DividendToken(_parentToken); parentSnapShotBlock = _parentSnapShotBlock == 0 ? block.number : _parentSnapShotBlock; creationBlock = block.number; //initial emission uint _amount = 380000 * (10 ** uint256(decimals)); updateValueAtNow(totalSupplyHistory, _amount); updateValueAtNow(balances[msg.sender], _amount); emit Transfer(address(0), msg.sender, _amount); } /// @notice The fallback function function () external {} /////////////////// // 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) external returns (bool success) { 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) external returns (bool success) { // 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) { emit 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 != address(0)) && (_to != address(this))); // If the amount being transfered is more than the balance of the // account the transfer throws uint previousBalanceFrom = balanceOfAt(_from, block.number); require(previousBalanceFrom >= _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 uint 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 emit 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 view 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) { // 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)); allowed[msg.sender][_spender] = _amount; emit Approval(msg.sender, _spender, _amount); return true; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * * approve should be called when allowance[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _addedAmount The amount of tokens to increase the allowance by. */ function increaseApproval(address _spender, uint _addedAmount) external returns (bool) { require(allowed[msg.sender][_spender] + _addedAmount >= allowed[msg.sender][_spender]); // Check for overflow allowed[msg.sender][_spender] = allowed[msg.sender][_spender] + _addedAmount; emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * * approve should be called when allowance[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _subtractedAmount The amount of tokens to decrease the allowance by. */ function decreaseApproval(address _spender, uint _subtractedAmount) external returns (bool) { uint oldValue = allowed[msg.sender][_spender]; if (_subtractedAmount >= oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue - _subtractedAmount; } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); 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) external view returns (uint256 remaining) { return allowed[_owner][_spender]; } /// @dev This function makes it easy to get the total number of tokens /// @return The total number of tokens function totalSupply() public view 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 view 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) != address(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 view 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) != address(0)) { return parentToken.totalSupplyAt(min(_blockNumber, parentSnapShotBlock)); } else { return 0; } // This will return the expected totalSupply during normal situations } else { return getValueAt(totalSupplyHistory, _blockNumber); } } //////////////// // 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) view 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 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; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_parentToken","type":"address"},{"internalType":"uint256","name":"_parentSnapShotBlock","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_blockNumber","type":"uint256"}],"name":"balanceOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"creationBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedAmount","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedAmount","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"parentSnapShotBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"parentToken","outputs":[{"internalType":"contract DividendToken","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"reclaimToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_blockNumber","type":"uint256"}],"name":"totalSupplyAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200159038038062001590833981810160405260408110156200003757600080fd5b508051602090910151600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36040805180820190915260178082527f486f6c6464617070204469766964656e6420546f6b656e0000000000000000006020909201918252620000cf91600191620002c8565b506040805180820190915260038082527f48445400000000000000000000000000000000000000000000000000000000006020909201918252620001149181620002c8565b506002805460ff19166006179055600480546001600160a01b0384166001600160a01b031990911617905580156200014d57806200014f565b435b6005554360065560025460ff16600a0a6205cc600262000171600982620001d6565b3360009081526007602052604090206200019590826001600160e01b03620001d616565b60408051828152905133916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350505062000399565b815415806200020c57508154439083906000198101908110620001f557fe5b6000918252602090912001546001600160801b0316105b156200027c57815460009083906200022882600183016200034d565b815481106200023357fe5b600091825260209091200180546001600160801b03848116700100000000000000000000000000000000024382166001600160801b0319909316929092171617905550620002c4565b8154600090839060001981019081106200029257fe5b600091825260209091200180546001600160801b03808516700100000000000000000000000000000000029116179055505b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030b57805160ff19168380011785556200033b565b828001600101855582156200033b579182015b828111156200033b5782518255916020019190600101906200031e565b506200034992915062000379565b5090565b81548183558181111562000374576000838152602090206200037491810190830162000379565b505050565b6200039691905b8082111562000349576000815560010162000380565b90565b6111e780620003a96000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063981b24d01161007c578063981b24d014610354578063a9059cbb14610371578063c5bcc4f11461039d578063d73dd623146103a5578063dd62ed3e146103d1578063f2fde38b146103ff57610137565b8063715018a61461031057806380a54001146103185780638da5cb5b1461033c5780638f32d59b1461034457806395d89b411461034c57610137565b806323b872dd116100ff57806323b872dd1461023e578063313ce567146102745780634ee2cd7e1461029257806366188463146102be57806370a08231146102ea57610137565b806306fdde0314610139578063095ea7b3146101b657806317634514146101f657806317ffc3201461021057806318160ddd14610236575b005b610141610425565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017b578181015183820152602001610163565b50505050905090810190601f1680156101a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e2600480360360408110156101cc57600080fd5b506001600160a01b0381351690602001356104b2565b604080519115158252519081900360200190f35b6101fe610553565b60408051918252519081900360200190f35b6101376004803603602081101561022657600080fd5b50356001600160a01b0316610559565b6101fe610707565b6101e26004803603606081101561025457600080fd5b506001600160a01b03813581169160208101359091169060400135610718565b61027c610787565b6040805160ff9092168252519081900360200190f35b6101fe600480360360408110156102a857600080fd5b506001600160a01b038135169060200135610790565b6101e2600480360360408110156102d457600080fd5b506001600160a01b0381351690602001356108d6565b6101fe6004803603602081101561030057600080fd5b50356001600160a01b03166109b9565b6101376109cd565b610320610a70565b604080516001600160a01b039092168252519081900360200190f35b610320610a7f565b6101e2610a8e565b610141610a9f565b6101fe6004803603602081101561036a57600080fd5b5035610afa565b6101e26004803603604081101561038757600080fd5b506001600160a01b038135169060200135610be7565b6101fe610bfd565b6101e2600480360360408110156103bb57600080fd5b506001600160a01b038135169060200135610c03565b6101fe600480360360408110156103e757600080fd5b506001600160a01b0381358116916020013516610ca1565b6101376004803603602081101561041557600080fd5b50356001600160a01b0316610ccc565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104aa5780601f1061047f576101008083540402835291602001916104aa565b820191906000526020600020905b81548152906001019060200180831161048d57829003601f168201915b505050505081565b60008115806104e257503360009081526008602090815260408083206001600160a01b0387168452909152902054155b6104eb57600080fd5b3360008181526008602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60065481565b610561610a8e565b6105b2576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60006105bc610a7f565b90506001600160a01b038216610609576040516001600160a01b03821690303180156108fc02916000818181858888f19350505050158015610602573d6000803e3d6000fd5b5050610704565b604080516370a0823160e01b815230600482015290516000916001600160a01b038516916370a0823191602480820192602092909190829003018186803b15801561065357600080fd5b505afa158015610667573d6000803e3d6000fd5b505050506040513d602081101561067d57600080fd5b50516040805163a9059cbb60e01b81526001600160a01b0385811660048301526024820184905291519293509085169163a9059cbb916044808201926020929091908290030181600087803b1580156106d557600080fd5b505af11580156106e9573d6000803e3d6000fd5b505050506040513d60208110156106ff57600080fd5b505050505b50565b600061071243610afa565b90505b90565b6001600160a01b038316600090815260086020908152604080832033845290915281205482111561074857600080fd5b6001600160a01b038416600090815260086020908152604080832033845290915290208054839003905561077d848484610d2e565b5060019392505050565b60025460ff1681565b6001600160a01b03821660009081526007602052604081205415806107ea57506001600160a01b038316600090815260076020526040812080548492906107d357fe5b6000918252602090912001546001600160801b0316115b156108ad576004546001600160a01b0316156108a5576004546005546001600160a01b0390911690634ee2cd7e908590610825908690610e8e565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561087257600080fd5b505afa158015610886573d6000803e3d6000fd5b505050506040513d602081101561089c57600080fd5b5051905061054d565b50600061054d565b6001600160a01b03831660009081526007602052604090206108cf9083610ea6565b905061054d565b3360009081526008602090815260408083206001600160a01b038616845290915281205480831061092a573360009081526008602090815260408083206001600160a01b0388168452909152812055610953565b3360009081526008602090815260408083206001600160a01b0388168452909152902083820390555b3360008181526008602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b60006109c58243610790565b90505b919050565b6109d5610a8e565b610a26576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6004546001600160a01b031681565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104aa5780601f1061047f576101008083540402835291602001916104aa565b6009546000901580610b2d5750816009600081548110610b1657fe5b6000918252602090912001546001600160801b0316115b15610bd5576004546001600160a01b031615610bcd576004546005546001600160a01b039091169063981b24d090610b66908590610e8e565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b9a57600080fd5b505afa158015610bae573d6000803e3d6000fd5b505050506040513d6020811015610bc457600080fd5b505190506109c8565b5060006109c8565b610be0600983610ea6565b90506109c8565b6000610bf4338484610d2e565b50600192915050565b60055481565b3360009081526008602090815260408083206001600160a01b03861684529091528120548281011015610c3557600080fd5b3360008181526008602090815260408083206001600160a01b038816808552908352928190208054870190819055815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b610cd4610a8e565b610d25576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61070481610fd6565b80610d8357816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3610e89565b4360055410610d9157600080fd5b6001600160a01b03821615801590610db257506001600160a01b0382163014155b610dbb57600080fd5b6000610dc78443610790565b905081811015610dd657600080fd5b6001600160a01b0384166000908152600760205260409020610dfa90838303611076565b6000610e068443610790565b9050808382011015610e1757600080fd5b6001600160a01b0384166000908152600760205260409020610e3b90828501611076565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505b505050565b6000818310610e9d5781610e9f565b825b9392505050565b8154600090610eb75750600061054d565b825483906000198101908110610ec957fe5b6000918252602090912001546001600160801b03168210610f1957825483906000198101908110610ef657fe5b600091825260209091200154600160801b90046001600160801b0316905061054d565b82600081548110610f2657fe5b6000918252602090912001546001600160801b0316821015610f4a5750600061054d565b8254600090600019015b81811115610fa5576000600260018385010104905084868281548110610f7657fe5b6000918252602090912001546001600160801b031611610f9857809250610f9f565b6001810391505b50610f54565b848281548110610fb157fe5b600091825260209091200154600160801b90046001600160801b031695945050505050565b6001600160a01b03811661101b5760405162461bcd60e51b815260040180806020018281038252602681526020018061118d6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b815415806110aa5750815443908390600019810190811061109357fe5b6000918252602090912001546001600160801b0316105b1561111157815460009083906110c3826001830161114f565b815481106110cd57fe5b600091825260209091200180546001600160801b03848116600160801b024382166fffffffffffffffffffffffffffffffff1990931692909217161790555061114b565b81546000908390600019810190811061112657fe5b600091825260209091200180546001600160801b03808516600160801b029116179055505b5050565b815481835581811115610e8957600083815260209020610e8991810190830161071591905b808211156111885760008155600101611174565b509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a265627a7a72315820f01604b209b51c46c282f74e233e137b3f3dcd9d519fa03f0991783120d268d864736f6c634300050c003200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063981b24d01161007c578063981b24d014610354578063a9059cbb14610371578063c5bcc4f11461039d578063d73dd623146103a5578063dd62ed3e146103d1578063f2fde38b146103ff57610137565b8063715018a61461031057806380a54001146103185780638da5cb5b1461033c5780638f32d59b1461034457806395d89b411461034c57610137565b806323b872dd116100ff57806323b872dd1461023e578063313ce567146102745780634ee2cd7e1461029257806366188463146102be57806370a08231146102ea57610137565b806306fdde0314610139578063095ea7b3146101b657806317634514146101f657806317ffc3201461021057806318160ddd14610236575b005b610141610425565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017b578181015183820152602001610163565b50505050905090810190601f1680156101a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e2600480360360408110156101cc57600080fd5b506001600160a01b0381351690602001356104b2565b604080519115158252519081900360200190f35b6101fe610553565b60408051918252519081900360200190f35b6101376004803603602081101561022657600080fd5b50356001600160a01b0316610559565b6101fe610707565b6101e26004803603606081101561025457600080fd5b506001600160a01b03813581169160208101359091169060400135610718565b61027c610787565b6040805160ff9092168252519081900360200190f35b6101fe600480360360408110156102a857600080fd5b506001600160a01b038135169060200135610790565b6101e2600480360360408110156102d457600080fd5b506001600160a01b0381351690602001356108d6565b6101fe6004803603602081101561030057600080fd5b50356001600160a01b03166109b9565b6101376109cd565b610320610a70565b604080516001600160a01b039092168252519081900360200190f35b610320610a7f565b6101e2610a8e565b610141610a9f565b6101fe6004803603602081101561036a57600080fd5b5035610afa565b6101e26004803603604081101561038757600080fd5b506001600160a01b038135169060200135610be7565b6101fe610bfd565b6101e2600480360360408110156103bb57600080fd5b506001600160a01b038135169060200135610c03565b6101fe600480360360408110156103e757600080fd5b506001600160a01b0381358116916020013516610ca1565b6101376004803603602081101561041557600080fd5b50356001600160a01b0316610ccc565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104aa5780601f1061047f576101008083540402835291602001916104aa565b820191906000526020600020905b81548152906001019060200180831161048d57829003601f168201915b505050505081565b60008115806104e257503360009081526008602090815260408083206001600160a01b0387168452909152902054155b6104eb57600080fd5b3360008181526008602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60065481565b610561610a8e565b6105b2576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60006105bc610a7f565b90506001600160a01b038216610609576040516001600160a01b03821690303180156108fc02916000818181858888f19350505050158015610602573d6000803e3d6000fd5b5050610704565b604080516370a0823160e01b815230600482015290516000916001600160a01b038516916370a0823191602480820192602092909190829003018186803b15801561065357600080fd5b505afa158015610667573d6000803e3d6000fd5b505050506040513d602081101561067d57600080fd5b50516040805163a9059cbb60e01b81526001600160a01b0385811660048301526024820184905291519293509085169163a9059cbb916044808201926020929091908290030181600087803b1580156106d557600080fd5b505af11580156106e9573d6000803e3d6000fd5b505050506040513d60208110156106ff57600080fd5b505050505b50565b600061071243610afa565b90505b90565b6001600160a01b038316600090815260086020908152604080832033845290915281205482111561074857600080fd5b6001600160a01b038416600090815260086020908152604080832033845290915290208054839003905561077d848484610d2e565b5060019392505050565b60025460ff1681565b6001600160a01b03821660009081526007602052604081205415806107ea57506001600160a01b038316600090815260076020526040812080548492906107d357fe5b6000918252602090912001546001600160801b0316115b156108ad576004546001600160a01b0316156108a5576004546005546001600160a01b0390911690634ee2cd7e908590610825908690610e8e565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561087257600080fd5b505afa158015610886573d6000803e3d6000fd5b505050506040513d602081101561089c57600080fd5b5051905061054d565b50600061054d565b6001600160a01b03831660009081526007602052604090206108cf9083610ea6565b905061054d565b3360009081526008602090815260408083206001600160a01b038616845290915281205480831061092a573360009081526008602090815260408083206001600160a01b0388168452909152812055610953565b3360009081526008602090815260408083206001600160a01b0388168452909152902083820390555b3360008181526008602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b60006109c58243610790565b90505b919050565b6109d5610a8e565b610a26576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6004546001600160a01b031681565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104aa5780601f1061047f576101008083540402835291602001916104aa565b6009546000901580610b2d5750816009600081548110610b1657fe5b6000918252602090912001546001600160801b0316115b15610bd5576004546001600160a01b031615610bcd576004546005546001600160a01b039091169063981b24d090610b66908590610e8e565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b9a57600080fd5b505afa158015610bae573d6000803e3d6000fd5b505050506040513d6020811015610bc457600080fd5b505190506109c8565b5060006109c8565b610be0600983610ea6565b90506109c8565b6000610bf4338484610d2e565b50600192915050565b60055481565b3360009081526008602090815260408083206001600160a01b03861684529091528120548281011015610c3557600080fd5b3360008181526008602090815260408083206001600160a01b038816808552908352928190208054870190819055815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b610cd4610a8e565b610d25576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61070481610fd6565b80610d8357816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3610e89565b4360055410610d9157600080fd5b6001600160a01b03821615801590610db257506001600160a01b0382163014155b610dbb57600080fd5b6000610dc78443610790565b905081811015610dd657600080fd5b6001600160a01b0384166000908152600760205260409020610dfa90838303611076565b6000610e068443610790565b9050808382011015610e1757600080fd5b6001600160a01b0384166000908152600760205260409020610e3b90828501611076565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505b505050565b6000818310610e9d5781610e9f565b825b9392505050565b8154600090610eb75750600061054d565b825483906000198101908110610ec957fe5b6000918252602090912001546001600160801b03168210610f1957825483906000198101908110610ef657fe5b600091825260209091200154600160801b90046001600160801b0316905061054d565b82600081548110610f2657fe5b6000918252602090912001546001600160801b0316821015610f4a5750600061054d565b8254600090600019015b81811115610fa5576000600260018385010104905084868281548110610f7657fe5b6000918252602090912001546001600160801b031611610f9857809250610f9f565b6001810391505b50610f54565b848281548110610fb157fe5b600091825260209091200154600160801b90046001600160801b031695945050505050565b6001600160a01b03811661101b5760405162461bcd60e51b815260040180806020018281038252602681526020018061118d6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b815415806110aa5750815443908390600019810190811061109357fe5b6000918252602090912001546001600160801b0316105b1561111157815460009083906110c3826001830161114f565b815481106110cd57fe5b600091825260209091200180546001600160801b03848116600160801b024382166fffffffffffffffffffffffffffffffff1990931692909217161790555061114b565b81546000908390600019810190811061112657fe5b600091825260209091200180546001600160801b03808516600160801b029116179055505b5050565b815481835581811115610e8957600083815260209020610e8991810190830161071591905b808211156111885760008155600101611174565b509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a265627a7a72315820f01604b209b51c46c282f74e233e137b3f3dcd9d519fa03f0991783120d268d864736f6c634300050c0032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _parentToken (address): 0x0000000000000000000000000000000000000000
Arg [1] : _parentSnapShotBlock (uint256): 0
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
6063:14091:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6063:14091:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6122:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;6122:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12343:600;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12343:600:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7217:25;;;:::i;:::-;;;;;;;;;;;;;;;;5659:320;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5659:320:0;-1:-1:-1;;;;;5659:320:0;;:::i;15398:103::-;;;:::i;9613:335::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9613:335:0;;;;;;;;;;;;;;;;;:::i;6203:21::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15878:959;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;15878:959:0;;;;;;;;:::i;14336:458::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14336:458:0;;;;;;;;:::i;11804:132::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11804:132:0;-1:-1:-1;;;;;11804:132:0;;:::i;4476:140::-;;;:::i;6907:32::-;;;:::i;:::-;;;;-1:-1:-1;;;;;6907:32:0;;;;;;;;;;;;;;3665:79;;;:::i;4031:92::-;;;:::i;6285:20::-;;;:::i;17055:938::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17055:938:0;;:::i;9098:157::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9098:157:0;;;;;;;;:::i;7100:31::-;;;:::i;13437:400::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13437:400:0;;;;;;;;:::i;15122:146::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;15122:146:0;;;;;;;;;;:::i;4771:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4771:109:0;-1:-1:-1;;;;;4771:109:0;;:::i;6122:18::-;;;;;;;;;;;;;;;-1:-1:-1;;6122:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12343:600::-;12411:12;12752;;;12751:54;;-1:-1:-1;12778:10:0;12770:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;12770:29:0;;;;;;;;;;:34;12751:54;12743:63;;;;;;12827:10;12819:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;12819:29:0;;;;;;;;;;;;:39;;;12874;;;;;;;12819:29;;12827:10;12874:39;;;;;;;;;;;-1:-1:-1;12931:4:0;12343:600;;;;;:::o;7217:25::-;;;;:::o;5659:320::-;3877:9;:7;:9::i;:::-;3869:54;;;;;-1:-1:-1;;;3869:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5721:21;5761:7;:5;:7::i;:::-;5721:49;-1:-1:-1;;;;;;5783:28:0;;5779:103;;5822:37;;-1:-1:-1;;;;;5822:14:0;;;5845:4;5837:21;5822:37;;;;;;;;;5837:21;5822:14;:37;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5822:37:0;5868:7;;;5779:103;5906:30;;;-1:-1:-1;;;5906:30:0;;5930:4;5906:30;;;;;;5888:15;;-1:-1:-1;;;;;5906:15:0;;;;;:30;;;;;;;;;;;;;;;:15;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;5906:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5906:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5906:30:0;5943;;;-1:-1:-1;;;5943:30:0;;-1:-1:-1;;;;;5943:30:0;;;;;;;;;;;;;;;5906;;-1:-1:-1;5943:14:0;;;;;;:30;;;;;5906;;5943;;;;;;;;-1:-1:-1;5943:14:0;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;5943:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5943:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;3934:1:0;5659:320;:::o;15398:103::-;15442:4;15466:27;15480:12;15466:13;:27::i;:::-;15459:34;;15398:103;;:::o;9613:335::-;-1:-1:-1;;;;;9790:14:0;;9698:12;9790:14;;;:7;:14;;;;;;;;9805:10;9790:26;;;;;;;;:37;-1:-1:-1;9790:37:0;9782:46;;;;;;-1:-1:-1;;;;;9839:14:0;;;;;;:7;:14;;;;;;;;9854:10;9839:26;;;;;;;:37;;;;;;;9887:31;9847:5;9905:3;9869:7;9887:10;:31::i;:::-;-1:-1:-1;9936:4:0;9613:335;;;;;:::o;6203:21::-;;;;;;:::o;15878:959::-;-1:-1:-1;;;;;16311:16:0;;15955:4;16311:16;;;:8;:16;;;;;:23;:28;;16310:93;;-1:-1:-1;;;;;;16358:16:0;;;;;;:8;:16;;;;;:19;;16390:12;;16358:16;:19;;;;;;;;;;;;;:29;-1:-1:-1;;;;;16358:29:0;:44;16310:93;16306:524;;;16432:11;;-1:-1:-1;;;;;16432:11:0;16424:34;16420:236;;16486:11;;16536:19;;-1:-1:-1;;;;;16486:11:0;;;;:23;;16510:6;;16518:38;;16522:12;;16518:3;:38::i;:::-;16486:71;;;;;;;;;;;;;-1:-1:-1;;;;;16486:71:0;-1:-1:-1;;;;;16486:71:0;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16486:71:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16486:71:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16486:71:0;;-1:-1:-1;16479:78:0;;16420:236;-1:-1:-1;16639:1:0;16632:8;;16306:524;-1:-1:-1;;;;;16787:16:0;;;;;;:8;:16;;;;;16776:42;;16805:12;16776:10;:42::i;:::-;16769:49;;;;14336:458;14468:10;14422:4;14460:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;14460:29:0;;;;;;;;;;14504;;;14500:188;;14558:10;14582:1;14550:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;14550:29:0;;;;;;;;;:33;14500:188;;;14624:10;14616:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;14616:29:0;;;;;;;;;14648:28;;;14616:60;;14500:188;14712:10;14734:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;14703:61:0;;14734:29;;;;;;;;;;;14703:61;;;;;;;;;14712:10;14703:61;;;;;;;;;;;-1:-1:-1;14782:4:0;;14336:458;-1:-1:-1;;;14336:458:0:o;11804:132::-;11860:15;11895:33;11907:6;11915:12;11895:11;:33::i;:::-;11888:40;;11804:132;;;;:::o;4476:140::-;3877:9;:7;:9::i;:::-;3869:54;;;;;-1:-1:-1;;;3869:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4575:1;4559:6;;4538:40;;-1:-1:-1;;;;;4559:6:0;;;;4538:40;;4575:1;;4538:40;4606:1;4589:19;;-1:-1:-1;;;;;;4589:19:0;;;4476:140::o;6907:32::-;;;-1:-1:-1;;;;;6907:32:0;;:::o;3665:79::-;3703:7;3730:6;-1:-1:-1;;;;;3730:6:0;3665:79;:::o;4031:92::-;4071:4;4109:6;-1:-1:-1;;;;;4109:6:0;4095:10;:20;;4031:92::o;6285:20::-;;;;;;;;;;;;;;;-1:-1:-1;;6285:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17055:938;17497:18;:25;17117:4;;17497:30;;17496:97;;;17580:12;17546:18;17565:1;17546:21;;;;;;;;;;;;;;;;;:31;-1:-1:-1;;;;;17546:31:0;:46;17496:97;17492:494;;;17622:11;;-1:-1:-1;;;;;17622:11:0;17614:34;17610:196;;17676:11;;17720:19;;-1:-1:-1;;;;;17676:11:0;;;;:25;;17702:38;;17706:12;;17702:3;:38::i;:::-;17676:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17676:65:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17676:65:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17676:65:0;;-1:-1:-1;17669:72:0;;17610:196;-1:-1:-1;17789:1:0;17782:8;;17492:494;17930:44;17941:18;17961:12;17930:10;:44::i;:::-;17923:51;;;;9098:157;9164:12;9189:36;9200:10;9212:3;9217:7;9189:10;:36::i;:::-;-1:-1:-1;9243:4:0;9098:157;;;;:::o;7100:31::-;;;;:::o;13437:400::-;13599:10;13518:4;13591:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;13591:29:0;;;;;;;;;;13543:44;;;:77;;13535:86;;;;;;13694:10;13686:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;13686:29:0;;;;;;;;;;;;;;:44;;13654:76;;;;13746:61;;;;;;;13686:29;;13694:10;13746:61;;;;;;;;;;;-1:-1:-1;13825:4:0;13437:400;;;;:::o;15122:146::-;-1:-1:-1;;;;;15235:15:0;;;15198:17;15235:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;15122:146::o;4771:109::-;3877:9;:7;:9::i;:::-;3869:54;;;;;-1:-1:-1;;;3869:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4844:28;4863:8;4844:18;:28::i;10335:1330::-;10423:12;10419:157;;10473:3;-1:-1:-1;;;;;10457:29:0;10466:5;-1:-1:-1;;;;;10457:29:0;;10478:7;10457:29;;;;;;;;;;;;;;;;;;10558:7;;10419:157;10618:12;10596:19;;:34;10588:43;;;;;;-1:-1:-1;;;;;10723:17:0;;;;;;10722:45;;-1:-1:-1;;;;;;10746:20:0;;10761:4;10746:20;;10722:45;10714:54;;;;;;10897:24;10924:32;10936:5;10943:12;10924:11;:32::i;:::-;10897:59;;11000:7;10977:19;:30;;10969:39;;;;;;-1:-1:-1;;;;;11148:15:0;;;;;;:8;:15;;;;;11131:64;;11165:29;;;11131:16;:64::i;:::-;11319:22;11344:30;11356:3;11361:12;11344:11;:30::i;:::-;11319:55;;11424:17;11413:7;11393:17;:27;:48;;11385:57;;;;;;-1:-1:-1;;;;;11492:13:0;;;;;;:8;:13;;;;;11475:60;;11507:27;;;11475:16;:60::i;:::-;11642:3;-1:-1:-1;;;;;11626:29:0;11635:5;-1:-1:-1;;;;;11626:29:0;;11647:7;11626:29;;;;;;;;;;;;;;;;;;10335:1330;;;;;;:::o;20050:97::-;20102:4;20130:1;20126;:5;:13;;20138:1;20126:13;;;20134:1;20126:13;20119:20;20050:97;-1:-1:-1;;;20050:97:0:o;18398:776::-;18509:18;;18488:4;;18505:37;;-1:-1:-1;18541:1:0;18534:8;;18505:37;18623:18;;18611:11;;-1:-1:-1;;18623:20:0;;;18611:33;;;;;;;;;;;;;;;:43;-1:-1:-1;;;;;18611:43:0;18601:53;;18597:118;;18688:18;;18676:11;;-1:-1:-1;;18688:20:0;;;18676:33;;;;;;;;;;;;;;;:39;-1:-1:-1;;;18676:39:0;;-1:-1:-1;;;;;18676:39:0;;-1:-1:-1;18669:46:0;;18597:118;18739:11;18751:1;18739:14;;;;;;;;;;;;;;;;;:24;-1:-1:-1;;;;;18739:24:0;18730:33;;18726:47;;;-1:-1:-1;18772:1:0;18765:8;;18726:47;18872:18;;18838:8;;-1:-1:-1;;18872:20:0;18903:224;18916:3;18910;:9;18903:224;;;18936:8;18964:1;18960;18948:9;;;:13;18947:18;18936:29;;19012:6;18984:11;18996:3;18984:16;;;;;;;;;;;;;;;;;:26;-1:-1:-1;;;;;18984:26:0;:34;18980:136;;19045:3;19039:9;;18980:136;;;19099:1;19095:3;:5;19089:11;;18980:136;18903:224;;;;19144:11;19156:3;19144:16;;;;;;;;;;;;;;;;;:22;-1:-1:-1;;;19144:22:0;;-1:-1:-1;;;;;19144:22:0;;18398:776;-1:-1:-1;;;;;18398:776:0:o;4986:229::-;-1:-1:-1;;;;;5060:22:0;;5052:73;;;;-1:-1:-1;;;5052:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5162:6;;;5141:38;;-1:-1:-1;;;;;5141:38:0;;;;5162:6;;;5141:38;;;5190:6;:17;;-1:-1:-1;;;;;;5190:17:0;-1:-1:-1;;;;;5190:17:0;;;;;;;;;;4986:229::o;19398:575::-;19497:18;;:23;;19496:103;;-1:-1:-1;19551:18:0;;19586:12;;19539:11;;-1:-1:-1;;19551:21:0;;;19539:34;;;;;;;;;;;;;;;:44;-1:-1:-1;;;;;19539:44:0;:59;19496:103;19492:474;;;19664:20;;19616:32;;19651:11;;19664:20;19651:11;19664:20;;;;:::i;:::-;19651:35;;;;;;;;;;;;;;;;;19701:48;;-1:-1:-1;;;;;19764:37:0;;;-1:-1:-1;;;19764:37:0;19736:12;19701:48;;-1:-1:-1;;19701:48:0;;;;;;;19764:37;;;;-1:-1:-1;19492:474:0;;;19881:18;;19834:32;;19869:11;;-1:-1:-1;;19881:20:0;;;19869:33;;;;;;;;;;;;;;;19917:37;;-1:-1:-1;;;;;19917:37:0;;;-1:-1:-1;;;19917:37:0;;;;;;-1:-1:-1;19492:474:0;19398:575;;:::o;6063:14091::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Swarm Source
bzzr://f01604b209b51c46c282f74e233e137b3f3dcd9d519fa03f0991783120d268d8
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.