TRON token contract has migrated to a new address.
Overview
Max Total Supply
890,120.640303 TRX
Holders
487 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 6 Decimals)
Balance
6,447.442778 TRXValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ERC20TRX
Compiler Version
v0.4.26+commit.4563c3fc
Contract Source Code (Solidity Multiple files format)
pragma solidity ^0.4.18; import "./StandardTokenWithFees.sol"; import "./Pausable.sol"; import "./BlackList.sol"; contract UpgradedStandardToken is StandardToken { // those methods are called by the legacy contract // and they must ensure msg.sender to be the contract address uint public _totalSupply; function transferByLegacy(address from, address to, uint value) public returns (bool); function transferFromByLegacy(address sender, address from, address spender, uint value) public returns (bool); function approveByLegacy(address from, address spender, uint value) public returns (bool); function increaseApprovalByLegacy(address from, address spender, uint addedValue) public returns (bool); function decreaseApprovalByLegacy(address from, address spender, uint subtractedValue) public returns (bool); } /** * ERC20 TRON Token (TRX) */ contract ERC20TRX is Pausable, StandardTokenWithFees, BlackList { address public upgradedAddress; bool public deprecated; // The contract can be initialized with a number of tokens // All the tokens are deposited to the owner address function ERC20TRX() public { _totalSupply = 0; name = "TRON"; symbol = "TRX"; decimals = 6; deprecated = false; } // Forward ERC20 methods to upgraded contract if this one is deprecated function transfer(address _to, uint _value) public whenNotPaused returns (bool) { require(!isBlackListed[msg.sender]); if (deprecated) { return UpgradedStandardToken(upgradedAddress).transferByLegacy(msg.sender, _to, _value); } else { return super.transfer(_to, _value); } } // Forward ERC20 methods to upgraded contract if this one is deprecated function transferFrom(address _from, address _to, uint _value) public whenNotPaused returns (bool) { require(!isBlackListed[_from]); if (deprecated) { return UpgradedStandardToken(upgradedAddress).transferFromByLegacy(msg.sender, _from, _to, _value); } else { return super.transferFrom(_from, _to, _value); } } // Forward ERC20 methods to upgraded contract if this one is deprecated function balanceOf(address who) public constant returns (uint) { if (deprecated) { return UpgradedStandardToken(upgradedAddress).balanceOf(who); } else { return super.balanceOf(who); } } // Allow checks of balance at time of deprecation function oldBalanceOf(address who) public constant returns (uint) { if (deprecated) { return super.balanceOf(who); } } // Forward ERC20 methods to upgraded contract if this one is deprecated function approve(address _spender, uint _value) public whenNotPaused returns (bool) { if (deprecated) { return UpgradedStandardToken(upgradedAddress).approveByLegacy(msg.sender, _spender, _value); } else { return super.approve(_spender, _value); } } function increaseApproval(address _spender, uint _addedValue) public whenNotPaused returns (bool) { if (deprecated) { return UpgradedStandardToken(upgradedAddress).increaseApprovalByLegacy(msg.sender, _spender, _addedValue); } else { return super.increaseApproval(_spender, _addedValue); } } function decreaseApproval(address _spender, uint _subtractedValue) public whenNotPaused returns (bool) { if (deprecated) { return UpgradedStandardToken(upgradedAddress).decreaseApprovalByLegacy(msg.sender, _spender, _subtractedValue); } else { return super.decreaseApproval(_spender, _subtractedValue); } } // Forward ERC20 methods to upgraded contract if this one is deprecated function allowance(address _owner, address _spender) public constant returns (uint remaining) { if (deprecated) { return StandardToken(upgradedAddress).allowance(_owner, _spender); } else { return super.allowance(_owner, _spender); } } // deprecate current contract in favour of a new one function deprecate(address _upgradedAddress) public onlyOwner { require(_upgradedAddress != address(0)); deprecated = true; upgradedAddress = _upgradedAddress; Deprecate(_upgradedAddress); } // deprecate current contract if favour of a new one function totalSupply() public constant returns (uint) { if (deprecated) { return StandardToken(upgradedAddress).totalSupply(); } else { return _totalSupply; } } // Issue a new amount of tokens // these tokens are deposited into the owner address // // @param _amount Number of tokens to be issued function issue(uint amount) public onlyOwner { balances[owner] = balances[owner].add(amount); _totalSupply = _totalSupply.add(amount); Issue(amount); Transfer(address(0), owner, amount); } // Redeem tokens. // These tokens are withdrawn from the owner address // if the balance must be enough to cover the redeem // or the call will fail. // @param _amount Number of tokens to be issued function redeem(uint amount) public onlyOwner { _totalSupply = _totalSupply.sub(amount); balances[owner] = balances[owner].sub(amount); Redeem(amount); Transfer(owner, address(0), amount); } function destroyBlackFunds (address _blackListedUser) public onlyOwner { require(isBlackListed[_blackListedUser]); uint dirtyFunds = balanceOf(_blackListedUser); balances[_blackListedUser] = 0; _totalSupply = _totalSupply.sub(dirtyFunds); DestroyedBlackFunds(_blackListedUser, dirtyFunds); } event DestroyedBlackFunds(address indexed _blackListedUser, uint _balance); // Called when new token are issued event Issue(uint amount); // Called when tokens are redeemed event Redeem(uint amount); // Called when contract is deprecated event Deprecate(address newAddress); }
pragma solidity ^0.4.18; import './SafeMath.sol'; /** * @title ERC20Basic * @dev Simpler version of ERC20 interface */ contract ERC20Basic { function totalSupply() public constant returns (uint); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) balances; /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); // SafeMath.sub will throw if there is not enough balance. balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } }
pragma solidity ^0.4.18; import "./Ownable.sol"; contract BlackList is Ownable { function getBlackListStatus(address _maker) external constant returns (bool) { return isBlackListed[_maker]; } mapping (address => bool) public isBlackListed; function addBlackList (address _evilUser) public onlyOwner { isBlackListed[_evilUser] = true; AddedBlackList(_evilUser); } function removeBlackList (address _clearedUser) public onlyOwner { isBlackListed[_clearedUser] = false; RemovedBlackList(_clearedUser); } event AddedBlackList(address indexed _user); event RemovedBlackList(address indexed _user); }
pragma solidity ^0.4.4; /* solhint-disable var-name-mixedcase */ contract Migrations { address public owner; uint public last_completed_migration; modifier restricted() { if (msg.sender == owner) _; } function Migrations() public { owner = msg.sender; } function setCompleted(uint completed) public restricted { last_completed_migration = completed; } function upgrade(address newAddress) public restricted { Migrations upgraded = Migrations(newAddress); upgraded.setCompleted(last_completed_migration); } }
pragma solidity ^0.4.10; /// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution. /// @author Stefan George - <[email protected]> contract MultiSigWallet { uint constant public MAX_OWNER_COUNT = 50; event Confirmation(address indexed sender, uint indexed transactionId); event Revocation(address indexed sender, uint indexed transactionId); event Submission(uint indexed transactionId); event Execution(uint indexed transactionId); event ExecutionFailure(uint indexed transactionId); event Deposit(address indexed sender, uint value); event OwnerAddition(address indexed owner); event OwnerRemoval(address indexed owner); event RequirementChange(uint required); mapping (uint => Transaction) public transactions; mapping (uint => mapping (address => bool)) public confirmations; mapping (address => bool) public isOwner; address[] public owners; uint public required; uint public transactionCount; struct Transaction { address destination; uint value; bytes data; bool executed; } modifier onlyWallet() { if (msg.sender != address(this)) throw; _; } modifier ownerDoesNotExist(address owner) { if (isOwner[owner]) throw; _; } modifier ownerExists(address owner) { if (!isOwner[owner]) throw; _; } modifier transactionExists(uint transactionId) { if (transactions[transactionId].destination == 0) throw; _; } modifier confirmed(uint transactionId, address owner) { if (!confirmations[transactionId][owner]) throw; _; } modifier notConfirmed(uint transactionId, address owner) { if (confirmations[transactionId][owner]) throw; _; } modifier notExecuted(uint transactionId) { if (transactions[transactionId].executed) throw; _; } modifier notNull(address _address) { if (_address == 0) throw; _; } modifier validRequirement(uint ownerCount, uint _required) { if ( ownerCount > MAX_OWNER_COUNT || _required > ownerCount || _required == 0 || ownerCount == 0) throw; _; } /// @dev Fallback function allows to deposit ether. function() payable { if (msg.value > 0) Deposit(msg.sender, msg.value); } /* * Public functions */ /// @dev Contract constructor sets initial owners and required number of confirmations. /// @param _owners List of initial owners. /// @param _required Number of required confirmations. function MultiSigWallet(address[] _owners, uint _required) public validRequirement(_owners.length, _required) { for (uint i=0; i<_owners.length; i++) { if (isOwner[_owners[i]] || _owners[i] == 0) throw; isOwner[_owners[i]] = true; } owners = _owners; required = _required; } /// @dev Allows to add a new owner. Transaction has to be sent by wallet. /// @param owner Address of new owner. function addOwner(address owner) public onlyWallet ownerDoesNotExist(owner) notNull(owner) validRequirement(owners.length + 1, required) { isOwner[owner] = true; owners.push(owner); OwnerAddition(owner); } /// @dev Allows to remove an owner. Transaction has to be sent by wallet. /// @param owner Address of owner. function removeOwner(address owner) public onlyWallet ownerExists(owner) { isOwner[owner] = false; for (uint i=0; i<owners.length - 1; i++) if (owners[i] == owner) { owners[i] = owners[owners.length - 1]; break; } owners.length -= 1; if (required > owners.length) changeRequirement(owners.length); OwnerRemoval(owner); } /// @dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet. /// @param owner Address of owner to be replaced. /// @param owner Address of new owner. function replaceOwner(address owner, address newOwner) public onlyWallet ownerExists(owner) ownerDoesNotExist(newOwner) { for (uint i=0; i<owners.length; i++) if (owners[i] == owner) { owners[i] = newOwner; break; } isOwner[owner] = false; isOwner[newOwner] = true; OwnerRemoval(owner); OwnerAddition(newOwner); } /// @dev Allows to change the number of required confirmations. Transaction has to be sent by wallet. /// @param _required Number of required confirmations. function changeRequirement(uint _required) public onlyWallet validRequirement(owners.length, _required) { required = _required; RequirementChange(_required); } /// @dev Allows an owner to submit and confirm a transaction. /// @param destination Transaction target address. /// @param value Transaction ether value. /// @param data Transaction data payload. /// @return Returns transaction ID. function submitTransaction(address destination, uint value, bytes data) public returns (uint transactionId) { transactionId = addTransaction(destination, value, data); confirmTransaction(transactionId); } /// @dev Allows an owner to confirm a transaction. /// @param transactionId Transaction ID. function confirmTransaction(uint transactionId) public ownerExists(msg.sender) transactionExists(transactionId) notConfirmed(transactionId, msg.sender) { confirmations[transactionId][msg.sender] = true; Confirmation(msg.sender, transactionId); executeTransaction(transactionId); } /// @dev Allows an owner to revoke a confirmation for a transaction. /// @param transactionId Transaction ID. function revokeConfirmation(uint transactionId) public ownerExists(msg.sender) confirmed(transactionId, msg.sender) notExecuted(transactionId) { confirmations[transactionId][msg.sender] = false; Revocation(msg.sender, transactionId); } /// @dev Allows anyone to execute a confirmed transaction. /// @param transactionId Transaction ID. function executeTransaction(uint transactionId) public notExecuted(transactionId) { if (isConfirmed(transactionId)) { Transaction tx = transactions[transactionId]; tx.executed = true; if (tx.destination.call.value(tx.value)(tx.data)) Execution(transactionId); else { ExecutionFailure(transactionId); tx.executed = false; } } } /// @dev Returns the confirmation status of a transaction. /// @param transactionId Transaction ID. /// @return Confirmation status. function isConfirmed(uint transactionId) public constant returns (bool) { uint count = 0; for (uint i=0; i<owners.length; i++) { if (confirmations[transactionId][owners[i]]) count += 1; if (count == required) return true; } } /* * Internal functions */ /// @dev Adds a new transaction to the transaction mapping, if transaction does not exist yet. /// @param destination Transaction target address. /// @param value Transaction ether value. /// @param data Transaction data payload. /// @return Returns transaction ID. function addTransaction(address destination, uint value, bytes data) internal notNull(destination) returns (uint transactionId) { transactionId = transactionCount; transactions[transactionId] = Transaction({ destination: destination, value: value, data: data, executed: false }); transactionCount += 1; Submission(transactionId); } /* * Web3 call functions */ /// @dev Returns number of confirmations of a transaction. /// @param transactionId Transaction ID. /// @return Number of confirmations. function getConfirmationCount(uint transactionId) public constant returns (uint count) { for (uint i=0; i<owners.length; i++) if (confirmations[transactionId][owners[i]]) count += 1; } /// @dev Returns total number of transactions after filers are applied. /// @param pending Include pending transactions. /// @param executed Include executed transactions. /// @return Total number of transactions after filters are applied. function getTransactionCount(bool pending, bool executed) public constant returns (uint count) { for (uint i=0; i<transactionCount; i++) if ( pending && !transactions[i].executed || executed && transactions[i].executed) count += 1; } /// @dev Returns list of owners. /// @return List of owner addresses. function getOwners() public constant returns (address[]) { return owners; } /// @dev Returns array with owner addresses, which confirmed transaction. /// @param transactionId Transaction ID. /// @return Returns array of owner addresses. function getConfirmations(uint transactionId) public constant returns (address[] _confirmations) { address[] memory confirmationsTemp = new address[](owners.length); uint count = 0; uint i; for (i=0; i<owners.length; i++) if (confirmations[transactionId][owners[i]]) { confirmationsTemp[count] = owners[i]; count += 1; } _confirmations = new address[](count); for (i=0; i<count; i++) _confirmations[i] = confirmationsTemp[i]; } /// @dev Returns list of transaction IDs in defined range. /// @param from Index start position of transaction array. /// @param to Index end position of transaction array. /// @param pending Include pending transactions. /// @param executed Include executed transactions. /// @return Returns array of transaction IDs. function getTransactionIds(uint from, uint to, bool pending, bool executed) public constant returns (uint[] _transactionIds) { uint[] memory transactionIdsTemp = new uint[](transactionCount); uint count = 0; uint i; for (i=0; i<transactionCount; i++) if ( pending && !transactions[i].executed || executed && transactions[i].executed) { transactionIdsTemp[count] = i; count += 1; } _transactionIds = new uint[](to - from); for (i=from; i<to; i++) _transactionIds[i - from] = transactionIdsTemp[i]; } }
pragma solidity ^0.4.18; /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } }
pragma solidity ^0.4.18; import "./Ownable.sol"; /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() onlyOwner whenNotPaused public { paused = true; Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() onlyOwner whenPaused public { paused = false; Unpause(); } }
pragma solidity ^0.4.18; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } }
pragma solidity ^0.4.18; import './BasicToken.sol'; /** * @title ERC20 interface */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * * 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: * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address _owner, address _spender) public view returns (uint256) { return allowed[_owner][_spender]; } /** * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol */ function increaseApproval(address _spender, uint _addedValue) public returns (bool) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) { uint oldValue = allowed[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } }
pragma solidity ^0.4.18; import "./StandardToken.sol"; import "./Ownable.sol"; contract StandardTokenWithFees is StandardToken, Ownable { // Additional variables for use if transaction fees ever became necessary uint256 public basisPointsRate = 0; uint256 public maximumFee = 0; uint256 constant MAX_SETTABLE_BASIS_POINTS = 20; uint256 constant MAX_SETTABLE_FEE = 50; string public name; string public symbol; uint8 public decimals; uint public _totalSupply; uint public constant MAX_UINT = 2**256 - 1; function calcFee(uint _value) constant returns (uint) { uint fee = (_value.mul(basisPointsRate)).div(10000); if (fee > maximumFee) { fee = maximumFee; } return fee; } function transfer(address _to, uint _value) public returns (bool) { uint fee = calcFee(_value); uint sendAmount = _value.sub(fee); super.transfer(_to, sendAmount); if (fee > 0) { super.transfer(owner, fee); } return true; } function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); uint fee = calcFee(_value); uint sendAmount = _value.sub(fee); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(sendAmount); if (allowed[_from][msg.sender] < MAX_UINT) { allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); } Transfer(_from, _to, sendAmount); if (fee > 0) { balances[owner] = balances[owner].add(fee); Transfer(_from, owner, fee); } return true; } function setParams(uint newBasisPoints, uint newMaxFee) public onlyOwner { // Ensure transparency by hardcoding limit beyond which fees can never be added require(newBasisPoints < MAX_SETTABLE_BASIS_POINTS); require(newMaxFee < MAX_SETTABLE_FEE); basisPointsRate = newBasisPoints; maximumFee = newMaxFee.mul(uint(10)**decimals); Params(basisPointsRate, maximumFee); } // Called if contract ever adds fees event Params(uint feeBasisPoints, uint maxFee); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_upgradedAddress","type":"address"}],"name":"deprecate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"deprecated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"upgradedAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maximumFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_value","type":"uint256"}],"name":"calcFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"oldBalanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newBasisPoints","type":"uint256"},{"name":"newMaxFee","type":"uint256"}],"name":"setParams","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"basisPointsRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_UINT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newAddress","type":"address"}],"name":"Deprecate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"feeBasisPoints","type":"uint256"},{"indexed":false,"name":"maxFee","type":"uint256"}],"name":"Params","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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"},{"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"}]
Contract Creation Code
60806040526002805460a060020a60ff0219169055600060038190556004553480156200002b57600080fd5b5060028054600160a060020a0319163317905560006008556040805180820190915260048082527f54524f4e0000000000000000000000000000000000000000000000000000000060209092019182526200008991600591620000f4565b506040805180820190915260038082527f54525800000000000000000000000000000000000000000000000000000000006020909201918252620000d091600691620000f4565b506007805460ff19166006179055600a805460a060020a60ff021916905562000199565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200013757805160ff191683800117855562000167565b8280016001018555821562000167579182015b82811115620001675782518255916020019190600101906200014a565b506200017592915062000179565b5090565b6200019691905b8082111562000175576000815560010162000180565b90565b611a6980620001a96000396000f3006080604052600436106101a05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101a55780630753c30c1461022f578063095ea7b3146102525780630e136b191461028a5780630ecb93c01461029f57806318160ddd146102c057806323b872dd146102e757806326976e3f14610311578063313ce56714610342578063353907141461036d5780633eaaf86b146103825780633f4ba83a1461039757806359bf1abe146103ac5780635c975abb146103cd57806366188463146103e257806370a082311461040657806375dc7d8c146104275780638456cb591461043f5780638da5cb5b1461045457806395d89b4114610469578063a9059cbb1461047e578063b7a3446c146104a2578063c0324c77146104c3578063cc872b66146104de578063d73dd623146104f6578063db006a751461051a578063dd62ed3e14610532578063dd644f7214610559578063e47d60601461056e578063e4997dc51461058f578063e5b5019a146105b0578063f2fde38b146105c5578063f3bdc228146105e6575b600080fd5b3480156101b157600080fd5b506101ba610607565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f45781810151838201526020016101dc565b50505050905090810190601f1680156102215780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023b57600080fd5b50610250600160a060020a0360043516610695565b005b34801561025e57600080fd5b50610276600160a060020a0360043516602435610742565b604080519115158252519081900360200190f35b34801561029657600080fd5b50610276610829565b3480156102ab57600080fd5b50610250600160a060020a0360043516610839565b3480156102cc57600080fd5b506102d561089c565b60408051918252519081900360200190f35b3480156102f357600080fd5b50610276600160a060020a0360043581169060243516604435610958565b34801561031d57600080fd5b50610326610a6f565b60408051600160a060020a039092168252519081900360200190f35b34801561034e57600080fd5b50610357610a7e565b6040805160ff9092168252519081900360200190f35b34801561037957600080fd5b506102d5610a87565b34801561038e57600080fd5b506102d5610a8d565b3480156103a357600080fd5b50610250610a93565b3480156103b857600080fd5b50610276600160a060020a0360043516610b0b565b3480156103d957600080fd5b50610276610b2d565b3480156103ee57600080fd5b50610276600160a060020a0360043516602435610b3d565b34801561041257600080fd5b506102d5600160a060020a0360043516610be8565b34801561043357600080fd5b506102d5600435610ca8565b34801561044b57600080fd5b50610250610ce8565b34801561046057600080fd5b50610326610d65565b34801561047557600080fd5b506101ba610d74565b34801561048a57600080fd5b50610276600160a060020a0360043516602435610dcf565b3480156104ae57600080fd5b506102d5600160a060020a0360043516610e97565b3480156104cf57600080fd5b50610250600435602435610eb5565b3480156104ea57600080fd5b50610250600435610f4d565b34801561050257600080fd5b50610276600160a060020a036004351660243561102a565b34801561052657600080fd5b506102506004356110d5565b34801561053e57600080fd5b506102d5600160a060020a03600435811690602435166111b4565b34801561056557600080fd5b506102d5611243565b34801561057a57600080fd5b50610276600160a060020a0360043516611249565b34801561059b57600080fd5b50610250600160a060020a036004351661125e565b3480156105bc57600080fd5b506102d56112be565b3480156105d157600080fd5b50610250600160a060020a03600435166112c4565b3480156105f257600080fd5b50610250600160a060020a0360043516611359565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561068d5780601f106106625761010080835404028352916020019161068d565b820191906000526020600020905b81548152906001019060200180831161067057829003601f168201915b505050505081565b600254600160a060020a031633146106ac57600080fd5b600160a060020a03811615156106c157600080fd5b600a805460a060020a74ff0000000000000000000000000000000000000000199091161773ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03831690811790915560408051918252517fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e916020908290030190a150565b60025460009060a060020a900460ff161561075c57600080fd5b600a5460a060020a900460ff161561081657600a54604080517faee92d33000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038681166024830152604482018690529151919092169163aee92d339160648083019260209291908290030181600087803b1580156107e357600080fd5b505af11580156107f7573d6000803e3d6000fd5b505050506040513d602081101561080d57600080fd5b50519050610823565b6108208383611418565b90505b92915050565b600a5460a060020a900460ff1681565b600254600160a060020a0316331461085057600080fd5b600160a060020a038116600081815260096020526040808220805460ff19166001179055517f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc9190a250565b600a5460009060a060020a900460ff161561095057600a60009054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561091d57600080fd5b505af1158015610931573d6000803e3d6000fd5b505050506040513d602081101561094757600080fd5b50519050610955565b506008545b90565b60025460009060a060020a900460ff161561097257600080fd5b600160a060020a03841660009081526009602052604090205460ff161561099857600080fd5b600a5460a060020a900460ff1615610a5a57600a54604080517f8b477adb000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a03878116602483015286811660448301526064820186905291519190921691638b477adb9160848083019260209291908290030181600087803b158015610a2757600080fd5b505af1158015610a3b573d6000803e3d6000fd5b505050506040513d6020811015610a5157600080fd5b50519050610a68565b610a6584848461147e565b90505b9392505050565b600a54600160a060020a031681565b60075460ff1681565b60045481565b60085481565b600254600160a060020a03163314610aaa57600080fd5b60025460a060020a900460ff161515610ac257600080fd5b6002805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600160a060020a03811660009081526009602052604090205460ff165b919050565b60025460a060020a900460ff1681565b60025460009060a060020a900460ff1615610b5757600080fd5b600a5460a060020a900460ff1615610bde57600a54604080517f6001279f000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a0386811660248301526044820186905291519190921691636001279f9160648083019260209291908290030181600087803b1580156107e357600080fd5b61082083836116c1565b600a5460009060a060020a900460ff1615610c9857600a54604080517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152915191909216916370a082319160248083019260209291908290030181600087803b158015610c6557600080fd5b505af1158015610c79573d6000803e3d6000fd5b505050506040513d6020811015610c8f57600080fd5b50519050610b28565b610ca1826117b3565b9050610b28565b600080610cd2612710610cc6600354866117ce90919063ffffffff16565b9063ffffffff6117f916565b9050600454811115610823575060045492915050565b600254600160a060020a03163314610cff57600080fd5b60025460a060020a900460ff1615610d1657600080fd5b6002805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600254600160a060020a031681565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561068d5780601f106106625761010080835404028352916020019161068d565b60025460009060a060020a900460ff1615610de957600080fd5b3360009081526009602052604090205460ff1615610e0657600080fd5b600a5460a060020a900460ff1615610e8d57600a54604080517f6e18980a000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a0386811660248301526044820186905291519190921691636e18980a9160648083019260209291908290030181600087803b1580156107e357600080fd5b6108208383611810565b600a5460009060a060020a900460ff1615610b2857610ca1826117b3565b600254600160a060020a03163314610ecc57600080fd5b60148210610ed957600080fd5b60328110610ee657600080fd5b6003829055600754610f0590829060ff16600a0a63ffffffff6117ce16565b600481905560035460408051918252602082019290925281517fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e929181900390910190a15050565b600254600160a060020a03163314610f6457600080fd5b600254600160a060020a0316600090815260208190526040902054610f8f908263ffffffff61186916565b600254600160a060020a0316600090815260208190526040902055600854610fbd908263ffffffff61186916565b6008556040805182815290517fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a9181900360200190a1600254604080518381529051600160a060020a0390921691600091600080516020611a1e833981519152919081900360200190a350565b60025460009060a060020a900460ff161561104457600080fd5b600a5460a060020a900460ff16156110cb57600a54604080517fa9538157000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038681166024830152604482018690529151919092169163a95381579160648083019260209291908290030181600087803b1580156107e357600080fd5b6108208383611878565b600254600160a060020a031633146110ec57600080fd5b6008546110ff908263ffffffff61191116565b600855600254600160a060020a031660009081526020819052604090205461112d908263ffffffff61191116565b600254600160a060020a03166000908152602081815260409182902092909255805183815290517f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44929181900390910190a1600254604080518381529051600092600160a060020a031691600080516020611a1e833981519152919081900360200190a350565b600a5460009060a060020a900460ff161561123957600a54604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015285811660248301529151919092169163dd62ed3e9160448083019260209291908290030181600087803b1580156107e357600080fd5b6108208383611923565b60035481565b60096020526000908152604090205460ff1681565b600254600160a060020a0316331461127557600080fd5b600160a060020a038116600081815260096020526040808220805460ff19169055517fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c9190a250565b60001981565b600254600160a060020a031633146112db57600080fd5b600160a060020a03811615156112f057600080fd5b600254604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600254600090600160a060020a0316331461137357600080fd5b600160a060020a03821660009081526009602052604090205460ff16151561139a57600080fd5b6113a382610be8565b600160a060020a0383166000908152602081905260408120556008549091506113d2908263ffffffff61191116565b600855604080518281529051600160a060020a038416917f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6919081900360200190a25050565b336000818152600160209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60008080600160a060020a038516151561149757600080fd5b600160a060020a0386166000908152602081905260409020548411156114bc57600080fd5b600160a060020a03861660009081526001602090815260408083203384529091529020548411156114ec57600080fd5b6114f584610ca8565b9150611507848363ffffffff61191116565b600160a060020a038716600090815260208190526040902054909150611533908563ffffffff61191116565b600160a060020a038088166000908152602081905260408082209390935590871681522054611568908263ffffffff61186916565b600160a060020a0380871660009081526020818152604080832094909455918916815260018252828120338252909152205460001911156115fc57600160a060020a03861660009081526001602090815260408083203384529091529020546115d7908563ffffffff61191116565b600160a060020a03871660009081526001602090815260408083203384529091529020555b84600160a060020a031686600160a060020a0316600080516020611a1e833981519152836040518082815260200191505060405180910390a360008211156116b557600254600160a060020a0316600090815260208190526040902054611669908363ffffffff61186916565b60028054600160a060020a03908116600090815260208181526040918290209490945591548251868152925190821693918a1692600080516020611a1e83398151915292908290030190a35b50600195945050505050565b336000908152600160209081526040808320600160a060020a03861684529091528120548083111561171657336000908152600160209081526040808320600160a060020a038816845290915281205561174b565b611726818463ffffffff61191116565b336000908152600160209081526040808320600160a060020a03891684529091529020555b336000818152600160209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b600160a060020a031660009081526020819052604090205490565b6000808315156117e157600091506117ac565b508282028284828115156117f157fe5b0414610a6857fe5b600080828481151561180757fe5b04949350505050565b600080600061181e84610ca8565b9150611830848363ffffffff61191116565b905061183c858261194e565b50600082111561185e5760025461185c90600160a060020a03168361194e565b505b506001949350505050565b600082820183811015610a6857fe5b336000908152600160209081526040808320600160a060020a03861684529091528120546118ac908363ffffffff61186916565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b60008282111561191d57fe5b50900390565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000600160a060020a038316151561196557600080fd5b3360009081526020819052604090205482111561198157600080fd5b336000908152602081905260409020546119a1908363ffffffff61191116565b3360009081526020819052604080822092909255600160a060020a038516815220546119d3908363ffffffff61186916565b600160a060020a03841660008181526020818152604091829020939093558051858152905191923392600080516020611a1e8339815191529281900390910190a3506001929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058203269675036374adf7487f9b425943e00ee4dcee0f8039e5da6ed0fca26f047af0029
Deployed Bytecode
0x6080604052600436106101a05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101a55780630753c30c1461022f578063095ea7b3146102525780630e136b191461028a5780630ecb93c01461029f57806318160ddd146102c057806323b872dd146102e757806326976e3f14610311578063313ce56714610342578063353907141461036d5780633eaaf86b146103825780633f4ba83a1461039757806359bf1abe146103ac5780635c975abb146103cd57806366188463146103e257806370a082311461040657806375dc7d8c146104275780638456cb591461043f5780638da5cb5b1461045457806395d89b4114610469578063a9059cbb1461047e578063b7a3446c146104a2578063c0324c77146104c3578063cc872b66146104de578063d73dd623146104f6578063db006a751461051a578063dd62ed3e14610532578063dd644f7214610559578063e47d60601461056e578063e4997dc51461058f578063e5b5019a146105b0578063f2fde38b146105c5578063f3bdc228146105e6575b600080fd5b3480156101b157600080fd5b506101ba610607565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f45781810151838201526020016101dc565b50505050905090810190601f1680156102215780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023b57600080fd5b50610250600160a060020a0360043516610695565b005b34801561025e57600080fd5b50610276600160a060020a0360043516602435610742565b604080519115158252519081900360200190f35b34801561029657600080fd5b50610276610829565b3480156102ab57600080fd5b50610250600160a060020a0360043516610839565b3480156102cc57600080fd5b506102d561089c565b60408051918252519081900360200190f35b3480156102f357600080fd5b50610276600160a060020a0360043581169060243516604435610958565b34801561031d57600080fd5b50610326610a6f565b60408051600160a060020a039092168252519081900360200190f35b34801561034e57600080fd5b50610357610a7e565b6040805160ff9092168252519081900360200190f35b34801561037957600080fd5b506102d5610a87565b34801561038e57600080fd5b506102d5610a8d565b3480156103a357600080fd5b50610250610a93565b3480156103b857600080fd5b50610276600160a060020a0360043516610b0b565b3480156103d957600080fd5b50610276610b2d565b3480156103ee57600080fd5b50610276600160a060020a0360043516602435610b3d565b34801561041257600080fd5b506102d5600160a060020a0360043516610be8565b34801561043357600080fd5b506102d5600435610ca8565b34801561044b57600080fd5b50610250610ce8565b34801561046057600080fd5b50610326610d65565b34801561047557600080fd5b506101ba610d74565b34801561048a57600080fd5b50610276600160a060020a0360043516602435610dcf565b3480156104ae57600080fd5b506102d5600160a060020a0360043516610e97565b3480156104cf57600080fd5b50610250600435602435610eb5565b3480156104ea57600080fd5b50610250600435610f4d565b34801561050257600080fd5b50610276600160a060020a036004351660243561102a565b34801561052657600080fd5b506102506004356110d5565b34801561053e57600080fd5b506102d5600160a060020a03600435811690602435166111b4565b34801561056557600080fd5b506102d5611243565b34801561057a57600080fd5b50610276600160a060020a0360043516611249565b34801561059b57600080fd5b50610250600160a060020a036004351661125e565b3480156105bc57600080fd5b506102d56112be565b3480156105d157600080fd5b50610250600160a060020a03600435166112c4565b3480156105f257600080fd5b50610250600160a060020a0360043516611359565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561068d5780601f106106625761010080835404028352916020019161068d565b820191906000526020600020905b81548152906001019060200180831161067057829003601f168201915b505050505081565b600254600160a060020a031633146106ac57600080fd5b600160a060020a03811615156106c157600080fd5b600a805460a060020a74ff0000000000000000000000000000000000000000199091161773ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03831690811790915560408051918252517fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e916020908290030190a150565b60025460009060a060020a900460ff161561075c57600080fd5b600a5460a060020a900460ff161561081657600a54604080517faee92d33000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038681166024830152604482018690529151919092169163aee92d339160648083019260209291908290030181600087803b1580156107e357600080fd5b505af11580156107f7573d6000803e3d6000fd5b505050506040513d602081101561080d57600080fd5b50519050610823565b6108208383611418565b90505b92915050565b600a5460a060020a900460ff1681565b600254600160a060020a0316331461085057600080fd5b600160a060020a038116600081815260096020526040808220805460ff19166001179055517f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc9190a250565b600a5460009060a060020a900460ff161561095057600a60009054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561091d57600080fd5b505af1158015610931573d6000803e3d6000fd5b505050506040513d602081101561094757600080fd5b50519050610955565b506008545b90565b60025460009060a060020a900460ff161561097257600080fd5b600160a060020a03841660009081526009602052604090205460ff161561099857600080fd5b600a5460a060020a900460ff1615610a5a57600a54604080517f8b477adb000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a03878116602483015286811660448301526064820186905291519190921691638b477adb9160848083019260209291908290030181600087803b158015610a2757600080fd5b505af1158015610a3b573d6000803e3d6000fd5b505050506040513d6020811015610a5157600080fd5b50519050610a68565b610a6584848461147e565b90505b9392505050565b600a54600160a060020a031681565b60075460ff1681565b60045481565b60085481565b600254600160a060020a03163314610aaa57600080fd5b60025460a060020a900460ff161515610ac257600080fd5b6002805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600160a060020a03811660009081526009602052604090205460ff165b919050565b60025460a060020a900460ff1681565b60025460009060a060020a900460ff1615610b5757600080fd5b600a5460a060020a900460ff1615610bde57600a54604080517f6001279f000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a0386811660248301526044820186905291519190921691636001279f9160648083019260209291908290030181600087803b1580156107e357600080fd5b61082083836116c1565b600a5460009060a060020a900460ff1615610c9857600a54604080517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152915191909216916370a082319160248083019260209291908290030181600087803b158015610c6557600080fd5b505af1158015610c79573d6000803e3d6000fd5b505050506040513d6020811015610c8f57600080fd5b50519050610b28565b610ca1826117b3565b9050610b28565b600080610cd2612710610cc6600354866117ce90919063ffffffff16565b9063ffffffff6117f916565b9050600454811115610823575060045492915050565b600254600160a060020a03163314610cff57600080fd5b60025460a060020a900460ff1615610d1657600080fd5b6002805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600254600160a060020a031681565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561068d5780601f106106625761010080835404028352916020019161068d565b60025460009060a060020a900460ff1615610de957600080fd5b3360009081526009602052604090205460ff1615610e0657600080fd5b600a5460a060020a900460ff1615610e8d57600a54604080517f6e18980a000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a0386811660248301526044820186905291519190921691636e18980a9160648083019260209291908290030181600087803b1580156107e357600080fd5b6108208383611810565b600a5460009060a060020a900460ff1615610b2857610ca1826117b3565b600254600160a060020a03163314610ecc57600080fd5b60148210610ed957600080fd5b60328110610ee657600080fd5b6003829055600754610f0590829060ff16600a0a63ffffffff6117ce16565b600481905560035460408051918252602082019290925281517fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e929181900390910190a15050565b600254600160a060020a03163314610f6457600080fd5b600254600160a060020a0316600090815260208190526040902054610f8f908263ffffffff61186916565b600254600160a060020a0316600090815260208190526040902055600854610fbd908263ffffffff61186916565b6008556040805182815290517fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a9181900360200190a1600254604080518381529051600160a060020a0390921691600091600080516020611a1e833981519152919081900360200190a350565b60025460009060a060020a900460ff161561104457600080fd5b600a5460a060020a900460ff16156110cb57600a54604080517fa9538157000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038681166024830152604482018690529151919092169163a95381579160648083019260209291908290030181600087803b1580156107e357600080fd5b6108208383611878565b600254600160a060020a031633146110ec57600080fd5b6008546110ff908263ffffffff61191116565b600855600254600160a060020a031660009081526020819052604090205461112d908263ffffffff61191116565b600254600160a060020a03166000908152602081815260409182902092909255805183815290517f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44929181900390910190a1600254604080518381529051600092600160a060020a031691600080516020611a1e833981519152919081900360200190a350565b600a5460009060a060020a900460ff161561123957600a54604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015285811660248301529151919092169163dd62ed3e9160448083019260209291908290030181600087803b1580156107e357600080fd5b6108208383611923565b60035481565b60096020526000908152604090205460ff1681565b600254600160a060020a0316331461127557600080fd5b600160a060020a038116600081815260096020526040808220805460ff19169055517fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c9190a250565b60001981565b600254600160a060020a031633146112db57600080fd5b600160a060020a03811615156112f057600080fd5b600254604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600254600090600160a060020a0316331461137357600080fd5b600160a060020a03821660009081526009602052604090205460ff16151561139a57600080fd5b6113a382610be8565b600160a060020a0383166000908152602081905260408120556008549091506113d2908263ffffffff61191116565b600855604080518281529051600160a060020a038416917f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6919081900360200190a25050565b336000818152600160209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60008080600160a060020a038516151561149757600080fd5b600160a060020a0386166000908152602081905260409020548411156114bc57600080fd5b600160a060020a03861660009081526001602090815260408083203384529091529020548411156114ec57600080fd5b6114f584610ca8565b9150611507848363ffffffff61191116565b600160a060020a038716600090815260208190526040902054909150611533908563ffffffff61191116565b600160a060020a038088166000908152602081905260408082209390935590871681522054611568908263ffffffff61186916565b600160a060020a0380871660009081526020818152604080832094909455918916815260018252828120338252909152205460001911156115fc57600160a060020a03861660009081526001602090815260408083203384529091529020546115d7908563ffffffff61191116565b600160a060020a03871660009081526001602090815260408083203384529091529020555b84600160a060020a031686600160a060020a0316600080516020611a1e833981519152836040518082815260200191505060405180910390a360008211156116b557600254600160a060020a0316600090815260208190526040902054611669908363ffffffff61186916565b60028054600160a060020a03908116600090815260208181526040918290209490945591548251868152925190821693918a1692600080516020611a1e83398151915292908290030190a35b50600195945050505050565b336000908152600160209081526040808320600160a060020a03861684529091528120548083111561171657336000908152600160209081526040808320600160a060020a038816845290915281205561174b565b611726818463ffffffff61191116565b336000908152600160209081526040808320600160a060020a03891684529091529020555b336000818152600160209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b600160a060020a031660009081526020819052604090205490565b6000808315156117e157600091506117ac565b508282028284828115156117f157fe5b0414610a6857fe5b600080828481151561180757fe5b04949350505050565b600080600061181e84610ca8565b9150611830848363ffffffff61191116565b905061183c858261194e565b50600082111561185e5760025461185c90600160a060020a03168361194e565b505b506001949350505050565b600082820183811015610a6857fe5b336000908152600160209081526040808320600160a060020a03861684529091528120546118ac908363ffffffff61186916565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b60008282111561191d57fe5b50900390565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000600160a060020a038316151561196557600080fd5b3360009081526020819052604090205482111561198157600080fd5b336000908152602081905260409020546119a1908363ffffffff61191116565b3360009081526020819052604080822092909255600160a060020a038516815220546119d3908363ffffffff61186916565b600160a060020a03841660008181526020818152604091829020939093558051858152905191923392600080516020611a1e8339815191529281900390910190a3506001929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058203269675036374adf7487f9b425943e00ee4dcee0f8039e5da6ed0fca26f047af0029
Deployed Bytecode Sourcemap
883:5326:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;384:18:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;384:18:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;384:18:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4225:226:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4225:226:2;-1:-1:-1;;;;;4225:226:2;;;;;;;2779:301;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2779:301:2;-1:-1:-1;;;;;2779:301:2;;;;;;;;;;;;;;;;;;;;;;;;;990:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;990:22:2;;;;269:142:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;269:142:1;-1:-1:-1;;;;;269:142:1;;;;;4514:212:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4514:212:2;;;;;;;;;;;;;;;;;;;;1797:370;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1797:370:2;-1:-1:-1;;;;;1797:370:2;;;;;;;;;;;;954:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;954:30:2;;;;;;;;-1:-1:-1;;;;;954:30:2;;;;;;;;;;;;;;430:21:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;430:21:9;;;;;;;;;;;;;;;;;;;;;;;257:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;257:29:9;;;;455:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;455:24:9;;;;822:87:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;822:87:6;;;;88:122:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;88:122:1;-1:-1:-1;;;;;88:122:1;;;;;236:26:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;236:26:6;;;;3435:358:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3435:358:2;-1:-1:-1;;;;;3435:358:2;;;;;;;2249:238;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2249:238:2;-1:-1:-1;;;;;2249:238:2;;;;;531:192:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;531:192:9;;;;;655:85:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;655:85:6;;;;238:20:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:5;;;;406::9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;406:20:9;;;;1381:334:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1381:334:2;-1:-1:-1;;;;;1381:334:2;;;;;;;2547:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2547:150:2;-1:-1:-1;;;;;2547:150:2;;;;;1679:407:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1679:407:9;;;;;;;4884:224:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4884:224:2;;;;;3086:343;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3086:343:2;-1:-1:-1;;;;;3086:343:2;;;;;;;5332:226;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5332:226:2;;;;;3875:287;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3875:287:2;-1:-1:-1;;;;;3875:287:2;;;;;;;;;;219:34:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;219:34:9;;;;216:46:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;216:46:1;-1:-1:-1;;;;;216:46:1;;;;;417:157;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;417:157:1;-1:-1:-1;;;;;417:157:1;;;;;484:42:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;484:42:9;;;;834:169:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;834:169:5;-1:-1:-1;;;;;834:169:5;;;;;5564:335:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5564:335:2;-1:-1:-1;;;;;5564:335:2;;;;;384:18:9;;;;;;;;;;;;;;;-1:-1:-1;;384:18:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4225:226:2:-;654:5:5;;-1:-1:-1;;;;;654:5:5;640:10;:19;632:28;;;;;;-1:-1:-1;;;;;4305:30:2;;;;4297:39;;;;;;4346:10;:17;;-1:-1:-1;;;;;4346:17:2;;;;-1:-1:-1;;4373:34:2;-1:-1:-1;;;;;4373:34:2;;;;;;;;4417:27;;;;;;;;;;;;;;;;;4225:226;:::o;2779:301::-;405:6:6;;2857:4:2;;-1:-1:-1;;;405:6:6;;;;404:7;396:16;;;;;;2877:10:2;;-1:-1:-1;;;2877:10:2;;;;2873:201;;;2932:15;;2910:84;;;;;;2965:10;2910:84;;;;-1:-1:-1;;;;;2910:84:2;;;;;;;;;;;;;;;2932:15;;;;;2910:54;;:84;;;;;;;;;;;;;;2932:15;;2910:84;;;5:2:-1;;;;30:1;27;20:12;5:2;2910:84:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2910:84:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2910:84:2;;-1:-1:-1;2903:91:2;;2873:201;3032:31;3046:8;3056:6;3032:13;:31::i;:::-;3025:38;;2873:201;2779:301;;;;:::o;990:22::-;;;-1:-1:-1;;;990:22:2;;;;;:::o;269:142:1:-;654:5:5;;-1:-1:-1;;;;;654:5:5;640:10;:19;632:28;;;;;;-1:-1:-1;;;;;338:24:1;;;;;;:13;:24;;;;;;:31;;-1:-1:-1;;338:31:1;365:4;338:31;;;379:25;;;338:24;379:25;269:142;:::o;4514:212:2:-;4582:10;;4562:4;;-1:-1:-1;;;4582:10:2;;;;4578:142;;;4629:15;;;;;;;;;-1:-1:-1;;;;;4629:15:2;-1:-1:-1;;;;;4615:42:2;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4615:44:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4615:44:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4615:44:2;;-1:-1:-1;4608:51:2;;4578:142;-1:-1:-1;4697:12:2;;4578:142;4514:212;:::o;1797:370::-;405:6:6;;1890:4:2;;-1:-1:-1;;;405:6:6;;;;404:7;396:16;;;;;;-1:-1:-1;;;;;1915:20:2;;;;;;:13;:20;;;;;;;;1914:21;1906:30;;;;;;1950:10;;-1:-1:-1;;;1950:10:2;;;;1946:215;;;2005:15;;1983:91;;;;;;2043:10;1983:91;;;;-1:-1:-1;;;;;1983:91:2;;;;;;;;;;;;;;;;;;;;;;2005:15;;;;;1983:59;;:91;;;;;;;;;;;;;;2005:15;;1983:91;;;5:2:-1;;;;30:1;27;20:12;5:2;1983:91:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1983:91:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1983:91:2;;-1:-1:-1;1976:98:2;;1946:215;2112:38;2131:5;2138:3;2143:6;2112:18;:38::i;:::-;2105:45;;1946:215;1797:370;;;;;:::o;954:30::-;;;-1:-1:-1;;;;;954:30:2;;:::o;430:21:9:-;;;;;;:::o;257:29::-;;;;:::o;455:24::-;;;;:::o;822:87:6:-;654:5:5;;-1:-1:-1;;;;;654:5:5;640:10;:19;632:28;;;;;;557:6:6;;-1:-1:-1;;;557:6:6;;;;549:15;;;;;;;;875:6;:14;;-1:-1:-1;;875:14:6;;;895:9;;;;884:5;;895:9;822:87::o;88:122:1:-;-1:-1:-1;;;;;182:21:1;;159:4;182:21;;;:13;:21;;;;;;;;88:122;;;;:::o;236:26:6:-;;;-1:-1:-1;;;236:26:6;;;;;:::o;3435:358:2:-;405:6:6;;3532:4:2;;-1:-1:-1;;;405:6:6;;;;404:7;396:16;;;;;;3552:10:2;;-1:-1:-1;;;3552:10:2;;;;3548:239;;;3607:15;;3585:103;;;;;;3649:10;3585:103;;;;-1:-1:-1;;;;;3585:103:2;;;;;;;;;;;;;;;3607:15;;;;;3585:63;;:103;;;;;;;;;;;;;;3607:15;;3585:103;;;5:2:-1;;;;30:1;27;20:12;3548:239:2;3726:50;3749:8;3759:16;3726:22;:50::i;2249:238::-;2326:10;;2306:4;;-1:-1:-1;;;2326:10:2;;;;2322:159;;;2381:15;;2359:53;;;;;;-1:-1:-1;;;;;2359:53:2;;;;;;;;;2381:15;;;;;2359:48;;:53;;;;;;;;;;;;;;2381:15;;2359:53;;;5:2:-1;;;;30:1;27;20:12;5:2;2359:53:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2359:53:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2359:53:2;;-1:-1:-1;2352:60:2;;2322:159;2450:20;2466:3;2450:15;:20::i;:::-;2443:27;;;;531:192:9;579:4;591:8;602:40;636:5;603:27;614:15;;603:6;:10;;:27;;;;:::i;:::-;602:33;:40;:33;:40;:::i;:::-;591:51;;658:10;;652:3;:16;648:55;;;-1:-1:-1;686:10:9;;715:3;531:192;-1:-1:-1;;531:192:9:o;655:85:6:-;654:5:5;;-1:-1:-1;;;;;654:5:5;640:10;:19;632:28;;;;;;405:6:6;;-1:-1:-1;;;405:6:6;;;;404:7;396:16;;;;;;709:6;:13;;-1:-1:-1;;709:13:6;-1:-1:-1;;;709:13:6;;;728:7;;;;709:13;;728:7;655:85::o;238:20:5:-;;;-1:-1:-1;;;;;238:20:5;;:::o;406::9:-;;;;;;;;;;;;;;;-1:-1:-1;;406:20:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1381:334:2;405:6:6;;1455:4:2;;-1:-1:-1;;;405:6:6;;;;404:7;396:16;;;;;;1494:10:2;1480:25;;;;:13;:25;;;;;;;;1479:26;1471:35;;;;;;1520:10;;-1:-1:-1;;;1520:10:2;;;;1516:193;;;1575:15;;1553:80;;;;;;1609:10;1553:80;;;;-1:-1:-1;;;;;1553:80:2;;;;;;;;;;;;;;;1575:15;;;;;1553:55;;:80;;;;;;;;;;;;;;1575:15;;1553:80;;;5:2:-1;;;;30:1;27;20:12;1516:193:2;1671:27;1686:3;1691:6;1671:14;:27::i;2547:150::-;2627:10;;2607:4;;-1:-1:-1;;;2627:10:2;;;;2623:68;;;2660:20;2676:3;2660:15;:20::i;1679:407:9:-;654:5:5;;-1:-1:-1;;;;;654:5:5;640:10;:19;632:28;;;;;;335:2:9;1854:42;;1846:51;;;;;;377:2;1913:28;;1905:37;;;;;;1951:15;:32;;;2028:8;;2004:33;;:9;;2028:8;;2023:2;2018:18;2004:33;:13;:33;:::i;:::-;1991:10;:46;;;2053:15;;2046:35;;;;;;;;;;;;;;;;;;;;;;;;;;1679:407;;:::o;4884:224:2:-;654:5:5;;-1:-1:-1;;;;;654:5:5;640:10;:19;632:28;;;;;;4966:5:2;;-1:-1:-1;;;;;4966:5:2;4957:8;:15;;;;;;;;;;;:27;;4977:6;4957:27;:19;:27;:::i;:::-;4948:5;;-1:-1:-1;;;;;4948:5:2;4939:8;:15;;;;;;;;;;:45;5009:12;;:24;;5026:6;5009:24;:16;:24;:::i;:::-;4994:12;:39;5043:13;;;;;;;;;;;;;;;;;5087:5;;5066:35;;;;;;;;-1:-1:-1;;;;;5087:5:2;;;;;;-1:-1:-1;;;;;;;;;;;5066:35:2;;;;;;;;;4884:224;:::o;3086:343::-;405:6:6;;3178:4:2;;-1:-1:-1;;;405:6:6;;;;404:7;396:16;;;;;;3198:10:2;;-1:-1:-1;;;3198:10:2;;;;3194:229;;;3253:15;;3231:98;;;;;;3295:10;3231:98;;;;-1:-1:-1;;;;;3231:98:2;;;;;;;;;;;;;;;3253:15;;;;;3231:63;;:98;;;;;;;;;;;;;;3253:15;;3231:98;;;5:2:-1;;;;30:1;27;20:12;3194:229:2;3367:45;3390:8;3400:11;3367:22;:45::i;5332:226::-;654:5:5;;-1:-1:-1;;;;;654:5:5;640:10;:19;632:28;;;;;;5403:12:2;;:24;;5420:6;5403:24;:16;:24;:::i;:::-;5388:12;:39;5464:5;;-1:-1:-1;;;;;5464:5:2;5455:8;:15;;;;;;;;;;;:27;;5475:6;5455:27;:19;:27;:::i;:::-;5446:5;;-1:-1:-1;;;;;5446:5:2;5437:8;:15;;;;;;;;;;;;:45;;;;5492:14;;;;;;;;;;;;;;;;;;5525:5;;5516:35;;;;;;;;5540:1;;-1:-1:-1;;;;;5525:5:2;;-1:-1:-1;;;;;;;;;;;5516:35:2;;;;;;;;;5332:226;:::o;3875:287::-;3983:10;;3953:14;;-1:-1:-1;;;3983:10:2;;;;3979:177;;;4030:15;;4016:58;;;;;;-1:-1:-1;;;;;4016:58:2;;;;;;;;;;;;;;;;4030:15;;;;;4016:40;;:58;;;;;;;;;;;;;;4030:15;;4016:58;;;5:2:-1;;;;30:1;27;20:12;3979:177:2;4112:33;4128:6;4136:8;4112:15;:33::i;219:34:9:-;;;;:::o;216:46:1:-;;;;;;;;;;;;;;;:::o;417:157::-;654:5:5;;-1:-1:-1;;;;;654:5:5;640:10;:19;632:28;;;;;;-1:-1:-1;;;;;492:27:1;;522:5;492:27;;;:13;:27;;;;;;:35;;-1:-1:-1;;492:35:1;;;537:30;;;522:5;537:30;417:157;:::o;484:42:9:-;-1:-1:-1;;484:42:9;:::o;834:169:5:-;654:5;;-1:-1:-1;;;;;654:5:5;640:10;:19;632:28;;;;;;-1:-1:-1;;;;;910:22:5;;;;902:31;;;;;;960:5;;939:37;;-1:-1:-1;;;;;939:37:5;;;;960:5;;939:37;;960:5;;939:37;982:5;:16;;-1:-1:-1;;982:16:5;-1:-1:-1;;;;;982:16:5;;;;;;;;;;834:169::o;5564:335:2:-;654:5:5;;5695:15:2;;-1:-1:-1;;;;;654:5:5;640:10;:19;632:28;;;;;;-1:-1:-1;;;;;5653:31:2;;;;;;:13;:31;;;;;;;;5645:40;;;;;;;;5713:27;5723:16;5713:9;:27::i;:::-;-1:-1:-1;;;;;5750:26:2;;5779:1;5750:26;;;;;;;;;;:30;5805:12;;5695:45;;-1:-1:-1;5805:28:2;;5695:45;5805:28;:16;:28;:::i;:::-;5790:12;:43;5843:49;;;;;;;;-1:-1:-1;;;;;5843:49:2;;;;;;;;;;;;;5564:335;;:::o;1928:183:8:-;2015:10;1995:4;2007:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;2007:29:8;;;;;;;;;;;:38;;;2051;;;;;;;1995:4;;2007:29;;2015:10;;2051:38;;;;;;;;-1:-1:-1;2102:4:8;1928:183;;;;:::o;987:688:9:-;1069:4;;;-1:-1:-1;;;;;1089:17:9;;;;1081:26;;;;;;-1:-1:-1;;;;;1131:15:9;;:8;:15;;;;;;;;;;;1121:25;;;1113:34;;;;;;-1:-1:-1;;;;;1171:14:9;;;;;;:7;:14;;;;;;;;1186:10;1171:26;;;;;;;;1161:36;;;1153:45;;;;;;1216:15;1224:6;1216:7;:15::i;:::-;1205:26;-1:-1:-1;1255:15:9;:6;1205:26;1255:15;:10;:15;:::i;:::-;-1:-1:-1;;;;;1295:15:9;;:8;:15;;;;;;;;;;;1237:33;;-1:-1:-1;1295:27:9;;1315:6;1295:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;1277:15:9;;;:8;:15;;;;;;;;;;;:45;;;;1344:13;;;;;;;:29;;1362:10;1344:29;:17;:29;:::i;:::-;-1:-1:-1;;;;;1328:13:9;;;:8;:13;;;;;;;;;;;:45;;;;1383:14;;;;;:7;:14;;;;;1398:10;1383:26;;;;;;;-1:-1:-1;;;1379:127:9;;;-1:-1:-1;;;;;1461:14:9;;;;;;:7;:14;;;;;;;;1476:10;1461:26;;;;;;;;:38;;1492:6;1461:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;1432:14:9;;;;;;:7;:14;;;;;;;;1447:10;1432:26;;;;;;;:67;1379:127;1527:3;-1:-1:-1;;;;;1511:32:9;1520:5;-1:-1:-1;;;;;1511:32:9;-1:-1:-1;;;;;;;;;;;1532:10:9;1511:32;;;;;;;;;;;;;;;;;;1559:1;1553:3;:7;1549:105;;;1597:5;;-1:-1:-1;;;;;1597:5:9;1588:8;:15;;;;;;;;;;;:24;;1608:3;1588:24;:19;:24;:::i;:::-;1579:5;;;-1:-1:-1;;;;;1579:5:9;;;1570:8;:15;;;;;;;;;;;;:42;;;;1636:5;;1620:27;;;;;;;1636:5;;;;1620:27;;;;-1:-1:-1;;;;;;;;;;;1620:27:9;;;;;;;;1549:105;-1:-1:-1;1666:4:9;;987:688;-1:-1:-1;;;;;987:688:9:o;3057:398:8:-;3176:10;3140:4;3168:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3168:29:8;;;;;;;;;;3207:27;;;3203:164;;;3252:10;3276:1;3244:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3244:29:8;;;;;;;;;:33;3203:164;;;3330:30;:8;3343:16;3330:30;:12;:30;:::i;:::-;3306:10;3298:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3298:29:8;;;;;;;;;:62;3203:164;3381:10;3403:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3372:61:8;;3403:29;;;;;;;;;;;3372:61;;;;;;;;;3381:10;3372:61;;;;;;;;;;;3446:4;3439:11;;3057:398;;;;;;:::o;1348:107:0:-;-1:-1:-1;;;;;1434:16:0;1404:15;1434:16;;;;;;;;;;;;1348:107::o;138:173:7:-;196:7;;215:6;;211:35;;;238:1;231:8;;;;211:35;-1:-1:-1;263:5:7;;;267:1;263;:5;281;;;;;;;;:10;274:18;;;315:265;373:7;462:9;478:1;474;:5;;;;;;;;;315:265;-1:-1:-1;;;;315:265:7:o;727:256:9:-;787:4;799:8;831:15;810;818:6;810:7;:15::i;:::-;799:26;-1:-1:-1;849:15:9;:6;799:26;849:15;:10;:15;:::i;:::-;831:33;;871:31;886:3;891:10;871:14;:31::i;:::-;;918:1;912:3;:7;908:54;;;944:5;;929:26;;-1:-1:-1;;;;;944:5:9;951:3;929:14;:26::i;:::-;;908:54;-1:-1:-1;974:4:9;;727:256;-1:-1:-1;;;;727:256:9:o;698:129:7:-;756:7;783:5;;;801:6;;;;794:14;;;2796:257:8;2926:10;2874:4;2918:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;2918:29:8;;;;;;;;;;:46;;2952:11;2918:46;:33;:46;:::i;:::-;2894:10;2886:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;2886:29:8;;;;;;;;;;;;:78;;;2970:61;;;;;;2886:29;;2970:61;;;;;;;;;;;-1:-1:-1;3044:4:8;2796:257;;;;:::o;584:110:7:-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:7;;;584:110::o;2430:126:8:-;-1:-1:-1;;;;;2526:15:8;;;2504:7;2526:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;2430:126::o;767:379:0:-;830:4;-1:-1:-1;;;;;850:17:0;;;;842:26;;;;;;901:10;892:8;:20;;;;;;;;;;;882:30;;;874:39;;;;;;1015:10;1006:8;:20;;;;;;;;;;;:32;;1031:6;1006:32;:24;:32;:::i;:::-;992:10;983:8;:20;;;;;;;;;;;:55;;;;-1:-1:-1;;;;;1060:13:0;;;;;;:25;;1078:6;1060:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;1044:13:0;;:8;:13;;;;;;;;;;;;:41;;;;1091:33;;;;;;;1044:13;;1100:10;;-1:-1:-1;;;;;;;;;;;1091:33:0;;;;;;;;;-1:-1:-1;1137:4:0;767:379;;;;:::o
Swarm Source
bzzr://3269675036374adf7487f9b425943e00ee4dcee0f8039e5da6ed0fca26f047af
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.