ERC-20
Security
Overview
Max Total Supply
111,111,111.11 HYDRO
Holders
4 (0.00%)
Total Transfers
-
Market
Price
$0.0003 @ 0.000019 MOVR (+0.63%)
Onchain Market Cap
$36,397.78
Circulating Supply Market Cap
$14,040.68
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
HydroToken
Compiler Version
v0.6.0+commit.26b70077
Contract Source Code (Solidity)
/** *Submitted for verification at moonriver.moonscan.io on 2022-06-27 */ ////////////////////////////////////////// // PROJECT HYDRO // Multi Chain Token ////////////////////////////////////////// pragma solidity 0.6.0; 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); _; } /** * @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)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ 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; } /** * @dev Integer division of two numbers, truncating the quotient. */ 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; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } interface Raindrop { function authenticate(address _sender, uint _value, uint _challenge, uint _partnerId) external; } interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes calldata _extraData) external; } interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the token decimals. */ function decimals() external view returns (uint8); /** * @dev Returns the token symbol. */ function symbol() external view returns (string memory); /** * @dev Returns the token name. */ function name() external view returns (string memory); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address _owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } contract HydroToken is Ownable,IERC20 { using SafeMath for uint256; string public _name; string public _symbol; uint8 public _decimals; // Number of decimals of the smallest unit uint public _totalSupply; address public raindropAddress; uint256 ratio; uint256 public MAX_BURN= 100000000000000000; //0.1 hydro tokens mapping (address => uint256) public balances; // `allowed` tracks any extra transfer rights as in all ERC20 tokens mapping (address => mapping (address => uint256)) public allowed; mapping(address=>bool) public whitelistedDapps; //dapps that can burn tokens //makes sure only dappstore apps can burn tokens modifier onlyFromDapps(address _dapp){ require(whitelistedDapps[msg.sender]==true,'Hydro: Burn error'); _; } event dappBurned(address indexed _dapp, uint256 _amount ); //////////////// // Constructor //////////////// /// @notice Constructor to create a HydroToken constructor(uint256 _ratio) public { _name='HYDRO TOKEN'; _symbol='HYDRO'; _decimals=18; raindropAddress=address(0); _totalSupply = (11111111111 * 10**18)/_ratio; // Give the creator all initial tokens balances[msg.sender] = _totalSupply; ratio = _ratio; emit Transfer(address(0), msg.sender, _totalSupply); } /////////////////// // ERC20 Methods /////////////////// //transfers an amount of tokens from one account to another //accepts two variables function transfer(address _to, uint256 _amount) public override returns (bool success) { doTransfer(msg.sender, _to, _amount); return true; } /** * @dev Returns the token symbol. */ function symbol() public override view returns (string memory) { return _symbol; } /** * @dev Returns the token name. */ function name() public override view returns (string memory) { return _name; } //transfers an amount of tokens from one account to another //accepts three variables function transferFrom(address _from, address _to, uint256 _amount ) public override returns (bool success) { // The standard ERC 20 transferFrom functionality require(allowed[_from][msg.sender] >= _amount); allowed[_from][msg.sender] -= _amount; doTransfer(_from, _to, _amount); return true; } //allows the owner to change the MAX_BURN amount function changeMaxBurn(uint256 _newBurn) public onlyOwner returns(uint256 ) { MAX_BURN=_newBurn; return (_newBurn); } //internal function to implement the transfer function and perform some safety checks function doTransfer(address _from, address _to, uint _amount ) internal { // Do not allow transfer to 0x0 or the token contract itself require((_to != address(0)) && (_to != address(this))); require(_amount <= balances[_from]); balances[_from] = balances[_from].sub(_amount); balances[_to] = balances[_to].add(_amount); emit Transfer(_from, _to, _amount); } //returns balance of an address function balanceOf(address _owner) public override view returns (uint256 balance) { return balances[_owner]; } //allows an address to approve another address to spend its tokens function approve(address _spender, uint256 _amount) public override returns (bool success) { // To change the approve amount you first have to reduce the addresses` // allowance to zero by calling `approve(_spender,0)` if it is not // already 0 to mitigate the race condition described here: // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 require((_amount == 0) || (allowed[msg.sender][_spender] == 0)); allowed[msg.sender][_spender] = _amount; emit Approval(msg.sender, _spender, _amount); return true; } //sends the approve function but with a data argument function approveAndCall(address _spender, uint256 _value, bytes memory _extraData) public returns (bool success) { tokenRecipient spender = tokenRecipient(_spender); if (approve(_spender, _value)) { spender.receiveApproval(msg.sender, _value, address(this), _extraData); return true; } } /** * @dev Returns the token decimals. */ function decimals() external view override returns (uint8) { return _decimals; } //returns the allowance an address has granted a spender function allowance(address _owner, address _spender ) public view override returns (uint256 remaining) { return allowed[_owner][_spender]; } //allows an owner to whitelist a dapp so it can burn tokens function _whiteListDapp(address _dappAddress) public onlyOwner returns(bool){ whitelistedDapps[_dappAddress]=true; return true; } //allows an owner to blacklist a dapp so it can stop burn tokens function _blackListDapp(address _dappAddress) public onlyOwner returns(bool){ whitelistedDapps[_dappAddress]=false; return false; } //returns current hydro totalSupply function totalSupply() public view override returns (uint) { return _totalSupply; } //allows the owner to set the Raindrop function setRaindropAddress(address _raindrop) public onlyOwner { raindropAddress = _raindrop; } //the main public burn function which uses the internal burn function function burn(address _from,uint256 _value) external returns(uint burnAmount) { _burn(_from,_value); emit dappBurned(msg.sender,_value); return(burnAmount); } function authenticate(uint _value, uint _challenge, uint _partnerId) public { Raindrop raindrop = Raindrop(raindropAddress); raindrop.authenticate(msg.sender, _value, _challenge, _partnerId); doTransfer(msg.sender, owner, _value); } //internal burn function which makes sure that only whitelisted addresses can burn function _burn(address account, uint256 amount) internal onlyFromDapps(msg.sender) { require(account != address(0), "ERC20: burn from the zero address"); require(amount >= MAX_BURN,'ERC20: Exceeds maximum burn amount'); balances[account] = balances[account].sub(amount); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_ratio","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_dapp","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"dappBurned","type":"event"},{"inputs":[],"name":"MAX_BURN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_dappAddress","type":"address"}],"name":"_blackListDapp","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_dappAddress","type":"address"}],"name":"_whiteListDapp","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_challenge","type":"uint256"},{"internalType":"uint256","name":"_partnerId","type":"uint256"}],"name":"authenticate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"uint256","name":"burnAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBurn","type":"uint256"}],"name":"changeMaxBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"raindropAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_raindrop","type":"address"}],"name":"setRaindropAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelistedDapps","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405267016345785d8a00006007553480156200001d57600080fd5b50604051620021ea380380620021ea833981810160405260208110156200004357600080fd5b8101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600b81526020017f485944524f20544f4b454e00000000000000000000000000000000000000000081525060019080519060200190620000e192919062000267565b506040518060400160405280600581526020017f485944524f000000000000000000000000000000000000000000000000000000815250600290805190602001906200012f92919062000267565b506012600360006101000a81548160ff021916908360ff1602179055506000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806b23e6e54c4381ee57e2bc000081620001a457fe5b04600481905550600454600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806006819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a35062000316565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002aa57805160ff1916838001178555620002db565b82800160010185558215620002db579182015b82811115620002da578251825591602001919060010190620002bd565b5b509050620002ea9190620002ee565b5090565b6200031391905b808211156200030f576000816000905550600101620002f5565b5090565b90565b611ec480620003266000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806371ee5ca9116100f9578063b1bbd59e11610097578063d28d885211610071578063d28d8852146109c6578063dd62ed3e14610a49578063e749d6a614610ac1578063f2fde38b14610b1d576101a9565b8063b1bbd59e14610829578063b302ea1e14610885578063cae9ca51146108c9576101a9565b806395d89b41116100d357806395d89b411461065b5780639dc29fac146106de578063a9059cbb14610740578063b09f1266146107a6576101a9565b806371ee5ca9146105b1578063831946c7146105f35780638da5cb5b14610611576101a9565b806327e235e3116101665780633eaaf86b116101405780633eaaf86b14610467578063540dbf34146104855780635c658165146104e157806370a0823114610559576101a9565b806327e235e3146103c7578063313ce5671461041f57806332424aa314610443576101a9565b806303960631146101ae578063053011b7146101f857806306fdde031461023a578063095ea7b3146102bd57806318160ddd1461032357806323b872dd14610341575b600080fd5b6101b6610b61565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102386004803603606081101561020e57600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050610b87565b005b610242610c8f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610282578082015181840152602081019050610267565b50505050905090810190601f1680156102af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610309600480360360408110156102d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d31565b604051808215151515815260200191505060405180910390f35b61032b610eb6565b6040518082815260200191505060405180910390f35b6103ad6004803603606081101561035757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ec0565b604051808215151515815260200191505060405180910390f35b610409600480360360208110156103dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610feb565b6040518082815260200191505060405180910390f35b610427611003565b604051808260ff1660ff16815260200191505060405180910390f35b61044b61101a565b604051808260ff1660ff16815260200191505060405180910390f35b61046f61102d565b6040518082815260200191505060405180910390f35b6104c76004803603602081101561049b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611033565b604051808215151515815260200191505060405180910390f35b610543600480360360408110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110ef565b6040518082815260200191505060405180910390f35b61059b6004803603602081101561056f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611114565b6040518082815260200191505060405180910390f35b6105dd600480360360208110156105c757600080fd5b810190808035906020019092919050505061115d565b6040518082815260200191505060405180910390f35b6105fb6111c7565b6040518082815260200191505060405180910390f35b6106196111cd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106636111f2565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106a3578082015181840152602081019050610688565b50505050905090810190601f1680156106d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61072a600480360360408110156106f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611294565b6040518082815260200191505060405180910390f35b61078c6004803603604081101561075657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112f7565b604051808215151515815260200191505060405180910390f35b6107ae61130e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107ee5780820151818401526020810190506107d3565b50505050905090810190601f16801561081b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61086b6004803603602081101561083f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113ac565b604051808215151515815260200191505060405180910390f35b6108c76004803603602081101561089b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611468565b005b6109ac600480360360608110156108df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561092657600080fd5b82018360208201111561093857600080fd5b8035906020019184600183028401116401000000008311171561095a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611505565b604051808215151515815260200191505060405180910390f35b6109ce61166d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a0e5780820151818401526020810190506109f3565b50505050905090810190601f168015610a3b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610aab60048036036040811015610a5f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061170b565b6040518082815260200191505060405180910390f35b610b0360048036036020811015610ad757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611792565b604051808215151515815260200191505060405180910390f35b610b5f60048036036020811015610b3357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b2565b005b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663c68ae617338686866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828152602001945050505050600060405180830381600087803b158015610c4557600080fd5b505af1158015610c59573d6000803e3d6000fd5b50505050610c89336000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686611903565b50505050565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d275780601f10610cfc57610100808354040283529160200191610d27565b820191906000526020600020905b815481529060010190602001808311610d0a57829003601f168201915b5050505050905090565b600080821480610dbd57506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b610dc657600080fd5b81600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600454905090565b600081600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f4b57600080fd5b81600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610fe0848484611903565b600190509392505050565b60086020528060005260406000206000915090505481565b6000600360009054906101000a900460ff16905090565b600360009054906101000a900460ff1681565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461108e57600080fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060009050919050565b6009602052816000526040600020602052806000526040600020600091509150505481565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111b857600080fd5b81600781905550819050919050565b60075481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561128a5780601f1061125f5761010080835404028352916020019161128a565b820191906000526020600020905b81548152906001019060200180831161126d57829003601f168201915b5050505050905090565b60006112a08383611b55565b3373ffffffffffffffffffffffffffffffffffffffff167fe3833cad7d2b62a57b31546765698888596a7671d178a6177e7235131b84fed0836040518082815260200191505060405180910390a280905092915050565b6000611304338484611903565b6001905092915050565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113a45780601f10611379576101008083540402835291602001916113a4565b820191906000526020600020905b81548152906001019060200180831161138757829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461140757600080fd5b6001600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114c157600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808490506115158585610d31565b15611664578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115f35780820151818401526020810190506115d8565b50505050905090810190601f1680156116205780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561164257600080fd5b505af1158015611656573d6000803e3d6000fd5b505050506001915050611666565b505b9392505050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117035780601f106116d857610100808354040283529160200191611703565b820191906000526020600020905b8154815290600101906020018083116116e657829003601f168201915b505050505081565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461180b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561184557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561196c57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61197557600080fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156119c157600080fd5b611a1381600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1890919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aa881600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2f90919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b3360011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611c1c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f487964726f3a204275726e206572726f7200000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ca2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611e4c6021913960400191505060405180910390fd5b600754821015611cfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611e6d6022913960400191505060405180910390fd5b611d4f82600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1890919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611da782600454611e1890919063ffffffff16565b600481905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3505050565b600082821115611e2457fe5b818303905092915050565b600080828401905083811015611e4157fe5b809150509291505056fe45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a2045786365656473206d6178696d756d206275726e20616d6f756e74a2646970667358221220d4554ae75f783734c3d98e671bc13db0929ad046dc1547dc46fe962901acf05a64736f6c634300060000330000000000000000000000000000000000000000000000000000000000000064
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101a95760003560e01c806371ee5ca9116100f9578063b1bbd59e11610097578063d28d885211610071578063d28d8852146109c6578063dd62ed3e14610a49578063e749d6a614610ac1578063f2fde38b14610b1d576101a9565b8063b1bbd59e14610829578063b302ea1e14610885578063cae9ca51146108c9576101a9565b806395d89b41116100d357806395d89b411461065b5780639dc29fac146106de578063a9059cbb14610740578063b09f1266146107a6576101a9565b806371ee5ca9146105b1578063831946c7146105f35780638da5cb5b14610611576101a9565b806327e235e3116101665780633eaaf86b116101405780633eaaf86b14610467578063540dbf34146104855780635c658165146104e157806370a0823114610559576101a9565b806327e235e3146103c7578063313ce5671461041f57806332424aa314610443576101a9565b806303960631146101ae578063053011b7146101f857806306fdde031461023a578063095ea7b3146102bd57806318160ddd1461032357806323b872dd14610341575b600080fd5b6101b6610b61565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102386004803603606081101561020e57600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050610b87565b005b610242610c8f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610282578082015181840152602081019050610267565b50505050905090810190601f1680156102af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610309600480360360408110156102d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d31565b604051808215151515815260200191505060405180910390f35b61032b610eb6565b6040518082815260200191505060405180910390f35b6103ad6004803603606081101561035757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ec0565b604051808215151515815260200191505060405180910390f35b610409600480360360208110156103dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610feb565b6040518082815260200191505060405180910390f35b610427611003565b604051808260ff1660ff16815260200191505060405180910390f35b61044b61101a565b604051808260ff1660ff16815260200191505060405180910390f35b61046f61102d565b6040518082815260200191505060405180910390f35b6104c76004803603602081101561049b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611033565b604051808215151515815260200191505060405180910390f35b610543600480360360408110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110ef565b6040518082815260200191505060405180910390f35b61059b6004803603602081101561056f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611114565b6040518082815260200191505060405180910390f35b6105dd600480360360208110156105c757600080fd5b810190808035906020019092919050505061115d565b6040518082815260200191505060405180910390f35b6105fb6111c7565b6040518082815260200191505060405180910390f35b6106196111cd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106636111f2565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106a3578082015181840152602081019050610688565b50505050905090810190601f1680156106d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61072a600480360360408110156106f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611294565b6040518082815260200191505060405180910390f35b61078c6004803603604081101561075657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112f7565b604051808215151515815260200191505060405180910390f35b6107ae61130e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107ee5780820151818401526020810190506107d3565b50505050905090810190601f16801561081b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61086b6004803603602081101561083f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113ac565b604051808215151515815260200191505060405180910390f35b6108c76004803603602081101561089b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611468565b005b6109ac600480360360608110156108df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561092657600080fd5b82018360208201111561093857600080fd5b8035906020019184600183028401116401000000008311171561095a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611505565b604051808215151515815260200191505060405180910390f35b6109ce61166d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a0e5780820151818401526020810190506109f3565b50505050905090810190601f168015610a3b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610aab60048036036040811015610a5f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061170b565b6040518082815260200191505060405180910390f35b610b0360048036036020811015610ad757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611792565b604051808215151515815260200191505060405180910390f35b610b5f60048036036020811015610b3357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b2565b005b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663c68ae617338686866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828152602001945050505050600060405180830381600087803b158015610c4557600080fd5b505af1158015610c59573d6000803e3d6000fd5b50505050610c89336000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686611903565b50505050565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d275780601f10610cfc57610100808354040283529160200191610d27565b820191906000526020600020905b815481529060010190602001808311610d0a57829003601f168201915b5050505050905090565b600080821480610dbd57506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b610dc657600080fd5b81600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600454905090565b600081600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f4b57600080fd5b81600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610fe0848484611903565b600190509392505050565b60086020528060005260406000206000915090505481565b6000600360009054906101000a900460ff16905090565b600360009054906101000a900460ff1681565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461108e57600080fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060009050919050565b6009602052816000526040600020602052806000526040600020600091509150505481565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111b857600080fd5b81600781905550819050919050565b60075481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561128a5780601f1061125f5761010080835404028352916020019161128a565b820191906000526020600020905b81548152906001019060200180831161126d57829003601f168201915b5050505050905090565b60006112a08383611b55565b3373ffffffffffffffffffffffffffffffffffffffff167fe3833cad7d2b62a57b31546765698888596a7671d178a6177e7235131b84fed0836040518082815260200191505060405180910390a280905092915050565b6000611304338484611903565b6001905092915050565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113a45780601f10611379576101008083540402835291602001916113a4565b820191906000526020600020905b81548152906001019060200180831161138757829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461140757600080fd5b6001600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114c157600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808490506115158585610d31565b15611664578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115f35780820151818401526020810190506115d8565b50505050905090810190601f1680156116205780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561164257600080fd5b505af1158015611656573d6000803e3d6000fd5b505050506001915050611666565b505b9392505050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117035780601f106116d857610100808354040283529160200191611703565b820191906000526020600020905b8154815290600101906020018083116116e657829003601f168201915b505050505081565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461180b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561184557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561196c57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61197557600080fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156119c157600080fd5b611a1381600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1890919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aa881600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2f90919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b3360011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611c1c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f487964726f3a204275726e206572726f7200000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ca2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611e4c6021913960400191505060405180910390fd5b600754821015611cfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611e6d6022913960400191505060405180910390fd5b611d4f82600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1890919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611da782600454611e1890919063ffffffff16565b600481905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3505050565b600082821115611e2457fe5b818303905092915050565b600080828401905083811015611e4157fe5b809150509291505056fe45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a2045786365656473206d6178696d756d206275726e20616d6f756e74a2646970667358221220d4554ae75f783734c3d98e671bc13db0929ad046dc1547dc46fe962901acf05a64736f6c63430006000033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000064
-----Decoded View---------------
Arg [0] : _ratio (uint256): 100
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000064
Deployed Bytecode Sourcemap
5318:6680:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5318:6680:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5566:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11248:265;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11248:265:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7276:86;;;:::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;7276:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8791:607;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8791:607:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10716:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7468:348;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7468:348:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5694:44;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5694:44:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9879:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5452:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5535:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10511:156;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10511:156:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5819:64;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5819:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8587:124;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8587:124:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7882:140;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7882:140:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5623:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;176:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7131:90;;;:::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;7131:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11062:178;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11062:178:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6913:161;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6913:161:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5424:21;;;:::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;5424:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10277:152;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10277:152:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10865:110;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10865:110:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9469:346;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9469:346:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;9469:346:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9469:346:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9469:346:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;9469:346:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5398:19;;;:::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;5398:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10041:159;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10041:159:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5890:46;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5890:46:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;836:192;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;836:192:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5566:30;;;;;;;;;;;;;:::o;11248:265::-;11336:17;11365:15;;;;;;;;;;;11336:45;;11392:8;:21;;;11414:10;11426:6;11434:10;11446;11392:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11392:65:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11392:65:0;;;;11468:37;11479:10;11491:5;;;;;;;;;;;11498:6;11468:10;:37::i;:::-;11248:265;;;;:::o;7276:86::-;7322:13;7351:5;7344:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7276:86;:::o;8791:607::-;8868:12;9220:1;9209:7;:12;9208:54;;;;9260:1;9227:7;:19;9235:10;9227:19;;;;;;;;;;;;;;;:29;9247:8;9227:29;;;;;;;;;;;;;;;;:34;9208:54;9200:63;;;;;;9306:7;9274;:19;9282:10;9274:19;;;;;;;;;;;;;;;:29;9294:8;9274:29;;;;;;;;;;;;;;;:39;;;;9350:8;9329:39;;9338:10;9329:39;;;9360:7;9329:39;;;;;;;;;;;;;;;;;;9386:4;9379:11;;8791:607;;;;:::o;10716:97::-;10769:4;10793:12;;10786:19;;10716:97;:::o;7468:348::-;7566:12;7688:7;7658;:14;7666:5;7658:14;;;;;;;;;;;;;;;:26;7673:10;7658:26;;;;;;;;;;;;;;;;:37;;7650:46;;;;;;7737:7;7707;:14;7715:5;7707:14;;;;;;;;;;;;;;;:26;7722:10;7707:26;;;;;;;;;;;;;;;;:37;;;;;;;;;;;7755:31;7766:5;7773:3;7778:7;7755:10;:31::i;:::-;7804:4;7797:11;;7468:348;;;;;:::o;5694:44::-;;;;;;;;;;;;;;;;;:::o;9879:88::-;9931:5;9952:9;;;;;;;;;;;9945:16;;9879:88;:::o;5452:22::-;;;;;;;;;;;;;:::o;5535:24::-;;;;:::o;10511:156::-;10582:4;633:5;;;;;;;;;;;619:19;;:10;:19;;;611:28;;;;;;10630:5:::1;10599:16;:30;10616:12;10599:30;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;10654:5;10647:12;;10511:156:::0;;;:::o;5819:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8587:124::-;8652:15;8687:8;:16;8696:6;8687:16;;;;;;;;;;;;;;;;8680:23;;8587:124;;;:::o;7882:140::-;7948:7;633:5;;;;;;;;;;;619:19;;:10;:19;;;611:28;;;;;;7978:8:::1;7969;:17;;;;8005:8;7997:17;;7882:140:::0;;;:::o;5623:43::-;;;;:::o;176:20::-;;;;;;;;;;;;;:::o;7131:90::-;7179:13;7208:7;7201:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7131:90;:::o;11062:178::-;11123:15;11147:19;11153:5;11159:6;11147:5;:19::i;:::-;11189:10;11178:29;;;11200:6;11178:29;;;;;;;;;;;;;;;;;;11221:10;11214:18;;11062:178;;;;:::o;6913:161::-;6987:12;7012:36;7023:10;7035:3;7040:7;7012:10;:36::i;:::-;7066:4;7059:11;;6913:161;;;;:::o;5424:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10277:152::-;10348:4;633:5;;;;;;;;;;;619:19;;:10;:19;;;611:28;;;;;;10395:4:::1;10364:16;:30;10381:12;10364:30;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;10417:4;10410:11;;10277:152:::0;;;:::o;10865:110::-;633:5;;;;;;;;;;;619:19;;:10;:19;;;611:28;;;;;;10958:9:::1;10940:15;;:27;;;;;;;;;;;;;;;;;;10865:110:::0;:::o;9469:346::-;9569:12;9594:22;9634:8;9594:49;;9658:25;9666:8;9676:6;9658:7;:25::i;:::-;9654:154;;;9700:7;:23;;;9724:10;9736:6;9752:4;9759:10;9700:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;9700:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9700:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9700:70:0;;;;9792:4;9785:11;;;;;9654:154;9469:346;;;;;;;:::o;5398:19::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10041:159::-;10130:17;10167:7;:15;10175:6;10167:15;;;;;;;;;;;;;;;:25;10183:8;10167:25;;;;;;;;;;;;;;;;10160:32;;10041:159;;;;:::o;5890:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;836:192::-;633:5;;;;;;;;;;;619:19;;:10;:19;;;611:28;;;;;;937:1:::1;917:22;;:8;:22;;;;909:31;;;::::0;::::1;;984:8;956:37;;977:5;::::0;::::1;;;;;;;;;956:37;;;;;;;;;;;;1012:8;1004:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;836:192:::0;:::o;8121:421::-;8303:1;8288:17;;:3;:17;;;;8287:45;;;;;8326:4;8311:20;;:3;:20;;;;8287:45;8279:54;;;;;;8363:8;:15;8372:5;8363:15;;;;;;;;;;;;;;;;8352:7;:26;;8344:35;;;;;;8408:28;8428:7;8408:8;:15;8417:5;8408:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8390:8;:15;8399:5;8390:15;;;;;;;;;;;;;;;:46;;;;8463:26;8481:7;8463:8;:13;8472:3;8463:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;8447:8;:13;8456:3;8447:13;;;;;;;;;;;;;;;:42;;;;8521:3;8505:29;;8514:5;8505:29;;;8526:7;8505:29;;;;;;;;;;;;;;;;;;8121:421;;;:::o;11609:386::-;11680:10;6118:4;6088:34;;:16;:28;6105:10;6088:28;;;;;;;;;;;;;;;;;;;;;;;;;:34;;;6080:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11726:1:::1;11707:21;;:7;:21;;;;11699:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11791:8;;11781:6;:18;;11773:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11864:29;11886:6;11864:8;:17;11873:7;11864:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;11844:8;:17;11853:7;11844:17;;;;;;;;;;;;;;;:49;;;;11916:24;11933:6;11916:12;;:16;;:24;;;;:::i;:::-;11901:12;:39;;;;11978:1;11952:37;;11961:7;11952:37;;;11982:6;11952:37;;;;;;;;;;;;;;;;;;11609:386:::0;;;:::o;1876:113::-;1934:7;1962:1;1957;:6;;1950:14;;;;1982:1;1978;:5;1971:12;;1876:113;;;;:::o;2056:133::-;2114:7;2130:9;2146:1;2142;:5;2130:17;;2166:1;2161;:6;;2154:14;;;;2182:1;2175:8;;;2056:133;;;;:::o
Swarm Source
ipfs://d4554ae75f783734c3d98e671bc13db0929ad046dc1547dc46fe962901acf05a
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.