ERC-20
Overview
Max Total Supply
10,000,000,000 DSTO
Holders
1,113
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.221137627535538339 DSTOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DSTOToken
Compiler Version
v0.5.2+commit.1df8f40c
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-01-12 */ pragma solidity ^0.5.2; /** * @title SafeMath * @dev Math operations with safety checks that revert on error */ library SafeMath { /** * @dev Multiplies two numbers, reverts on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "multiplication constraint voilated"); return c; } /** * @dev Integer division of two numbers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, "division constraint voilated"); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "substracts constraint voilated"); uint256 c = a - b; return c; } /** * @dev Adds two numbers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "addition constraint voilated"); return c; } /** * @dev Divides two numbers and returns the remainder (unsigned integer modulo), * reverts when dividing by zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0, "divides contraint voilated"); return a % b; } } /** * @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. */ constructor() public{ owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner, "Ownable: only owner can execute"); _; } /** * @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), "Ownable: new owner should not empty"); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev modifier to allow actions only when the contract IS paused */ modifier whenNotPaused() { require(!paused, "Pausable: contract not paused"); _; } /** * @dev modifier to allow actions only when the contract IS NOT paused */ modifier whenPaused { require(paused, "Pausable: contract paused"); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() public onlyOwner whenNotPaused returns (bool) { paused = true; emit Pause(); return true; } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() public onlyOwner whenPaused returns (bool) { paused = false; emit Unpause(); return true; } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { uint256 public totalSupply; 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), "BasicToken: require to address"); // SafeMath.sub will throw if there is not enough balance. balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit 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]; } } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ 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. * @dev https://github.com/ethereum/EIPs/issues/20 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { require(_to != address(0), "StandardToken: receiver address empty"); uint256 _allowance = allowed[_from][msg.sender]; // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met // require (_value <= _allowance); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = _allowance.sub(_value); emit 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: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @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) { require(_spender != address(0), "StandardToken: spender address empty"); allowed[msg.sender][_spender] = _value; emit 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 remaining) { return allowed[_owner][_spender]; } /** * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol */ function increaseApproval (address _spender, uint256 _addedValue) public returns (bool success) { require(_spender != address(0), "StandardToken: spender address empty"); allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function decreaseApproval (address _spender, uint256 _subtractedValue) public returns (bool success) { require(_spender != address(0), "StandardToken: spender address empty"); uint256 oldValue = allowed[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } contract BurnableToken is StandardToken { /** * @dev Burns a specified amount of tokens. * @param _value The amount of tokens to burn. */ function burn(uint256 _value) public { require(_value > 0, "BurnableToken: value must be greterthan 0"); address burner = msg.sender; balances[burner] = balances[burner].sub(_value); totalSupply = totalSupply.sub(_value); emit Transfer(msg.sender, address(0), _value); } } contract PausableToken is StandardToken, Pausable { function transfer(address _to, uint256 _value)public whenNotPaused returns (bool) { return super.transfer(_to, _value); } function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool) { return super.transferFrom(_from, _to, _value); } function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) { return super.approve(_spender, _value); } function increaseApproval(address _spender, uint _addedValue) public whenNotPaused returns (bool success) { return super.increaseApproval(_spender, _addedValue); } function decreaseApproval(address _spender, uint _subtractedValue) public whenNotPaused returns (bool success) { return super.decreaseApproval(_spender, _subtractedValue); } } contract DSTOToken is PausableToken, BurnableToken { string public name = "DeFi Storage Token"; string public symbol = "DSTO"; uint8 public decimals = 18; uint256 public initialSupply = 10000000000 * (10 ** uint256(decimals)); // Constructor constructor() public { totalSupply = initialSupply; balances[msg.sender] = initialSupply; // Send all tokens to owner emit Transfer(address(0), msg.sender, initialSupply); } // Don't accept ETH function () external payable { revert("Token: Don't accept ETH"); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[{"name":"","type":"bool"}],"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":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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
60806040526000600360146101000a81548160ff0219169083151502179055506040805190810160405280601281526020017f446546692053746f7261676520546f6b656e0000000000000000000000000000815250600490805190602001906200006c92919062000203565b506040805190810160405280600481526020017f4453544f0000000000000000000000000000000000000000000000000000000081525060059080519060200190620000ba92919062000203565b506012600660006101000a81548160ff021916908360ff160217905550600660009054906101000a900460ff1660ff16600a0a6402540be400026007553480156200010457600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600754600081905550600754600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040518082815260200191505060405180910390a3620002b2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024657805160ff191683800117855562000277565b8280016001018555821562000277579182015b828111156200027657825182559160200191906001019062000259565b5b5090506200028691906200028a565b5090565b620002af91905b80821115620002ab57600081600090555060010162000291565b5090565b90565b61227380620002c26000396000f3fe608060405260043610610126576000357c01000000000000000000000000000000000000000000000000000000009004806366188463116100b257806395d89b411161008157806395d89b41146105a8578063a9059cbb14610638578063d73dd623146106ab578063dd62ed3e1461071e578063f2fde38b146107a357610126565b8063661884631461044a57806370a08231146104bd5780638456cb59146105225780638da5cb5b1461055157610126565b8063313ce567116100f9578063313ce56714610355578063378dc3dc146103865780633f4ba83a146103b157806342966c68146103e05780635c975abb1461041b57610126565b806306fdde0314610194578063095ea7b31461022457806318160ddd1461029757806323b872dd146102c2575b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f546f6b656e3a20446f6e2774206163636570742045544800000000000000000081525060200191505060405180910390fd5b3480156101a057600080fd5b506101a96107f4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e95780820151818401526020810190506101ce565b50505050905090810190601f1680156102165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023057600080fd5b5061027d6004803603604081101561024757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610892565b604051808215151515815260200191505060405180910390f35b3480156102a357600080fd5b506102ac61092b565b6040518082815260200191505060405180910390f35b3480156102ce57600080fd5b5061033b600480360360608110156102e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610931565b604051808215151515815260200191505060405180910390f35b34801561036157600080fd5b5061036a6109cc565b604051808260ff1660ff16815260200191505060405180910390f35b34801561039257600080fd5b5061039b6109df565b6040518082815260200191505060405180910390f35b3480156103bd57600080fd5b506103c66109e5565b604051808215151515815260200191505060405180910390f35b3480156103ec57600080fd5b506104196004803603602081101561040357600080fd5b8101908080359060200190929190505050610b7e565b005b34801561042757600080fd5b50610430610cf8565b604051808215151515815260200191505060405180910390f35b34801561045657600080fd5b506104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d0b565b604051808215151515815260200191505060405180910390f35b3480156104c957600080fd5b5061050c600480360360208110156104e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610da4565b6040518082815260200191505060405180910390f35b34801561052e57600080fd5b50610537610ded565b604051808215151515815260200191505060405180910390f35b34801561055d57600080fd5b50610566610f87565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105b457600080fd5b506105bd610fad565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105fd5780820151818401526020810190506105e2565b50505050905090810190601f16801561062a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561064457600080fd5b506106916004803603604081101561065b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061104b565b604051808215151515815260200191505060405180910390f35b3480156106b757600080fd5b50610704600480360360408110156106ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110e4565b604051808215151515815260200191505060405180910390f35b34801561072a57600080fd5b5061078d6004803603604081101561074157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061117d565b6040518082815260200191505060405180910390f35b3480156107af57600080fd5b506107f2600480360360208110156107c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611204565b005b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561088a5780601f1061085f5761010080835404028352916020019161088a565b820191906000526020600020905b81548152906001019060200180831161086d57829003601f168201915b505050505081565b6000600360149054906101000a900460ff16151515610919576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5061757361626c653a20636f6e7472616374206e6f742070617573656400000081525060200191505060405180910390fd5b6109238383611411565b905092915050565b60005481565b6000600360149054906101000a900460ff161515156109b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5061757361626c653a20636f6e7472616374206e6f742070617573656400000081525060200191505060405180910390fd5b6109c384848461158a565b90509392505050565b600660009054906101000a900460ff1681565b60075481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610aac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4f776e61626c653a206f6e6c79206f776e65722063616e20657865637574650081525060200191505060405180910390fd5b600360149054906101000a900460ff161515610b30576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5061757361626c653a20636f6e7472616374207061757365640000000000000081525060200191505060405180910390fd5b6000600360146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a16001905090565b600081111515610bd9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806121b36029913960400191505060405180910390fd5b6000339050610c3082600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c290919063ffffffff16565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c88826000546118c290919063ffffffff16565b600081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050565b600360149054906101000a900460ff1681565b6000600360149054906101000a900460ff16151515610d92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5061757361626c653a20636f6e7472616374206e6f742070617573656400000081525060200191505060405180910390fd5b610d9c838361194d565b905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4f776e61626c653a206f6e6c79206f776e65722063616e20657865637574650081525060200191505060405180910390fd5b600360149054906101000a900460ff16151515610f39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5061757361626c653a20636f6e7472616374206e6f742070617573656400000081525060200191505060405180910390fd5b6001600360146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110435780601f1061101857610100808354040283529160200191611043565b820191906000526020600020905b81548152906001019060200180831161102657829003601f168201915b505050505081565b6000600360149054906101000a900460ff161515156110d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5061757361626c653a20636f6e7472616374206e6f742070617573656400000081525060200191505060405180910390fd5b6110dc8383611c66565b905092915050565b6000600360149054906101000a900460ff1615151561116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5061757361626c653a20636f6e7472616374206e6f742070617573656400000081525060200191505060405180910390fd5b6111758383611ea5565b905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4f776e61626c653a206f6e6c79206f776e65722063616e20657865637574650081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611351576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806121dc6023913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561149a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806121ff6024913960400191505060405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611613576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806122236025913960400191505060405180910390fd5b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506116e683600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c290919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061177b83600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117d183826118c290919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600082821115151561193c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f7375627374726163747320636f6e73747261696e7420766f696c61746564000081525060200191505060405180910390fd5b600082840390508091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156119d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806121ff6024913960400191505060405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611ae6576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b7a565b611af983826118c290919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611d0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4261736963546f6b656e3a207265717569726520746f2061646472657373000081525060200191505060405180910390fd5b611d5e82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c290919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611df382600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611f2e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806121ff6024913960400191505060405180910390fd5b611fbd82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60008082840190508381101515156121a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f6164646974696f6e20636f6e73747261696e7420766f696c617465640000000081525060200191505060405180910390fd5b809150509291505056fe4275726e61626c65546f6b656e3a2076616c7565206d757374206265206772657465727468616e20304f776e61626c653a206e6577206f776e65722073686f756c64206e6f7420656d7074795374616e64617264546f6b656e3a207370656e646572206164647265737320656d7074795374616e64617264546f6b656e3a207265636569766572206164647265737320656d707479a165627a7a72305820af85862c4961e330dfff46744b37ed6d89e5a77c0b2e6850d345bee0b4c6d5410029
Deployed Bytecode
0x608060405260043610610126576000357c01000000000000000000000000000000000000000000000000000000009004806366188463116100b257806395d89b411161008157806395d89b41146105a8578063a9059cbb14610638578063d73dd623146106ab578063dd62ed3e1461071e578063f2fde38b146107a357610126565b8063661884631461044a57806370a08231146104bd5780638456cb59146105225780638da5cb5b1461055157610126565b8063313ce567116100f9578063313ce56714610355578063378dc3dc146103865780633f4ba83a146103b157806342966c68146103e05780635c975abb1461041b57610126565b806306fdde0314610194578063095ea7b31461022457806318160ddd1461029757806323b872dd146102c2575b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f546f6b656e3a20446f6e2774206163636570742045544800000000000000000081525060200191505060405180910390fd5b3480156101a057600080fd5b506101a96107f4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e95780820151818401526020810190506101ce565b50505050905090810190601f1680156102165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023057600080fd5b5061027d6004803603604081101561024757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610892565b604051808215151515815260200191505060405180910390f35b3480156102a357600080fd5b506102ac61092b565b6040518082815260200191505060405180910390f35b3480156102ce57600080fd5b5061033b600480360360608110156102e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610931565b604051808215151515815260200191505060405180910390f35b34801561036157600080fd5b5061036a6109cc565b604051808260ff1660ff16815260200191505060405180910390f35b34801561039257600080fd5b5061039b6109df565b6040518082815260200191505060405180910390f35b3480156103bd57600080fd5b506103c66109e5565b604051808215151515815260200191505060405180910390f35b3480156103ec57600080fd5b506104196004803603602081101561040357600080fd5b8101908080359060200190929190505050610b7e565b005b34801561042757600080fd5b50610430610cf8565b604051808215151515815260200191505060405180910390f35b34801561045657600080fd5b506104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d0b565b604051808215151515815260200191505060405180910390f35b3480156104c957600080fd5b5061050c600480360360208110156104e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610da4565b6040518082815260200191505060405180910390f35b34801561052e57600080fd5b50610537610ded565b604051808215151515815260200191505060405180910390f35b34801561055d57600080fd5b50610566610f87565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105b457600080fd5b506105bd610fad565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105fd5780820151818401526020810190506105e2565b50505050905090810190601f16801561062a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561064457600080fd5b506106916004803603604081101561065b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061104b565b604051808215151515815260200191505060405180910390f35b3480156106b757600080fd5b50610704600480360360408110156106ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110e4565b604051808215151515815260200191505060405180910390f35b34801561072a57600080fd5b5061078d6004803603604081101561074157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061117d565b6040518082815260200191505060405180910390f35b3480156107af57600080fd5b506107f2600480360360208110156107c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611204565b005b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561088a5780601f1061085f5761010080835404028352916020019161088a565b820191906000526020600020905b81548152906001019060200180831161086d57829003601f168201915b505050505081565b6000600360149054906101000a900460ff16151515610919576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5061757361626c653a20636f6e7472616374206e6f742070617573656400000081525060200191505060405180910390fd5b6109238383611411565b905092915050565b60005481565b6000600360149054906101000a900460ff161515156109b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5061757361626c653a20636f6e7472616374206e6f742070617573656400000081525060200191505060405180910390fd5b6109c384848461158a565b90509392505050565b600660009054906101000a900460ff1681565b60075481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610aac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4f776e61626c653a206f6e6c79206f776e65722063616e20657865637574650081525060200191505060405180910390fd5b600360149054906101000a900460ff161515610b30576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5061757361626c653a20636f6e7472616374207061757365640000000000000081525060200191505060405180910390fd5b6000600360146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a16001905090565b600081111515610bd9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806121b36029913960400191505060405180910390fd5b6000339050610c3082600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c290919063ffffffff16565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c88826000546118c290919063ffffffff16565b600081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050565b600360149054906101000a900460ff1681565b6000600360149054906101000a900460ff16151515610d92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5061757361626c653a20636f6e7472616374206e6f742070617573656400000081525060200191505060405180910390fd5b610d9c838361194d565b905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4f776e61626c653a206f6e6c79206f776e65722063616e20657865637574650081525060200191505060405180910390fd5b600360149054906101000a900460ff16151515610f39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5061757361626c653a20636f6e7472616374206e6f742070617573656400000081525060200191505060405180910390fd5b6001600360146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110435780601f1061101857610100808354040283529160200191611043565b820191906000526020600020905b81548152906001019060200180831161102657829003601f168201915b505050505081565b6000600360149054906101000a900460ff161515156110d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5061757361626c653a20636f6e7472616374206e6f742070617573656400000081525060200191505060405180910390fd5b6110dc8383611c66565b905092915050565b6000600360149054906101000a900460ff1615151561116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5061757361626c653a20636f6e7472616374206e6f742070617573656400000081525060200191505060405180910390fd5b6111758383611ea5565b905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4f776e61626c653a206f6e6c79206f776e65722063616e20657865637574650081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611351576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806121dc6023913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561149a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806121ff6024913960400191505060405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611613576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806122236025913960400191505060405180910390fd5b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506116e683600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c290919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061177b83600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117d183826118c290919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600082821115151561193c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f7375627374726163747320636f6e73747261696e7420766f696c61746564000081525060200191505060405180910390fd5b600082840390508091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156119d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806121ff6024913960400191505060405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611ae6576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b7a565b611af983826118c290919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611d0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4261736963546f6b656e3a207265717569726520746f2061646472657373000081525060200191505060405180910390fd5b611d5e82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c290919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611df382600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611f2e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806121ff6024913960400191505060405180910390fd5b611fbd82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60008082840190508381101515156121a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f6164646974696f6e20636f6e73747261696e7420766f696c617465640000000081525060200191505060405180910390fd5b809150509291505056fe4275726e61626c65546f6b656e3a2076616c7565206d757374206265206772657465727468616e20304f776e61626c653a206e6577206f776e65722073686f756c64206e6f7420656d7074795374616e64617264546f6b656e3a207370656e646572206164647265737320656d7074795374616e64617264546f6b656e3a207265636569766572206164647265737320656d707479a165627a7a72305820af85862c4961e330dfff46744b37ed6d89e5a77c0b2e6850d345bee0b4c6d5410029
Deployed Bytecode Sourcemap
10942:601:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11494:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11000:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11000:41:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11000:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10433:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10433:138:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10433:138:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4065:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4065:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10265:160;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10265:160:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10265:160:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11084:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11084:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11118:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11118:71:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3770:128;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3770:128:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9742:322;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9742:322:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9742:322:0;;;;;;;;;;;;;;;;;:::i;:::-;;3086:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3086:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10754:181;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10754:181:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10754:181:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5256:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5256:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5256:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3557:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3557:126:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2153:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2153:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11048:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11048:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11048:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10130:129;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10130:129:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10130:129:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10577:171;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10577:171:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10577:171:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8305:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8305:138:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8305:138:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2790:217;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2790:217:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2790:217:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11000:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10433:138::-;10514:4;3244:6;;;;;;;;;;;3243:7;3235:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10534:31;10548:8;10558:6;10534:13;:31::i;:::-;10527:38;;10433:138;;;;:::o;4065:26::-;;;;:::o;10265:160::-;10361:4;3244:6;;;;;;;;;;;3243:7;3235:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10381:38;10400:5;10407:3;10412:6;10381:18;:38::i;:::-;10374:45;;10265:160;;;;;:::o;11084:26::-;;;;;;;;;;;;;:::o;11118:71::-;;;;:::o;3770:128::-;3826:4;2570:5;;;;;;;;;;;2556:19;;:10;:19;;;2548:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3425:6;;;;;;;;;;;3417:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3848:5;3839:6;;:14;;;;;;;;;;;;;;;;;;3865:9;;;;;;;;;;3888:4;3881:11;;3770:128;:::o;9742:322::-;9807:1;9798:6;:10;9790:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9867:14;9884:10;9867:27;;9924:28;9945:6;9924:8;:16;9933:6;9924:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;9905:8;:16;9914:6;9905:16;;;;;;;;;;;;;;;:47;;;;9977:23;9993:6;9977:11;;:15;;:23;;;;:::i;:::-;9963:11;:37;;;;10045:1;10016:40;;10025:10;10016:40;;;10049:6;10016:40;;;;;;;;;;;;;;;;;;9742:322;;:::o;3086:26::-;;;;;;;;;;;;;:::o;10754:181::-;10851:12;3244:6;;;;;;;;;;;3243:7;3235:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10879:50;10902:8;10912:16;10879:22;:50::i;:::-;10872:57;;10754:181;;;;:::o;5256:109::-;5312:15;5343:8;:16;5352:6;5343:16;;;;;;;;;;;;;;;;5336:23;;5256:109;;;:::o;3557:126::-;3614:4;2570:5;;;;;;;;;;;2556:19;;:10;:19;;;2548:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3244:6;;;;;;;;;;;3243:7;3235:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3636:4;3627:6;;:13;;;;;;;;;;;;;;;;;;3652:7;;;;;;;;;;3673:4;3666:11;;3557:126;:::o;2153:20::-;;;;;;;;;;;;;:::o;11048:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10130:129::-;10206:4;3244:6;;;;;;;;;;;3243:7;3235:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10226:27;10241:3;10246:6;10226:14;:27::i;:::-;10219:34;;10130:129;;;;:::o;10577:171::-;10669:12;3244:6;;;;;;;;;;;3243:7;3235:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10697:45;10720:8;10730:11;10697:22;:45::i;:::-;10690:52;;10577:171;;;;:::o;8305:138::-;8379:17;8412:7;:15;8420:6;8412:15;;;;;;;;;;;;;;;:25;8428:8;8412:25;;;;;;;;;;;;;;;;8405:32;;8305:138;;;;:::o;2790:217::-;2570:5;;;;;;;;;;;2556:19;;:10;:19;;;2548:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:1;2867:22;;:8;:22;;;;2859:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2969:8;2941:37;;2962:5;;;;;;;;;;;2941:37;;;;;;;;;;;;2993:8;2985:5;;:16;;;;;;;;;;;;;;;;;;2790:217;:::o;7710:270::-;7777:4;7818:1;7798:22;;:8;:22;;;;7790:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7900:6;7868:7;:19;7876:10;7868:19;;;;;;;;;;;;;;;:29;7888:8;7868:29;;;;;;;;;;;;;;;:38;;;;7939:8;7918:38;;7927:10;7918:38;;;7949:6;7918:38;;;;;;;;;;;;;;;;;;7970:4;7963:11;;7710:270;;;;:::o;6491:586::-;6573:4;6609:1;6594:17;;:3;:17;;;;6586:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6660:18;6681:7;:14;6689:5;6681:14;;;;;;;;;;;;;;;:26;6696:10;6681:26;;;;;;;;;;;;;;;;6660:47;;6880:27;6900:6;6880:8;:15;6889:5;6880:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;6862:8;:15;6871:5;6862:15;;;;;;;;;;;;;;;:45;;;;6930:25;6948:6;6930:8;:13;6939:3;6930:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;6914:8;:13;6923:3;6914:13;;;;;;;;;;;;;;;:41;;;;6991:22;7006:6;6991:10;:14;;:22;;;;:::i;:::-;6962:7;:14;6970:5;6962:14;;;;;;;;;;;;;;;:26;6977:10;6962:26;;;;;;;;;;;;;;;:51;;;;7041:3;7025:28;;7034:5;7025:28;;;7046:6;7025:28;;;;;;;;;;;;;;;;;;7067:4;7060:11;;;6491:586;;;;;:::o;1189:182::-;1247:7;1280:1;1275;:6;;1267:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1327:9;1343:1;1339;:5;1327:17;;1362:1;1355:8;;;1189:182;;;;:::o;9054:510::-;9146:12;9195:1;9175:22;;:8;:22;;;;9167:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9245:16;9264:7;:19;9272:10;9264:19;;;;;;;;;;;;;;;:29;9284:8;9264:29;;;;;;;;;;;;;;;;9245:48;;9323:8;9304:16;:27;9300:168;;;9374:1;9342:7;:19;9350:10;9342:19;;;;;;;;;;;;;;;:29;9362:8;9342:29;;;;;;;;;;;;;;;:33;;;;9300:168;;;9430:30;9443:16;9430:8;:12;;:30;;;;:::i;:::-;9398:7;:19;9406:10;9398:19;;;;;;;;;;;;;;;:29;9418:8;9398:29;;;;;;;;;;;;;;;:62;;;;9300:168;9500:8;9479:61;;9488:10;9479:61;;;9510:7;:19;9518:10;9510:19;;;;;;;;;;;;;;;:29;9530:8;9510:29;;;;;;;;;;;;;;;;9479:61;;;;;;;;;;;;;;;;;;9554:4;9547:11;;;9054:510;;;;:::o;4670:379::-;4733:4;4769:1;4754:17;;:3;:17;;;;4746:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4900:32;4925:6;4900:8;:20;4909:10;4900:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;4877:8;:20;4886:10;4877:20;;;;;;;;;;;;;;;:55;;;;4955:25;4973:6;4955:8;:13;4964:3;4955:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4939:8;:13;4948:3;4939:13;;;;;;;;;;;;;;;:41;;;;5013:3;4992:33;;5001:10;4992:33;;;5018:6;4992:33;;;;;;;;;;;;;;;;;;5039:4;5032:11;;4670:379;;;;:::o;8689:361::-;8776:12;8825:1;8805:22;;:8;:22;;;;8797:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8907:46;8941:11;8907:7;:19;8915:10;8907:19;;;;;;;;;;;;;;;:29;8927:8;8907:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;8875:7;:19;8883:10;8875:19;;;;;;;;;;;;;;;:29;8895:8;8875:29;;;;;;;;;;;;;;;:78;;;;8986:8;8965:61;;8974:10;8965:61;;;8996:7;:19;9004:10;8996:19;;;;;;;;;;;;;;;:29;9016:8;8996:29;;;;;;;;;;;;;;;;8965:61;;;;;;;;;;;;;;;;;;9040:4;9033:11;;8689:361;;;;:::o;1447:180::-;1505:7;1525:9;1541:1;1537;:5;1525:17;;1566:1;1561;:6;;1553:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1618:1;1611:8;;;1447:180;;;;:::o
Swarm Source
bzzr://af85862c4961e330dfff46744b37ed6d89e5a77c0b2e6850d345bee0b4c6d541
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.