Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Trading
Overview
Max Total Supply
400,000,000 MDX
Holders
3,373 (0.00%)
Market
Price
$0.00 @ 0.000001 ETH (-1.86%)
Onchain Market Cap
$1,109,044.00
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MandalaToken
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: MIT pragma solidity 0.6.12; import './MintableToken.sol'; import './SafeMath.sol'; contract MandalaToken is MintableToken { using SafeMath for uint256; string public constant name = "MANDALA EXCHANGE TOKEN"; string public constant symbol = "MDX"; uint public constant decimals = 18; bool public TRANSFERS_ALLOWED = true; uint256 public constant MAX_TOTAL_SUPPLY = 400000000 * (10 **18); event Burn(address indexed burner, uint256 value); function burnFrom(uint256 _value, address victim) public onlyOwner canMint { require( victim != address(0), "Error - victim address can not equal zero address"); balances[victim] = balances[victim].sub(_value); totalSupply_ = totalSupply().sub(_value); emit Burn(victim, _value); } function burn(uint256 _value) public onlyOwner { balances[msg.sender] = balances[msg.sender].sub(_value); totalSupply_ = totalSupply().sub(_value); emit Burn(msg.sender, _value); } function transferFrom(address _from, address _to, uint256 _value) public override returns (bool) { require(TRANSFERS_ALLOWED || msg.sender == owner, "Error - Transfers Not Allowed"); return super.transferFrom(_from, _to, _value); } function mint(address _to, uint256 _amount) onlyOwner canMint public override returns (bool) { require(totalSupply_.add(_amount) <= MAX_TOTAL_SUPPLY, "Error - Max Total Supply Exceeded"); return super.mint(_to, _amount); } function transfer(address _to, uint256 _value) public override returns (bool){ require(TRANSFERS_ALLOWED || msg.sender == owner, "Error - Transfers Not Allowed"); return super.transfer(_to, _value); } function stopTransfers() public onlyOwner { TRANSFERS_ALLOWED = false; } function resumeTransfers() public onlyOwner { TRANSFERS_ALLOWED = true; } }
// SPDX-License-Identifier: MIT pragma solidity 0.6.12; import "./ERC20Basic.sol"; import "./SafeMath.sol"; /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) public balances; uint256 public totalSupply_; /** * @dev total number of tokens in existence */ function totalSupply() public override view returns (uint256) { return totalSupply_; } /** * @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 override returns (bool) { require(_to != address(0)); // 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; } function balanceOf(address _owner) public override view returns (uint256 balance) { return balances[_owner]; } }
// SPDX-License-Identifier: MIT pragma solidity 0.6.12; import "./ERC20Basic.sol"; /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ abstract contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public virtual view returns (uint256); function transferFrom(address from, address to, uint256 value) public virtual returns (bool); function approve(address spender, uint256 value) public virtual returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); }
// SPDX-License-Identifier: MIT pragma solidity 0.6.12; /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ abstract contract ERC20Basic { function totalSupply() public virtual view returns (uint256); function balanceOf(address who) public virtual view returns (uint256); function transfer(address to, uint256 value) public virtual returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); }
// SPDX-License-Identifier: MIT pragma solidity 0.6.12; import "./StandardToken.sol"; import "./Ownable.sol"; /** * @title Mintable token * @dev Simple ERC20 Token example, with mintable token creation */ contract MintableToken is StandardToken, Ownable { event Mint(address indexed to, uint256 amount); event MintFinished(); bool public mintingFinished = false; modifier canMint() { require(!mintingFinished); _; } /** * @dev Function to mint tokens * @param _to The address that will receive the minted tokens. * @param _amount The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint(address _to, uint256 _amount) onlyOwner canMint public virtual returns (bool) { require( _to != address(0), "Error - To address can not equal zero address"); totalSupply_ = totalSupply_.add(_amount); balances[_to] = balances[_to].add(_amount); emit Mint(_to, _amount); emit Transfer(address(0), _to, _amount); return true; } /** * @dev Function to stop minting new tokens. * @return True if the operation was successful. */ function finishMinting() onlyOwner canMint public returns (bool) { mintingFinished = true; emit MintFinished(); return true; } }
// SPDX-License-Identifier: MIT pragma solidity 0.6.12; /** * @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); _; } /** * @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), "Error - New Address Can Not Be Equal To The Zero Address"); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } }
// SPDX-License-Identifier: MIT pragma solidity 0.6.12; /** * @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; require(c / a == b, "Error Message - Bad Math"); 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 require(b != 0, "Error Message - Bad Math"); return c; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "Error Message - Bad Math"); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "Error Message - Bad Math"); return c; } }
// SPDX-License-Identifier: MIT pragma solidity 0.6.12; import "./BasicToken.sol"; import "./ERC20.sol"; /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) public virtual override returns (bool) { require(_to != address(0), "Error - To Address Can Not Be Equal To The Zero Address"); require( _from != address(0), "Error - Spender Can Not Be Equal To Zero Address"); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].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: * @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 override returns (bool) { require( _spender != address(0), "Error - Spender Can Not Be Equal To Zero Address"); 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 override view returns (uint256) { return allowed[_owner][_spender]; } /** * @dev Increase the amount of tokens that an owner allowed to a 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) * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. */ function increaseApproval(address _spender, uint _addedValue) public returns (bool) { require( _spender != address(0), "Error - Spender address can not equal zero address"); allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) { require( _spender != address(0), "Error - Spender address can not equal zero address"); allowed[msg.sender][_spender] = allowed[msg.sender][_spender].sub(_subtractedValue); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","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"},{"inputs":[],"name":"MAX_TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFERS_ALLOWED","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"address","name":"victim","type":"address"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finishMinting","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mintingFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"resumeTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopTransfers","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":[],"name":"totalSupply_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526000600360146101000a81548160ff0219169083151502179055506001600360156101000a81548160ff02191690831515021790555034801561004657600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061242f806100976000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c357806395d89b411161007c57806395d89b41146105d2578063a9059cbb14610655578063c77a16ed146106b9578063d73dd623146106c3578063dd62ed3e14610727578063f2fde38b1461079f57610158565b806370a08231146104ae57806375a75ba9146105065780637adac0e6146105265780637d64bcb4146105305780638a56f3ee146105505780638da5cb5b1461059e57610158565b8063313ce56711610115578063313ce5671461035e578063324536eb1461037c57806333039d3d1461039a57806340c10f19146103b857806342966c681461041c578063661884631461044a57610158565b806305d2035b1461015d57806306fdde031461017d578063095ea7b31461020057806318160ddd1461026457806323b872dd1461028257806327e235e314610306575b600080fd5b6101656107e3565b60405180821515815260200191505060405180910390f35b6101856107f6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c55780820151818401526020810190506101aa565b50505050905090810190601f1680156101f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61024c6004803603604081101561021657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061082f565b60405180821515815260200191505060405180910390f35b61026c6109a6565b6040518082815260200191505060405180910390f35b6102ee6004803603606081101561029857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109b0565b60405180821515815260200191505060405180910390f35b6103486004803603602081101561031c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa0565b6040518082815260200191505060405180910390f35b610366610ab8565b6040518082815260200191505060405180910390f35b610384610abd565b6040518082815260200191505060405180910390f35b6103a2610ac3565b6040518082815260200191505060405180910390f35b610404600480360360408110156103ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ad3565b60405180821515815260200191505060405180910390f35b6104486004803603602081101561043257600080fd5b8101908080359060200190929190505050610bd4565b005b6104966004803603604081101561046057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d32565b60405180821515815260200191505060405180910390f35b6104f0600480360360208110156104c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fb3565b6040518082815260200191505060405180910390f35b61050e610ffb565b60405180821515815260200191505060405180910390f35b61052e61100e565b005b610538611085565b60405180821515815260200191505060405180910390f35b61059c6004803603604081101561056657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611149565b005b6105a6611348565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105da61136e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561061a5780820151818401526020810190506105ff565b50505050905090810190601f1680156106475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106a16004803603604081101561066b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113a7565b60405180821515815260200191505060405180910390f35b6106c1611495565b005b61070f600480360360408110156106d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061150c565b60405180821515815260200191505060405180910390f35b6107896004803603604081101561073d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061178d565b6040518082815260200191505060405180910390f35b6107e1600480360360208110156107b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611814565b005b600360149054906101000a900460ff1681565b6040518060400160405280601681526020017f4d414e44414c412045584348414e474520544f4b454e0000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806123776030913960400191505060405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b6000600360159054906101000a900460ff1680610a1a5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610a8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4572726f72202d205472616e7366657273204e6f7420416c6c6f77656400000081525060200191505060405180910390fd5b610a978484846119b4565b90509392505050565b60006020528060005260406000206000915090505481565b601281565b60015481565b6b014adf4b7320334b9000000081565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b2f57600080fd5b600360149054906101000a900460ff1615610b4957600080fd5b6b014adf4b7320334b90000000610b6b83600154611d6690919063ffffffff16565b1115610bc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806123d96021913960400191505060405180910390fd5b610bcc8383611dee565b905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c2e57600080fd5b610c7f816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cdb81610ccd6109a6565b61205690919063ffffffff16565b6001819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610db9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806123a76032913960400191505060405180910390fd5b610e4882600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360159054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461106857600080fd5b6000600360156101000a81548160ff021916908315150217905550565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110e157600080fd5b600360149054906101000a900460ff16156110fb57600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111a357600080fd5b600360149054906101000a900460ff16156111bd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611243576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806122aa6031913960400191505060405180910390fd5b611294826000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112f0826112e26109a6565b61205690919063ffffffff16565b6001819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600381526020017f4d4458000000000000000000000000000000000000000000000000000000000081525081565b6000600360159054906101000a900460ff16806114115750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611483576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4572726f72202d205472616e7366657273204e6f7420416c6c6f77656400000081525060200191505060405180910390fd5b61148d83836120d9565b905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114ef57600080fd5b6001600360156101000a81548160ff021916908315150217905550565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611593576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806123a76032913960400191505060405180910390fd5b61162282600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461186e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806123126038913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806122db6037913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806123776030913960400191505060405180910390fd5b611b12826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ba5826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c7682600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080828401905083811015611de4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4572726f72204d657373616765202d20426164204d617468000000000000000081525060200191505060405180910390fd5b8091505092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e4a57600080fd5b600360149054906101000a900460ff1615611e6457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611eea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018061234a602d913960400191505060405180910390fd5b611eff82600154611d6690919063ffffffff16565b600181905550611f56826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000828211156120ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4572726f72204d657373616765202d20426164204d617468000000000000000081525060200191505060405180910390fd5b818303905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561211457600080fd5b612165826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121f8826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509291505056fe4572726f72202d2076696374696d20616464726573732063616e206e6f7420657175616c207a65726f20616464726573734572726f72202d20546f20416464726573732043616e204e6f7420426520457175616c20546f20546865205a65726f20416464726573734572726f72202d204e657720416464726573732043616e204e6f7420426520457175616c20546f20546865205a65726f20416464726573734572726f72202d20546f20616464726573732063616e206e6f7420657175616c207a65726f20616464726573734572726f72202d205370656e6465722043616e204e6f7420426520457175616c20546f205a65726f20416464726573734572726f72202d205370656e64657220616464726573732063616e206e6f7420657175616c207a65726f20616464726573734572726f72202d204d617820546f74616c20537570706c79204578636565646564a26469706673582212203254a6329b9687cf32e33e9520f9583e30ff980c03d0d85300c5f9c55ac5903564736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c357806395d89b411161007c57806395d89b41146105d2578063a9059cbb14610655578063c77a16ed146106b9578063d73dd623146106c3578063dd62ed3e14610727578063f2fde38b1461079f57610158565b806370a08231146104ae57806375a75ba9146105065780637adac0e6146105265780637d64bcb4146105305780638a56f3ee146105505780638da5cb5b1461059e57610158565b8063313ce56711610115578063313ce5671461035e578063324536eb1461037c57806333039d3d1461039a57806340c10f19146103b857806342966c681461041c578063661884631461044a57610158565b806305d2035b1461015d57806306fdde031461017d578063095ea7b31461020057806318160ddd1461026457806323b872dd1461028257806327e235e314610306575b600080fd5b6101656107e3565b60405180821515815260200191505060405180910390f35b6101856107f6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c55780820151818401526020810190506101aa565b50505050905090810190601f1680156101f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61024c6004803603604081101561021657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061082f565b60405180821515815260200191505060405180910390f35b61026c6109a6565b6040518082815260200191505060405180910390f35b6102ee6004803603606081101561029857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109b0565b60405180821515815260200191505060405180910390f35b6103486004803603602081101561031c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa0565b6040518082815260200191505060405180910390f35b610366610ab8565b6040518082815260200191505060405180910390f35b610384610abd565b6040518082815260200191505060405180910390f35b6103a2610ac3565b6040518082815260200191505060405180910390f35b610404600480360360408110156103ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ad3565b60405180821515815260200191505060405180910390f35b6104486004803603602081101561043257600080fd5b8101908080359060200190929190505050610bd4565b005b6104966004803603604081101561046057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d32565b60405180821515815260200191505060405180910390f35b6104f0600480360360208110156104c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fb3565b6040518082815260200191505060405180910390f35b61050e610ffb565b60405180821515815260200191505060405180910390f35b61052e61100e565b005b610538611085565b60405180821515815260200191505060405180910390f35b61059c6004803603604081101561056657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611149565b005b6105a6611348565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105da61136e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561061a5780820151818401526020810190506105ff565b50505050905090810190601f1680156106475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106a16004803603604081101561066b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113a7565b60405180821515815260200191505060405180910390f35b6106c1611495565b005b61070f600480360360408110156106d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061150c565b60405180821515815260200191505060405180910390f35b6107896004803603604081101561073d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061178d565b6040518082815260200191505060405180910390f35b6107e1600480360360208110156107b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611814565b005b600360149054906101000a900460ff1681565b6040518060400160405280601681526020017f4d414e44414c412045584348414e474520544f4b454e0000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806123776030913960400191505060405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b6000600360159054906101000a900460ff1680610a1a5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610a8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4572726f72202d205472616e7366657273204e6f7420416c6c6f77656400000081525060200191505060405180910390fd5b610a978484846119b4565b90509392505050565b60006020528060005260406000206000915090505481565b601281565b60015481565b6b014adf4b7320334b9000000081565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b2f57600080fd5b600360149054906101000a900460ff1615610b4957600080fd5b6b014adf4b7320334b90000000610b6b83600154611d6690919063ffffffff16565b1115610bc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806123d96021913960400191505060405180910390fd5b610bcc8383611dee565b905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c2e57600080fd5b610c7f816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cdb81610ccd6109a6565b61205690919063ffffffff16565b6001819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610db9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806123a76032913960400191505060405180910390fd5b610e4882600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360159054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461106857600080fd5b6000600360156101000a81548160ff021916908315150217905550565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110e157600080fd5b600360149054906101000a900460ff16156110fb57600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111a357600080fd5b600360149054906101000a900460ff16156111bd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611243576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806122aa6031913960400191505060405180910390fd5b611294826000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112f0826112e26109a6565b61205690919063ffffffff16565b6001819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600381526020017f4d4458000000000000000000000000000000000000000000000000000000000081525081565b6000600360159054906101000a900460ff16806114115750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611483576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4572726f72202d205472616e7366657273204e6f7420416c6c6f77656400000081525060200191505060405180910390fd5b61148d83836120d9565b905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114ef57600080fd5b6001600360156101000a81548160ff021916908315150217905550565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611593576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806123a76032913960400191505060405180910390fd5b61162282600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461186e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806123126038913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806122db6037913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806123776030913960400191505060405180910390fd5b611b12826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ba5826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c7682600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080828401905083811015611de4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4572726f72204d657373616765202d20426164204d617468000000000000000081525060200191505060405180910390fd5b8091505092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e4a57600080fd5b600360149054906101000a900460ff1615611e6457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611eea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018061234a602d913960400191505060405180910390fd5b611eff82600154611d6690919063ffffffff16565b600181905550611f56826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000828211156120ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4572726f72204d657373616765202d20426164204d617468000000000000000081525060200191505060405180910390fd5b818303905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561211457600080fd5b612165826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121f8826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509291505056fe4572726f72202d2076696374696d20616464726573732063616e206e6f7420657175616c207a65726f20616464726573734572726f72202d20546f20416464726573732043616e204e6f7420426520457175616c20546f20546865205a65726f20416464726573734572726f72202d204e657720416464726573732043616e204e6f7420426520457175616c20546f20546865205a65726f20416464726573734572726f72202d20546f20616464726573732063616e206e6f7420657175616c207a65726f20616464726573734572726f72202d205370656e6465722043616e204e6f7420426520457175616c20546f205a65726f20416464726573734572726f72202d205370656e64657220616464726573732063616e206e6f7420657175616c207a65726f20616464726573734572726f72202d204d617820546f74616c20537570706c79204578636565646564a26469706673582212203254a6329b9687cf32e33e9520f9583e30ff980c03d0d85300c5f9c55ac5903564736f6c634300060c0033
Deployed Bytecode Sourcemap
113:1849:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;339:35:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;191:54:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1663:288:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;407:92:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1048:252:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;271:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;296:36:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;319:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;381:64:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1307:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;832:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3616:364:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1006:116:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;338:37:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1784:84;;;:::i;:::-;;1161:140:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;508:318:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;269:20:5;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;251:39:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1557:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1874:85;;;:::i;:::-;;2830:354:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2270:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;858:234:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;339:35:4;;;;;;;;;;;;;:::o;191:54:3:-;;;;;;;;;;;;;;;;;;;:::o;1663:288:7:-;1739:4;1780:1;1760:22;;:8;:22;;;;1751:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:6;1841:7;:19;1849:10;1841:19;;;;;;;;;;;;;;;:29;1861:8;1841:29;;;;;;;;;;;;;;;:38;;;;1912:8;1891:38;;1900:10;1891:38;;;1922:6;1891:38;;;;;;;;;;;;;;;;;;1942:4;1935:11;;1663:288;;;;:::o;407:92:0:-;460:7;482:12;;475:19;;407:92;:::o;1048:252:3:-;1139:4;1163:17;;;;;;;;;;;:40;;;;1198:5;;;;;;;;;;;1184:19;;:10;:19;;;1163:40;1155:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1255:38;1274:5;1281:3;1286:6;1255:18;:38::i;:::-;1248:45;;1048:252;;;;;:::o;271:43:0:-;;;;;;;;;;;;;;;;;:::o;296:36:3:-;330:2;296:36;:::o;319:27:0:-;;;;:::o;381:64:3:-;424:21;381:64;:::o;1307:243::-;1394:4;679:5:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;414:15:4::1;;;;;;;;;;;413:16;405:25;;;::::0;::::1;;424:21:3::2;1418:25;1435:7;1418:12;;:16;;:25;;;;:::i;:::-;:45;;1410:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1519:24;1530:3;1535:7;1519:10;:24::i;:::-;1512:31;;1307:243:::0;;;;:::o;832:210::-;679:5:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;913:32:3::1;938:6;913:8;:20:::0;922:10:::1;913:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;890:8;:20:::0;899:10:::1;890:20;;;;;;;;;;;;;;;:55;;;;970:25;988:6;970:13;:11;:13::i;:::-;:17;;:25;;;;:::i;:::-;955:12;:40;;;;1016:10;1011:24;;;1028:6;1011:24;;;;;;;;;;;;;;;;;;832:210:::0;:::o;3616:364:7:-;3699:4;3740:1;3720:22;;:8;:22;;;;3711:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3835:51;3869:16;3835:7;:19;3843:10;3835:19;;;;;;;;;;;;;;;:29;3855:8;3835:29;;;;;;;;;;;;;;;;:33;;:51;;;;:::i;:::-;3803:7;:19;3811:10;3803:19;;;;;;;;;;;;;;;:29;3823:8;3803:29;;;;;;;;;;;;;;;:83;;;;3918:8;3897:61;;3906:10;3897:61;;;3928:7;:19;3936:10;3928:19;;;;;;;;;;;;;;;:29;3948:8;3928:29;;;;;;;;;;;;;;;;3897:61;;;;;;;;;;;;;;;;;;3971:4;3964:11;;3616:364;;;;:::o;1006:116:0:-;1071:15;1101:8;:16;1110:6;1101:16;;;;;;;;;;;;;;;;1094:23;;1006:116;;;:::o;338:37:3:-;;;;;;;;;;;;;:::o;1784:84::-;679:5:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;1856:5:3::1;1836:17;;:25;;;;;;;;;;;;;;;;;;1784:84::o:0;1161:140:4:-;1220:4;679:5:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;414:15:4::1;;;;;;;;;;;413:16;405:25;;;::::0;::::1;;1250:4:::2;1232:15;;:22;;;;;;;;;;;;;;;;;;1265:14;;;;;;;;;;1292:4;1285:11;;1161:140:::0;:::o;508:318:3:-;679:5:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;414:15:4::1;;;;;;;;;;;413:16;405:25;;;::::0;::::1;;620:1:3::2;602:20;;:6;:20;;;;593:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;705:28;726:6;705:8;:16:::0;714:6:::2;705:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;686:8;:16:::0;695:6:::2;686:16;;;;;;;;;;;;;;;:47;;;;758:25;776:6;758:13;:11;:13::i;:::-;:17;;:25;;;;:::i;:::-;743:12;:40;;;;804:6;799:20;;;812:6;799:20;;;;;;;;;;;;;;;;;;508:318:::0;;:::o;269:20:5:-;;;;;;;;;;;;;:::o;251:39:3:-;;;;;;;;;;;;;;;;;;;:::o;1557:221::-;1629:4;1652:17;;;;;;;;;;;:40;;;;1687:5;;;;;;;;;;;1673:19;;:10;:19;;;1652:40;1644:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1744:27;1759:3;1764:6;1744:14;:27::i;:::-;1737:34;;1557:221;;;;:::o;1874:85::-;679:5:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;1948:4:3::1;1928:17;;:24;;;;;;;;;;;;;;;;;;1874:85::o:0;2830:354:7:-;2908:4;2949:1;2929:22;;:8;:22;;;;2920:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3044:46;3078:11;3044:7;:19;3052:10;3044:19;;;;;;;;;;;;;;;:29;3064:8;3044:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;3012:7;:19;3020:10;3012:19;;;;;;;;;;;;;;;:29;3032:8;3012:29;;;;;;;;;;;;;;;:78;;;;3122:8;3101:61;;3110:10;3101:61;;;3132:7;:19;3140:10;3132:19;;;;;;;;;;;;;;;:29;3152:8;3132:29;;;;;;;;;;;;;;;;3101:61;;;;;;;;;;;;;;;;;;3175:4;3168:11;;2830:354;;;;:::o;2270:135::-;2353:7;2375;:15;2383:6;2375:15;;;;;;;;;;;;;;;:25;2391:8;2375:25;;;;;;;;;;;;;;;;2368:32;;2270:135;;;;:::o;858:234:5:-;679:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;954:1:::1;934:22;;:8;:22;;;;926:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1056:8;1028:37;;1049:5;;;;;;;;;;;1028:37;;;;;;;;;;;;1079:8;1071:5;;:16;;;;;;;;;;;;;;;;;;858:234:::0;:::o;594:517:7:-;693:4;728:1;713:17;;:3;:17;;;;705:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;822:1;805:19;;:5;:19;;;;796:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;902:27;922:6;902:8;:15;911:5;902:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;884:8;:15;893:5;884:15;;;;;;;;;;;;;;;:45;;;;951:25;969:6;951:8;:13;960:3;951:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;935:8;:13;944:3;935:13;;;;;;;;;;;;;;;:41;;;;1011:38;1042:6;1011:7;:14;1019:5;1011:14;;;;;;;;;;;;;;;:26;1026:10;1011:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;982:7;:14;990:5;982:14;;;;;;;;;;;;;;;:26;997:10;982:26;;;;;;;;;;;;;;;:67;;;;1077:3;1061:28;;1070:5;1061:28;;;1082:6;1061:28;;;;;;;;;;;;;;;;;;1102:4;1095:11;;594:517;;;;;:::o;1146:158:6:-;1204:7;1219:9;1235:1;1231;:5;1219:17;;1255:1;1250;:6;;1242:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1298:1;1291:8;;;1146:158;;;;:::o;678:369:4:-;764:4;679:5:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;414:15:4::1;;;;;;;;;;;413:16;405:25;;;::::0;::::1;;800:1:::2;785:17;;:3;:17;;;;776:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;878:25;895:7;878:12;;:16;;:25;;;;:::i;:::-;863:12;:40;;;;925:26;943:7;925:8;:13:::0;934:3:::2;925:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;909:8;:13:::0;918:3:::2;909:13;;;;;;;;;;;;;;;:42;;;;967:3;962:18;;;972:7;962:18;;;;;;;;;;;;;;;;;;1012:3;991:34;;1008:1;991:34;;;1017:7;991:34;;;;;;;;;;;;;;;;;;1038:4;1031:11;;678:369:::0;;;;:::o;945:139:6:-;1003:7;1031:1;1026;:6;;1018:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1078:1;1074;:5;1067:12;;945:139;;;;:::o;653:348:0:-;725:4;760:1;745:17;;:3;:17;;;;737:26;;;;;;856:32;881:6;856:8;:20;865:10;856:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;833:8;:20;842:10;833:20;;;;;;;;;;;;;;;:55;;;;910:25;928:6;910:8;:13;919:3;910:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;894:8;:13;903:3;894:13;;;;;;;;;;;;;;;:41;;;;967:3;946:33;;955:10;946:33;;;972:6;946:33;;;;;;;;;;;;;;;;;;992:4;985:11;;653:348;;;;:::o
Swarm Source
ipfs://3254a6329b9687cf32e33e9520f9583e30ff980c03d0d85300c5f9c55ac59035
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.