Overview
Max Total Supply
1,000,000,000 DIT
Holders
583 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
InmediateToken
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-08-10 */ pragma solidity 0.4.24; // @title Abstract ERC20 token interface contract AbstractToken { function balanceOf(address owner) public view returns (uint256 balance); function transfer(address to, uint256 value) public returns (bool success); function transferFrom(address from, address to, uint256 value) public returns (bool success); function approve(address spender, uint256 value) public returns (bool success); function allowance(address owner, address spender) public view returns (uint256 remaining); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } /// @title Owned - Add an owner to the contract. contract Owned { address public owner = msg.sender; address public potentialOwner; modifier onlyOwner { require(msg.sender == owner); _; } modifier onlyPotentialOwner { require(msg.sender == potentialOwner); _; } event NewOwner(address old, address current); event NewPotentialOwner(address old, address potential); function setOwner(address _new) public onlyOwner { emit NewPotentialOwner(owner, _new); potentialOwner = _new; } function confirmOwnership() public onlyPotentialOwner { emit NewOwner(owner, potentialOwner); owner = potentialOwner; potentialOwner = address(0); } } /// @title SafeMath contract - Math operations with safety checks. /// @author OpenZeppelin: https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } /// @title StandardToken - Implements ERC 20 Token standard: https://github.com/ethereum/EIPs/issues/20 /// @author Zerion - <[email protected]> contract StandardToken is AbstractToken, Owned { using SafeMath for uint256; /* * Data structures */ mapping (address => uint256) internal balances; mapping (address => mapping (address => uint256)) internal allowed; uint256 public totalSupply; /* * Read and write storage functions */ /// @dev Transfers sender's tokens to a given address. Returns success. /// @param _to Address of token receiver. /// @param _value Number of tokens to transfer. function transfer(address _to, uint256 _value) public returns (bool success) { return _transfer(msg.sender, _to, _value); } /// @dev Allows allowed third party to transfer tokens from one address to another. Returns success. /// @param _from Address from where tokens are withdrawn. /// @param _to Address to where tokens are sent. /// @param _value Number of tokens to transfer. function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { require(_value <= allowed[_from][msg.sender]); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); return _transfer(_from, _to, _value); } /// @dev Returns number of tokens owned by given address. /// @param _owner Address of token owner. function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } /// @dev Sets approved amount of tokens for spender. Returns success. /// @param _spender Address of allowed account. /// @param _value Number of approved tokens. function approve(address _spender, uint256 _value) public returns (bool success) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /* * Read storage functions */ /// @dev Returns number of allowed tokens for given address. /// @param _owner Address of token owner. /// @param _spender Address of token spender. function allowance(address _owner, address _spender) public view returns (uint256 remaining) { return allowed[_owner][_spender]; } /** * @dev Private transfer, can only be called by this contract. * @param _from The address of the sender. * @param _to The address of the recipient. * @param _value The amount to send. * @return success True if the transfer was successful, or throws. */ function _transfer(address _from, address _to, uint256 _value) private returns (bool success) { require(_value <= balances[_from]); require(_to != address(0)); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(_from, _to, _value); return true; } } /// @title BurnableToken contract - Implements burnable functionality of the ERC-20 token /// @author Zerion - <[email protected]> contract BurnableToken is StandardToken { address public burner; modifier onlyBurner { require(msg.sender == burner); _; } event NewBurner(address burner); function setBurner(address _burner) public onlyOwner { burner = _burner; emit NewBurner(_burner); } function burn(uint256 amount) public onlyBurner { require(balanceOf(msg.sender) >= amount); balances[msg.sender] = balances[msg.sender].sub(amount); totalSupply = totalSupply.sub(amount); emit Transfer(msg.sender, address(0x0000000000000000000000000000000000000000), amount); } } /// @title Token contract - Implements Standard ERC20 with additional features. /// @author Zerion - <[email protected]> contract Token is BurnableToken { // Time of the contract creation uint256 public creationTime; constructor() public { /* solium-disable-next-line security/no-block-members */ creationTime = now; } /// @dev Owner can transfer out any accidentally sent ERC20 tokens function transferERC20Token(AbstractToken _token, address _to, uint256 _value) public onlyOwner returns (bool success) { require(_token.balanceOf(address(this)) >= _value); uint256 receiverBalance = _token.balanceOf(_to); require(_token.transfer(_to, _value)); uint256 receiverNewBalance = _token.balanceOf(_to); assert(receiverNewBalance == receiverBalance.add(_value)); return true; } /// @dev Increases approved amount of tokens for spender. Returns success. function increaseApproval(address _spender, uint256 _value) public returns (bool success) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_value); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /// @dev Decreases approved amount of tokens for spender. Returns success. function decreaseApproval(address _spender, uint256 _value) public returns (bool success) { uint256 oldValue = allowed[msg.sender][_spender]; if (_value > oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_value); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } /// @title Token contract - Implements Standard ERC20 Token for Inmediate project. /// @author Zerion - <[email protected]> contract InmediateToken is Token { /// TOKEN META DATA string constant public name = 'Inmediate'; string constant public symbol = 'DIT'; uint8 constant public decimals = 8; /// ALLOCATIONS // To calculate vesting periods we assume that 1 month is always equal to 30 days /*** Initial Investors' tokens ***/ // 400,000,000 (40%) tokens are distributed among initial investors // These tokens will be distributed without vesting address public investorsAllocation = address(0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF); uint256 public investorsTotal = 400000000e8; /*** Tokens reserved for the Inmediate team ***/ // 100,000,000 (10%) tokens will be eventually available for the team // These tokens will be distributed querterly after a 6 months cliff // 20,000,000 will be unlocked immediately after 6 months // 10,000,000 tokens will be unlocked quarterly within 2 years after the cliff address public teamAllocation = address(0x1111111111111111111111111111111111111111); uint256 public teamTotal = 100000000e8; uint256 public teamPeriodAmount = 10000000e8; uint256 public teamCliff = 6 * 30 days; uint256 public teamUnlockedAfterCliff = 20000000e8; uint256 public teamPeriodLength = 3 * 30 days; uint8 public teamPeriodsNumber = 8; /*** Tokens reserved for Advisors ***/ // 50,000,000 (5%) tokens will be eventually available for advisors // These tokens will be distributed querterly after a 6 months cliff // 10,000,000 will be unlocked immediately after 6 months // 10,000,000 tokens will be unlocked quarterly within a year after the cliff address public advisorsAllocation = address(0x2222222222222222222222222222222222222222); uint256 public advisorsTotal = 50000000e8; uint256 public advisorsPeriodAmount = 10000000e8; uint256 public advisorsCliff = 6 * 30 days; uint256 public advisorsUnlockedAfterCliff = 10000000e8; uint256 public advisorsPeriodLength = 3 * 30 days; uint8 public advisorsPeriodsNumber = 4; /*** Tokens reserved for pre- and post- ICO Bounty ***/ // 50,000,000 (5%) tokens will be spent on various bounty campaigns // These tokens are available immediately, without vesting address public bountyAllocation = address(0x3333333333333333333333333333333333333333); uint256 public bountyTotal = 50000000e8; /*** Liquidity pool ***/ // 150,000,000 (15%) tokens will be used to manage token volatility // These tokens are available immediately, without vesting address public liquidityPoolAllocation = address(0x4444444444444444444444444444444444444444); uint256 public liquidityPoolTotal = 150000000e8; /*** Tokens reserved for Contributors ***/ // 250,000,000 (25%) tokens will be used to reward parties that contribute to the ecosystem // These tokens are available immediately, without vesting address public contributorsAllocation = address(0x5555555555555555555555555555555555555555); uint256 public contributorsTotal = 250000000e8; /// CONSTRUCTOR constructor() public { // Overall, 1,000,000,000 tokens exist totalSupply = 1000000000e8; balances[investorsAllocation] = investorsTotal; balances[teamAllocation] = teamTotal; balances[advisorsAllocation] = advisorsTotal; balances[bountyAllocation] = bountyTotal; balances[liquidityPoolAllocation] = liquidityPoolTotal; balances[contributorsAllocation] = contributorsTotal; // Unlock some tokens without vesting allowed[investorsAllocation][msg.sender] = investorsTotal; allowed[bountyAllocation][msg.sender] = bountyTotal; allowed[liquidityPoolAllocation][msg.sender] = liquidityPoolTotal; allowed[contributorsAllocation][msg.sender] = contributorsTotal; } /// DISTRIBUTION function distributeInvestorsTokens(address _to, uint256 _amountWithDecimals) public onlyOwner { require(transferFrom(investorsAllocation, _to, _amountWithDecimals)); } /// VESTED ALLOCATIONS function withdrawTeamTokens(address _to, uint256 _amountWithDecimals) public onlyOwner { allowed[teamAllocation][msg.sender] = allowance(teamAllocation, msg.sender); require(transferFrom(teamAllocation, _to, _amountWithDecimals)); } function withdrawAdvisorsTokens(address _to, uint256 _amountWithDecimals) public onlyOwner { allowed[advisorsAllocation][msg.sender] = allowance(advisorsAllocation, msg.sender); require(transferFrom(advisorsAllocation, _to, _amountWithDecimals)); } /// UNVESTED ALLOCATIONS function withdrawBountyTokens(address _to, uint256 _amountWithDecimals) public onlyOwner { require(transferFrom(bountyAllocation, _to, _amountWithDecimals)); } function withdrawLiquidityPoolTokens(address _to, uint256 _amountWithDecimals) public onlyOwner { require(transferFrom(liquidityPoolAllocation, _to, _amountWithDecimals)); } function withdrawContributorsTokens(address _to, uint256 _amountWithDecimals) public onlyOwner { require(transferFrom(contributorsAllocation, _to, _amountWithDecimals)); } /// OVERRIDEN FUNCTIONS /// @dev Overrides StandardToken.sol function function allowance(address _owner, address _spender) public view returns (uint256 remaining) { if (_spender != owner) { return allowed[_owner][_spender]; } uint256 unlockedTokens; uint256 spentTokens; if (_owner == teamAllocation) { unlockedTokens = _calculateUnlockedTokens( teamCliff, teamUnlockedAfterCliff, teamPeriodLength, teamPeriodAmount, teamPeriodsNumber ); spentTokens = balanceOf(teamAllocation) < teamTotal ? teamTotal.sub(balanceOf(teamAllocation)) : 0; } else if (_owner == advisorsAllocation) { unlockedTokens = _calculateUnlockedTokens( advisorsCliff, advisorsUnlockedAfterCliff, advisorsPeriodLength, advisorsPeriodAmount, advisorsPeriodsNumber ); spentTokens = balanceOf(advisorsAllocation) < advisorsTotal ? advisorsTotal.sub(balanceOf(advisorsAllocation)) : 0; } else { return allowed[_owner][_spender]; } return unlockedTokens.sub(spentTokens); } /// @dev Overrides Owned.sol function function confirmOwnership() public onlyPotentialOwner { // Forbids the old owner to distribute investors' tokens allowed[investorsAllocation][owner] = 0; // Allows the new owner to distribute investors' tokens allowed[investorsAllocation][msg.sender] = balanceOf(investorsAllocation); // Forbidsthe old owner to withdraw any tokens from the reserves allowed[teamAllocation][owner] = 0; allowed[advisorsAllocation][owner] = 0; allowed[bountyAllocation][owner] = 0; allowed[liquidityPoolAllocation][owner] = 0; allowed[contributorsAllocation][owner] = 0; // Allows the new owner to withdraw tokens from the unvested allocations allowed[bountyAllocation][msg.sender] = balanceOf(bountyAllocation); allowed[liquidityPoolAllocation][msg.sender] = balanceOf(liquidityPoolAllocation); allowed[contributorsAllocation][msg.sender] = balanceOf(contributorsAllocation); super.confirmOwnership(); } /// PRIVATE FUNCTIONS function _calculateUnlockedTokens( uint256 _cliff, uint256 _unlockedAfterCliff, uint256 _periodLength, uint256 _periodAmount, uint8 _periodsNumber ) private view returns (uint256) { /* solium-disable-next-line security/no-block-members */ if (now < creationTime.add(_cliff)) { return 0; } /* solium-disable-next-line security/no-block-members */ uint256 periods = now.sub(creationTime.add(_cliff)).div(_periodLength); periods = periods > _periodsNumber ? _periodsNumber : periods; return _unlockedAfterCliff.add(periods.mul(_periodAmount)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"teamUnlockedAfterCliff","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"advisorsTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contributorsAllocation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"investorsTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"burner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amountWithDecimals","type":"uint256"}],"name":"withdrawBountyTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamCliff","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidityPoolTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"investorsAllocation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bountyTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amountWithDecimals","type":"uint256"}],"name":"withdrawAdvisorsTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amountWithDecimals","type":"uint256"}],"name":"withdrawTeamTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"contributorsTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amountWithDecimals","type":"uint256"}],"name":"distributeInvestorsTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"teamAllocation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"advisorsCliff","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"teamPeriodAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amountWithDecimals","type":"uint256"}],"name":"withdrawLiquidityPoolTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"potentialOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amountWithDecimals","type":"uint256"}],"name":"withdrawContributorsTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_burner","type":"address"}],"name":"setBurner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"teamPeriodsNumber","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"advisorsPeriodLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamPeriodLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"advisorsPeriodAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"confirmOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"creationTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"advisorsUnlockedAfterCliff","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidityPoolAllocation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"advisorsPeriodsNumber","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bountyAllocation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"advisorsAllocation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"burner","type":"address"}],"name":"NewBurner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"old","type":"address"},{"indexed":false,"name":"current","type":"address"}],"name":"NewOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"old","type":"address"},{"indexed":false,"name":"potential","type":"address"}],"name":"NewPotentialOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
608060405260008054600160a060020a03199081163317909155600780548216600160a060020a03179055668e1bc9bf0400006008908155600980548316731111111111111111111111111111111111111111179055662386f26fc10000600a5566038d7ea4c68000600b81905562ed4e00600c81905566071afd498d0000600d556276a700600e819055600f80547422222222222222222222222222222222222222220061010060a860020a031960ff199283169097178716179091556611c37937e0800060108190556011859055601293909355601393909355601455601580547433333333333333333333333333333333333333330093166004179093169190911790915560165560178054821673444444444444444444444444444444444444444417905566354a6ba7a18000601855601980549091167355555555555555555555555555555555555555551790556658d15e17628000601a5534801561016957600080fd5b504260065567016345785d8a00006004556008805460078054600160a060020a03908116600090815260026020908152604080832095909555600a546009548416835285832055601054600f54610100908190048516845286842091909155601680546015805484900487168652888620919091556018805460178054891688528a882091909155601a8054601980548b168a528c8a20919091559b5499548916885260038088528b892033808b529089528c8a209b909b559454935495909504881687528386528987208988528652898720929092555490548616855281845287852087865284528785205590549654909316825291825283812092815291905220556118308061027c6000396000f30060806040526004361061022b5763ffffffff60e060020a60003504166286bb3e811461023057806306fdde0314610257578063075bf772146102e1578063095ea7b3146102f65780630cb97f571461032e57806313af40351461034357806318160ddd146103665780631a51a28c1461037b5780631cb252fe146103ac57806323b872dd146103c157806327810b6e146103eb5780633029ba6914610400578063313ce567146104245780633879c9f31461044f5780633c920d0d146104645780633e4b257014610479578063408965501461048e57806342966c68146104a3578063467de087146104bb5780634ad1cbad146104df57806353e86a88146105035780635e8f659714610518578063661884631461053c5780636816521a14610560578063702a3eff1461057557806370a082311461058a57806375766294146105ab578063763a666a146105c05780637762df25146105e45780637f1a4c1f146105f95780638da5cb5b1461061d57806392940bf91461063257806395d89b411461065c578063a9059cbb14610671578063a996d6ce14610695578063abadeb06146106b6578063bebe3c88146106cb578063c31051fe146106e0578063d02041f3146106f5578063d5d1e7701461070a578063d73dd6231461071f578063d8270dce14610743578063dd62ed3e14610758578063e319b0e21461077f578063e780377e14610794578063ebc97c36146107a9578063f6b9d05d146107be578063fb064161146107d3575b600080fd5b34801561023c57600080fd5b506102456107e8565b60408051918252519081900360200190f35b34801561026357600080fd5b5061026c6107ee565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a657818101518382015260200161028e565b50505050905090810190601f1680156102d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102ed57600080fd5b50610245610825565b34801561030257600080fd5b5061031a600160a060020a036004351660243561082b565b604080519115158252519081900360200190f35b34801561033a57600080fd5b50610245610892565b34801561034f57600080fd5b50610364600160a060020a0360043516610898565b005b34801561037257600080fd5b50610245610926565b34801561038757600080fd5b5061039061092c565b60408051600160a060020a039092168252519081900360200190f35b3480156103b857600080fd5b5061024561093b565b3480156103cd57600080fd5b5061031a600160a060020a0360043581169060243516604435610941565b3480156103f757600080fd5b506103906109dc565b34801561040c57600080fd5b50610364600160a060020a03600435166024356109eb565b34801561043057600080fd5b50610439610a2d565b6040805160ff9092168252519081900360200190f35b34801561045b57600080fd5b50610245610a32565b34801561047057600080fd5b50610245610a38565b34801561048557600080fd5b50610390610a3e565b34801561049a57600080fd5b50610245610a4d565b3480156104af57600080fd5b50610364600435610a53565b3480156104c757600080fd5b50610364600160a060020a0360043516602435610b00565b3480156104eb57600080fd5b50610364600160a060020a0360043516602435610b75565b34801561050f57600080fd5b50610245610bdb565b34801561052457600080fd5b50610364600160a060020a0360043516602435610be1565b34801561054857600080fd5b5061031a600160a060020a0360043516602435610c0f565b34801561056c57600080fd5b50610390610cff565b34801561058157600080fd5b50610245610d0e565b34801561059657600080fd5b50610245600160a060020a0360043516610d14565b3480156105b757600080fd5b50610245610d2f565b3480156105cc57600080fd5b50610364600160a060020a0360043516602435610d35565b3480156105f057600080fd5b50610390610d63565b34801561060557600080fd5b50610364600160a060020a0360043516602435610d72565b34801561062957600080fd5b50610390610da0565b34801561063e57600080fd5b5061031a600160a060020a0360043581169060243516604435610daf565b34801561066857600080fd5b5061026c611040565b34801561067d57600080fd5b5061031a600160a060020a0360043516602435611077565b3480156106a157600080fd5b50610364600160a060020a036004351661108b565b3480156106c257600080fd5b50610439611103565b3480156106d757600080fd5b5061024561110c565b3480156106ec57600080fd5b50610245611112565b34801561070157600080fd5b50610245611118565b34801561071657600080fd5b5061036461111e565b34801561072b57600080fd5b5061031a600160a060020a03600435166024356112de565b34801561074f57600080fd5b50610245611377565b34801561076457600080fd5b50610245600160a060020a036004358116906024351661137d565b34801561078b57600080fd5b5061024561152e565b3480156107a057600080fd5b50610390611534565b3480156107b557600080fd5b50610439611543565b3480156107ca57600080fd5b5061039061154c565b3480156107df57600080fd5b50610390611560565b600d5481565b60408051808201909152600981527f496e6d6564696174650000000000000000000000000000000000000000000000602082015281565b600a5481565b336000818152600360209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60105481565b600054600160a060020a031633146108af57600080fd5b60005460408051600160a060020a039283168152918316602083015280517f8a95addc59dddee94a894365b5c66c6c2473b7084d3fd1df9f503db4a2cd6dcc9281900390910190a16001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045481565b601954600160a060020a031681565b60085481565b600160a060020a038316600090815260036020908152604080832033845290915281205482111561097157600080fd5b600160a060020a03841660009081526003602090815260408083203384529091529020546109a5908363ffffffff61157416565b600160a060020a03851660009081526003602090815260408083203384529091529020556109d4848484611586565b949350505050565b600554600160a060020a031681565b600054600160a060020a03163314610a0257600080fd5b601554610a1e906101009004600160a060020a03168383610941565b1515610a2957600080fd5b5050565b600881565b600c5481565b60185481565b600754600160a060020a031681565b60165481565b600554600160a060020a03163314610a6a57600080fd5b80610a7433610d14565b1015610a7f57600080fd5b33600090815260026020526040902054610a9f908263ffffffff61157416565b33600090815260026020526040902055600454610ac2908263ffffffff61157416565b60045560408051828152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350565b600054600160a060020a03163314610b1757600080fd5b600f54610b32906101009004600160a060020a03163361137d565b600f8054600160a060020a0361010091829004811660009081526003602090815260408083203384529091529020939093559054610a1e92919004168383610941565b600054600160a060020a03163314610b8c57600080fd5b600954610ba290600160a060020a03163361137d565b60098054600160a060020a03908116600090815260036020908152604080832033845290915290209290925554610a1e91168383610941565b601a5481565b600054600160a060020a03163314610bf857600080fd5b600754610a1e90600160a060020a03168383610941565b336000908152600360209081526040808320600160a060020a038616845290915281205480831115610c6457336000908152600360209081526040808320600160a060020a0388168452909152812055610c99565b610c74818463ffffffff61157416565b336000908152600360209081526040808320600160a060020a03891684529091529020555b336000818152600360209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600954600160a060020a031681565b60125481565b600160a060020a031660009081526002602052604090205490565b600b5481565b600054600160a060020a03163314610d4c57600080fd5b601754610a1e90600160a060020a03168383610941565b600154600160a060020a031681565b600054600160a060020a03163314610d8957600080fd5b601954610a1e90600160a060020a03168383610941565b600054600160a060020a031681565b6000805481908190600160a060020a03163314610dcb57600080fd5b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518591600160a060020a038916916370a08231916024808201926020929091908290030181600087803b158015610e2f57600080fd5b505af1158015610e43573d6000803e3d6000fd5b505050506040513d6020811015610e5957600080fd5b50511015610e6657600080fd5b85600160a060020a03166370a08231866040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610ec157600080fd5b505af1158015610ed5573d6000803e3d6000fd5b505050506040513d6020811015610eeb57600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0388811660048301526024820188905291519294509088169163a9059cbb916044808201926020929091908290030181600087803b158015610f5c57600080fd5b505af1158015610f70573d6000803e3d6000fd5b505050506040513d6020811015610f8657600080fd5b50511515610f9357600080fd5b85600160a060020a03166370a08231866040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610fee57600080fd5b505af1158015611002573d6000803e3d6000fd5b505050506040513d602081101561101857600080fd5b5051905061102c828563ffffffff61167f16565b811461103457fe5b50600195945050505050565b60408051808201909152600381527f4449540000000000000000000000000000000000000000000000000000000000602082015281565b6000611084338484611586565b9392505050565b600054600160a060020a031633146110a257600080fd5b60058054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f5bb1db06eeb30d85c1e53ae2285b460ce83e4318c623bd1ca51df912f64c45a49181900360200190a150565b600f5460ff1681565b60145481565b600e5481565b60115481565b600154600160a060020a0316331461113557600080fd5b60078054600160a060020a039081166000908152600360209081526040808320835485168452909152812055905461116d9116610d14565b600754600160a060020a039081166000908152600360208181526040808420338552825280842095909555600954841683528181528483208354851684528152848320839055600f54610100908190048516845282825285842084548616855282528584208490556015805482900486168552838352868520855487168652835286852085905560175486168552838352868520855487168652835286852085905560195486168552928252858420845486168552909152938220919091555461123992900416610d14565b601554600160a060020a03610100909104811660009081526003602090815260408083203384529091529020919091556017546112769116610d14565b601754600160a060020a0390811660009081526003602090815260408083203384529091529020919091556019546112ae9116610d14565b601954600160a060020a031660009081526003602090815260408083203384529091529020556112dc61168c565b565b336000908152600360209081526040808320600160a060020a0386168452909152812054611312908363ffffffff61167f16565b336000818152600360209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b60065481565b6000805481908190600160a060020a038581169116146113c457600160a060020a038086166000908152600360209081526040808320938816835292905220549250611526565b600954600160a060020a038681169116141561145057600c54600d54600e54600b54600f546113f9949392919060ff16611723565b600a546009549193509061141590600160a060020a0316610d14565b10611421576000611449565b6009546114499061143a90600160a060020a0316610d14565b600a549063ffffffff61157416565b9050611513565b600f54600160a060020a038681166101009092041614156114e65760125460135460145460115460155461148a949392919060ff16611723565b91506010546114ad600f60019054906101000a9004600160a060020a0316610d14565b106114b9576000611449565b600f54611449906114d7906101009004600160a060020a0316610d14565b6010549063ffffffff61157416565b600160a060020a038086166000908152600360209081526040808320938816835292905220549250611526565b611523828263ffffffff61157416565b92505b505092915050565b60135481565b601754600160a060020a031681565b60155460ff1681565b6015546101009004600160a060020a031681565b600f546101009004600160a060020a031681565b60008282111561158057fe5b50900390565b600160a060020a0383166000908152600260205260408120548211156115ab57600080fd5b600160a060020a03831615156115c057600080fd5b600160a060020a0384166000908152600260205260409020546115e9908363ffffffff61157416565b600160a060020a03808616600090815260026020526040808220939093559085168152205461161e908363ffffffff61167f16565b600160a060020a0380851660008181526002602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b8181018281101561088c57fe5b600154600160a060020a031633146116a357600080fd5b60005460015460408051600160a060020a03938416815292909116602083015280517f70aea8d848e8a90fb7661b227dc522eb6395c3dac71b63cb59edd5c9899b23649281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60008061173b8760065461167f90919063ffffffff16565b42101561174b57600091506117bc565b611780856117746117678a60065461167f90919063ffffffff16565b429063ffffffff61157416565b9063ffffffff6117c616565b90508260ff1681116117925780611797565b8260ff165b90506117b96117ac828663ffffffff6117db16565b879063ffffffff61167f16565b91505b5095945050505050565b600081838115156117d357fe5b049392505050565b60008215156117ec5750600061088c565b508181028183828115156117fc57fe5b041461088c57fe00a165627a7a723058200e4282d0745e0a65f83bffcadea870d4a35748d04f1e819b5d38f009cb610e7b0029
Deployed Bytecode
0x60806040526004361061022b5763ffffffff60e060020a60003504166286bb3e811461023057806306fdde0314610257578063075bf772146102e1578063095ea7b3146102f65780630cb97f571461032e57806313af40351461034357806318160ddd146103665780631a51a28c1461037b5780631cb252fe146103ac57806323b872dd146103c157806327810b6e146103eb5780633029ba6914610400578063313ce567146104245780633879c9f31461044f5780633c920d0d146104645780633e4b257014610479578063408965501461048e57806342966c68146104a3578063467de087146104bb5780634ad1cbad146104df57806353e86a88146105035780635e8f659714610518578063661884631461053c5780636816521a14610560578063702a3eff1461057557806370a082311461058a57806375766294146105ab578063763a666a146105c05780637762df25146105e45780637f1a4c1f146105f95780638da5cb5b1461061d57806392940bf91461063257806395d89b411461065c578063a9059cbb14610671578063a996d6ce14610695578063abadeb06146106b6578063bebe3c88146106cb578063c31051fe146106e0578063d02041f3146106f5578063d5d1e7701461070a578063d73dd6231461071f578063d8270dce14610743578063dd62ed3e14610758578063e319b0e21461077f578063e780377e14610794578063ebc97c36146107a9578063f6b9d05d146107be578063fb064161146107d3575b600080fd5b34801561023c57600080fd5b506102456107e8565b60408051918252519081900360200190f35b34801561026357600080fd5b5061026c6107ee565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a657818101518382015260200161028e565b50505050905090810190601f1680156102d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102ed57600080fd5b50610245610825565b34801561030257600080fd5b5061031a600160a060020a036004351660243561082b565b604080519115158252519081900360200190f35b34801561033a57600080fd5b50610245610892565b34801561034f57600080fd5b50610364600160a060020a0360043516610898565b005b34801561037257600080fd5b50610245610926565b34801561038757600080fd5b5061039061092c565b60408051600160a060020a039092168252519081900360200190f35b3480156103b857600080fd5b5061024561093b565b3480156103cd57600080fd5b5061031a600160a060020a0360043581169060243516604435610941565b3480156103f757600080fd5b506103906109dc565b34801561040c57600080fd5b50610364600160a060020a03600435166024356109eb565b34801561043057600080fd5b50610439610a2d565b6040805160ff9092168252519081900360200190f35b34801561045b57600080fd5b50610245610a32565b34801561047057600080fd5b50610245610a38565b34801561048557600080fd5b50610390610a3e565b34801561049a57600080fd5b50610245610a4d565b3480156104af57600080fd5b50610364600435610a53565b3480156104c757600080fd5b50610364600160a060020a0360043516602435610b00565b3480156104eb57600080fd5b50610364600160a060020a0360043516602435610b75565b34801561050f57600080fd5b50610245610bdb565b34801561052457600080fd5b50610364600160a060020a0360043516602435610be1565b34801561054857600080fd5b5061031a600160a060020a0360043516602435610c0f565b34801561056c57600080fd5b50610390610cff565b34801561058157600080fd5b50610245610d0e565b34801561059657600080fd5b50610245600160a060020a0360043516610d14565b3480156105b757600080fd5b50610245610d2f565b3480156105cc57600080fd5b50610364600160a060020a0360043516602435610d35565b3480156105f057600080fd5b50610390610d63565b34801561060557600080fd5b50610364600160a060020a0360043516602435610d72565b34801561062957600080fd5b50610390610da0565b34801561063e57600080fd5b5061031a600160a060020a0360043581169060243516604435610daf565b34801561066857600080fd5b5061026c611040565b34801561067d57600080fd5b5061031a600160a060020a0360043516602435611077565b3480156106a157600080fd5b50610364600160a060020a036004351661108b565b3480156106c257600080fd5b50610439611103565b3480156106d757600080fd5b5061024561110c565b3480156106ec57600080fd5b50610245611112565b34801561070157600080fd5b50610245611118565b34801561071657600080fd5b5061036461111e565b34801561072b57600080fd5b5061031a600160a060020a03600435166024356112de565b34801561074f57600080fd5b50610245611377565b34801561076457600080fd5b50610245600160a060020a036004358116906024351661137d565b34801561078b57600080fd5b5061024561152e565b3480156107a057600080fd5b50610390611534565b3480156107b557600080fd5b50610439611543565b3480156107ca57600080fd5b5061039061154c565b3480156107df57600080fd5b50610390611560565b600d5481565b60408051808201909152600981527f496e6d6564696174650000000000000000000000000000000000000000000000602082015281565b600a5481565b336000818152600360209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60105481565b600054600160a060020a031633146108af57600080fd5b60005460408051600160a060020a039283168152918316602083015280517f8a95addc59dddee94a894365b5c66c6c2473b7084d3fd1df9f503db4a2cd6dcc9281900390910190a16001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045481565b601954600160a060020a031681565b60085481565b600160a060020a038316600090815260036020908152604080832033845290915281205482111561097157600080fd5b600160a060020a03841660009081526003602090815260408083203384529091529020546109a5908363ffffffff61157416565b600160a060020a03851660009081526003602090815260408083203384529091529020556109d4848484611586565b949350505050565b600554600160a060020a031681565b600054600160a060020a03163314610a0257600080fd5b601554610a1e906101009004600160a060020a03168383610941565b1515610a2957600080fd5b5050565b600881565b600c5481565b60185481565b600754600160a060020a031681565b60165481565b600554600160a060020a03163314610a6a57600080fd5b80610a7433610d14565b1015610a7f57600080fd5b33600090815260026020526040902054610a9f908263ffffffff61157416565b33600090815260026020526040902055600454610ac2908263ffffffff61157416565b60045560408051828152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350565b600054600160a060020a03163314610b1757600080fd5b600f54610b32906101009004600160a060020a03163361137d565b600f8054600160a060020a0361010091829004811660009081526003602090815260408083203384529091529020939093559054610a1e92919004168383610941565b600054600160a060020a03163314610b8c57600080fd5b600954610ba290600160a060020a03163361137d565b60098054600160a060020a03908116600090815260036020908152604080832033845290915290209290925554610a1e91168383610941565b601a5481565b600054600160a060020a03163314610bf857600080fd5b600754610a1e90600160a060020a03168383610941565b336000908152600360209081526040808320600160a060020a038616845290915281205480831115610c6457336000908152600360209081526040808320600160a060020a0388168452909152812055610c99565b610c74818463ffffffff61157416565b336000908152600360209081526040808320600160a060020a03891684529091529020555b336000818152600360209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600954600160a060020a031681565b60125481565b600160a060020a031660009081526002602052604090205490565b600b5481565b600054600160a060020a03163314610d4c57600080fd5b601754610a1e90600160a060020a03168383610941565b600154600160a060020a031681565b600054600160a060020a03163314610d8957600080fd5b601954610a1e90600160a060020a03168383610941565b600054600160a060020a031681565b6000805481908190600160a060020a03163314610dcb57600080fd5b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518591600160a060020a038916916370a08231916024808201926020929091908290030181600087803b158015610e2f57600080fd5b505af1158015610e43573d6000803e3d6000fd5b505050506040513d6020811015610e5957600080fd5b50511015610e6657600080fd5b85600160a060020a03166370a08231866040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610ec157600080fd5b505af1158015610ed5573d6000803e3d6000fd5b505050506040513d6020811015610eeb57600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0388811660048301526024820188905291519294509088169163a9059cbb916044808201926020929091908290030181600087803b158015610f5c57600080fd5b505af1158015610f70573d6000803e3d6000fd5b505050506040513d6020811015610f8657600080fd5b50511515610f9357600080fd5b85600160a060020a03166370a08231866040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610fee57600080fd5b505af1158015611002573d6000803e3d6000fd5b505050506040513d602081101561101857600080fd5b5051905061102c828563ffffffff61167f16565b811461103457fe5b50600195945050505050565b60408051808201909152600381527f4449540000000000000000000000000000000000000000000000000000000000602082015281565b6000611084338484611586565b9392505050565b600054600160a060020a031633146110a257600080fd5b60058054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f5bb1db06eeb30d85c1e53ae2285b460ce83e4318c623bd1ca51df912f64c45a49181900360200190a150565b600f5460ff1681565b60145481565b600e5481565b60115481565b600154600160a060020a0316331461113557600080fd5b60078054600160a060020a039081166000908152600360209081526040808320835485168452909152812055905461116d9116610d14565b600754600160a060020a039081166000908152600360208181526040808420338552825280842095909555600954841683528181528483208354851684528152848320839055600f54610100908190048516845282825285842084548616855282528584208490556015805482900486168552838352868520855487168652835286852085905560175486168552838352868520855487168652835286852085905560195486168552928252858420845486168552909152938220919091555461123992900416610d14565b601554600160a060020a03610100909104811660009081526003602090815260408083203384529091529020919091556017546112769116610d14565b601754600160a060020a0390811660009081526003602090815260408083203384529091529020919091556019546112ae9116610d14565b601954600160a060020a031660009081526003602090815260408083203384529091529020556112dc61168c565b565b336000908152600360209081526040808320600160a060020a0386168452909152812054611312908363ffffffff61167f16565b336000818152600360209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b60065481565b6000805481908190600160a060020a038581169116146113c457600160a060020a038086166000908152600360209081526040808320938816835292905220549250611526565b600954600160a060020a038681169116141561145057600c54600d54600e54600b54600f546113f9949392919060ff16611723565b600a546009549193509061141590600160a060020a0316610d14565b10611421576000611449565b6009546114499061143a90600160a060020a0316610d14565b600a549063ffffffff61157416565b9050611513565b600f54600160a060020a038681166101009092041614156114e65760125460135460145460115460155461148a949392919060ff16611723565b91506010546114ad600f60019054906101000a9004600160a060020a0316610d14565b106114b9576000611449565b600f54611449906114d7906101009004600160a060020a0316610d14565b6010549063ffffffff61157416565b600160a060020a038086166000908152600360209081526040808320938816835292905220549250611526565b611523828263ffffffff61157416565b92505b505092915050565b60135481565b601754600160a060020a031681565b60155460ff1681565b6015546101009004600160a060020a031681565b600f546101009004600160a060020a031681565b60008282111561158057fe5b50900390565b600160a060020a0383166000908152600260205260408120548211156115ab57600080fd5b600160a060020a03831615156115c057600080fd5b600160a060020a0384166000908152600260205260409020546115e9908363ffffffff61157416565b600160a060020a03808616600090815260026020526040808220939093559085168152205461161e908363ffffffff61167f16565b600160a060020a0380851660008181526002602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b8181018281101561088c57fe5b600154600160a060020a031633146116a357600080fd5b60005460015460408051600160a060020a03938416815292909116602083015280517f70aea8d848e8a90fb7661b227dc522eb6395c3dac71b63cb59edd5c9899b23649281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60008061173b8760065461167f90919063ffffffff16565b42101561174b57600091506117bc565b611780856117746117678a60065461167f90919063ffffffff16565b429063ffffffff61157416565b9063ffffffff6117c616565b90508260ff1681116117925780611797565b8260ff165b90506117b96117ac828663ffffffff6117db16565b879063ffffffff61167f16565b91505b5095945050505050565b600081838115156117d357fe5b049392505050565b60008215156117ec5750600061088c565b508181028183828115156117fc57fe5b041461088c57fe00a165627a7a723058200e4282d0745e0a65f83bffcadea870d4a35748d04f1e819b5d38f009cb610e7b0029
Swarm Source
bzzr://0e4282d0745e0a65f83bffcadea870d4a35748d04f1e819b5d38f009cb610e7b
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.