ERC-20
Source Code
Overview
Max Total Supply
100,000,000 MFUND
Holders
963
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000001 MFUNDValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
Memefund
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-06-24
*/
// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0 <0.8.0;
library SafeMaths {
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting on
* overflow (when the result is negative).
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a, "SafeMath: subtraction overflow");
uint256 c = a - b;
return c;
}
/**
* @dev Returns the multiplication of two unsigned integers, reverting 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, "SafeMath: multiplication overflow");
return c;
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts on
* division by zero. The result is rounded towards zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
require(b > 0, "SafeMath: division by zero");
uint256 c = a / b;
return c;
}
}
contract Memefund {
using SafeMaths for uint256;
address public rebaseOracle; // Used for authentication
address public owner; // Used for authentication
address public newOwner;
uint8 public decimals;
uint256 public totalSupply;
string public name;
string public symbol;
uint256 private constant MAX_UINT256 = ~uint256(0); // (2^256) - 1
uint256 private constant MAXSUPPLY = ~uint128(0); // (2^128) - 1
uint256 private totalAtoms;
uint256 private atomsPerMolecule;
mapping (address => uint256) private atomBalances;
mapping (address => mapping (address => uint256)) private allowedMolecules;
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
event LogRebase(uint256 _totalSupply);
event LogNewRebaseOracle(address _rebaseOracle);
event OwnershipTransferred(address indexed _from, address indexed _to);
constructor() public
{
decimals = 9; // decimals
totalSupply = 100000000*10**9; // initialSupply
name = "Memefund"; // Set the name for display purposes
symbol = "MFUND"; // Set the symbol for display purposes
owner = msg.sender;
totalAtoms = MAX_UINT256 - (MAX_UINT256 % totalSupply); // totalAtoms is a multiple of totalSupply so that atomsPerMolecule is an integer.
atomBalances[msg.sender] = totalAtoms;
atomsPerMolecule = totalAtoms.div(totalSupply);
emit Transfer(address(0), msg.sender, totalSupply);
}
/**
* @param newRebaseOracle The address of the new oracle for rebasement (used for authentication).
*/
function setRebaseOracle(address newRebaseOracle) external {
require(msg.sender == owner, "Can only be executed by owner.");
rebaseOracle = newRebaseOracle;
emit LogNewRebaseOracle(rebaseOracle);
}
/**
* @dev Propose a new owner.
* @param _newOwner The address of the new owner.
*/
function transferOwnership(address _newOwner) public
{
require(msg.sender == owner, "Can only be executed by owner.");
require(_newOwner != address(0), "0x00 address not allowed.");
newOwner = _newOwner;
}
/**
* @dev Accept new owner.
*/
function acceptOwnership() public
{
require(msg.sender == newOwner, "Sender not authorized.");
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
newOwner = address(0);
}
/**
* @dev Notifies Benchmark contract about a new rebase cycle.
* @param supplyDelta The number of new molecule tokens to add into or remove from circulation.
* @param increaseSupply Whether to increase or decrease the total supply.
* @return The total number of molecules after the supply adjustment.
*/
function rebase(uint256 supplyDelta, bool increaseSupply) external returns (uint256) {
require(msg.sender == rebaseOracle, "Can only be executed by rebaseOracle.");
if (supplyDelta == 0) {
emit LogRebase(totalSupply);
return totalSupply;
}
if (increaseSupply == true) {
totalSupply = totalSupply.add(supplyDelta);
} else {
totalSupply = totalSupply.sub(supplyDelta);
}
if (totalSupply > MAXSUPPLY) {
totalSupply = MAXSUPPLY;
}
atomsPerMolecule = totalAtoms.div(totalSupply);
emit LogRebase(totalSupply);
return totalSupply;
}
/**
* @param who The address to query.
* @return The balance of the specified address.
*/
function balanceOf(address who) public view returns (uint256) {
return atomBalances[who].div(atomsPerMolecule);
}
/**
* @dev Transfer tokens to a specified address.
* @param to The address to transfer to.
* @param value The amount to be transferred.
* @return True on success, false otherwise.
*/
function transfer(address to, uint256 value) public returns (bool) {
require(to != address(0),"Invalid address.");
require(to != address(this),"Molecules contract can't receive MARK.");
uint256 atomValue = value.mul(atomsPerMolecule);
atomBalances[msg.sender] = atomBalances[msg.sender].sub(atomValue);
atomBalances[to] = atomBalances[to].add(atomValue);
emit Transfer(msg.sender, to, value);
return true;
}
/**
* @dev Function to check the amount of tokens that an owner has allowed to a spender.
* @param owner_ The address which owns the funds.
* @param spender The address which will spend the funds.
* @return The number of tokens still available for the spender.
*/
function allowance(address owner_, address spender) public view returns (uint256) {
return allowedMolecules[owner_][spender];
}
/**
* @dev Transfer tokens from one address to another.
* @param from The address you want to send tokens from.
* @param to The address you want to transfer to.
* @param value The amount of tokens to be transferred.
*/
function transferFrom(address from, address to, uint256 value) public returns (bool) {
require(to != address(0),"Invalid address.");
require(to != address(this),"Molecules contract can't receive MARK.");
allowedMolecules[from][msg.sender] = allowedMolecules[from][msg.sender].sub(value);
uint256 atomValue = value.mul(atomsPerMolecule);
atomBalances[from] = atomBalances[from].sub(atomValue);
atomBalances[to] = atomBalances[to].add(atomValue);
emit Transfer(from, to, value);
return true;
}
/**
* @dev Approve the passed address to spend the specified amount of tokens on behalf of
* msg.sender. This method is included for ERC20 compatibility.
* IncreaseAllowance and decreaseAllowance should be used instead.
* @param spender The address which will spend the funds.
* @param value The amount of tokens to be spent.
*/
function approve(address spender, uint256 value) public returns (bool) {
allowedMolecules[msg.sender][spender] = value;
emit Approval(msg.sender, spender, value);
return true;
}
/**
* @dev Increase the amount of tokens that an owner has allowed to a spender.
* This method should be used instead of approve() to avoid the double approval vulnerability.
* @param spender The address which will spend the funds.
* @param addedValue The amount of tokens to increase the allowance by.
*/
function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
allowedMolecules[msg.sender][spender] = allowedMolecules[msg.sender][spender].add(addedValue);
emit Approval(msg.sender, spender, allowedMolecules[msg.sender][spender]);
return true;
}
/**
* @dev Decrease the amount of tokens that an owner has allowed to a spender.
* @param spender The address which will spend the funds.
* @param subtractedValue The amount of tokens to decrease the allowance by.
*/
function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
uint256 oldValue = allowedMolecules[msg.sender][spender];
if (subtractedValue >= oldValue) {
allowedMolecules[msg.sender][spender] = 0;
} else {
allowedMolecules[msg.sender][spender] = oldValue.sub(subtractedValue);
}
emit Approval(msg.sender, spender, allowedMolecules[msg.sender][spender]);
return true;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"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":false,"internalType":"address","name":"_rebaseOracle","type":"address"}],"name":"LogNewRebaseOracle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"name":"LogRebase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","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":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","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":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"supplyDelta","type":"uint256"},{"internalType":"bool","name":"increaseSupply","type":"bool"}],"name":"rebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rebaseOracle","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newRebaseOracle","type":"address"}],"name":"setRebaseOracle","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":"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
60806040523480156200001157600080fd5b506009600260146101000a81548160ff021916908360ff16021790555067016345785d8a00006003819055506040518060400160405280600881526020017f4d656d6566756e64000000000000000000000000000000000000000000000000815250600490805190602001906200008a9291906200029c565b506040518060400160405280600581526020017f4d46554e4400000000000000000000000000000000000000000000000000000081525060059080519060200190620000d89291906200029c565b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600019816200012857fe5b0660001903600681905550600654600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001976003546006546200020b60201b62001cac1790919060201c565b6007819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040518082815260200191505060405180910390a362000342565b600080821162000283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b60008284816200028f57fe5b0490508091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002df57805160ff191683800117855562000310565b8280016001018555821562000310579182015b828111156200030f578251825591602001919060010190620002f2565b5b5090506200031f919062000323565b5090565b5b808211156200033e57600081600090555060010162000324565b5090565b611f7480620003526000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063d4ee1d9011610071578063d4ee1d901461054e578063dd07a2a314610582578063dd62ed3e146105d0578063f2fde38b14610648578063f905448d1461068c57610116565b80638da5cb5b146103cf57806395d89b4114610403578063a457c2d714610486578063a9059cbb146104ea57610116565b8063313ce567116100e9578063313ce567146102a457806339509351146102c5578063644c156b1461032957806370a082311461036d57806379ba5097146103c557610116565b806306fdde031461011b578063095ea7b31461019e57806318160ddd1461020257806323b872dd14610220575b600080fd5b6101236106c0565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610163578082015181840152602081019050610148565b50505050905090810190601f1680156101905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ea600480360360408110156101b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061075e565b60405180821515815260200191505060405180910390f35b61020a610850565b6040518082815260200191505060405180910390f35b61028c6004803603606081101561023657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610856565b60405180821515815260200191505060405180910390f35b6102ac610c42565b604051808260ff16815260200191505060405180910390f35b610311600480360360408110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c55565b60405180821515815260200191505060405180910390f35b61036b6004803603602081101561033f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e51565b005b6103af6004803603602081101561038357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fc4565b6040518082815260200191505060405180910390f35b6103cd611021565b005b6103d7611229565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61040b61124f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561044b578082015181840152602081019050610430565b50505050905090810190601f1680156104785780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104d26004803603604081101561049c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112ed565b60405180821515815260200191505060405180910390f35b6105366004803603604081101561050057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061157d565b60405180821515815260200191505060405180910390f35b610556611859565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105ba6004803603604081101561059857600080fd5b810190808035906020019092919080351515906020019092919050505061187f565b6040518082815260200191505060405180910390f35b610632600480360360408110156105e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a57565b6040518082815260200191505060405180910390f35b61068a6004803603602081101561065e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ade565b005b610694611c88565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107565780601f1061072b57610100808354040283529160200191610756565b820191906000526020600020905b81548152906001019060200180831161073957829003601f168201915b505050505081565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60035481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f496e76616c696420616464726573732e0000000000000000000000000000000081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561097f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611ef86026913960400191505060405180910390fd5b610a0e82600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3b90919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610aa560075484611dc490919063ffffffff16565b9050610af981600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3b90919063ffffffff16565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b8e81600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4a90919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600260149054906101000a900460ff1681565b6000610ce682600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4a90919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f43616e206f6e6c79206265206578656375746564206279206f776e65722e000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f22b25066c51ea7127ee35cd450c8903c071037ac478564ba60a09d01958c922660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600061101a600754600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cac90919063ffffffff16565b9050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f53656e646572206e6f7420617574686f72697a65642e0000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112e55780601f106112ba576101008083540402835291602001916112e5565b820191906000526020600020905b8154815290600101906020018083116112c857829003601f168201915b505050505081565b600080600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083106113fd576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611491565b6114108382611d3b90919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611621576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f496e76616c696420616464726573732e0000000000000000000000000000000081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116a6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611ef86026913960400191505060405180910390fd5b60006116bd60075484611dc490919063ffffffff16565b905061171181600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3b90919063ffffffff16565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117a681600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4a90919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611926576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611ed36025913960400191505060405180910390fd5b6000831415611972577f60633057fb2c2558942a126acc1dc7c639b6fdee660a0171f7500e2ac5918b2e6003546040518082815260200191505060405180910390a16003549050611a51565b60011515821515141561199f5761199483600354611e4a90919063ffffffff16565b6003819055506119bb565b6119b483600354611d3b90919063ffffffff16565b6003819055505b6000196fffffffffffffffffffffffffffffffff1660035411156119f5576000196fffffffffffffffffffffffffffffffff166003819055505b611a0c600354600654611cac90919063ffffffff16565b6007819055507f60633057fb2c2558942a126acc1dc7c639b6fdee660a0171f7500e2ac5918b2e6003546040518082815260200191505060405180910390a160035490505b92915050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ba1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f43616e206f6e6c79206265206578656375746564206279206f776e65722e000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f307830302061646472657373206e6f7420616c6c6f7765642e0000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808211611d23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b6000828481611d2e57fe5b0490508091505092915050565b600082821115611db3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080831415611dd75760009050611e44565b6000828402905082848281611de857fe5b0414611e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611f1e6021913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015611ec8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe43616e206f6e6c79206265206578656375746564206279207265626173654f7261636c652e4d6f6c6563756c657320636f6e74726163742063616e27742072656365697665204d41524b2e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122083aa968bece01e9e664a042bfdc067ca789bd72ed6fb18a15be667a007c7fca964736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063d4ee1d9011610071578063d4ee1d901461054e578063dd07a2a314610582578063dd62ed3e146105d0578063f2fde38b14610648578063f905448d1461068c57610116565b80638da5cb5b146103cf57806395d89b4114610403578063a457c2d714610486578063a9059cbb146104ea57610116565b8063313ce567116100e9578063313ce567146102a457806339509351146102c5578063644c156b1461032957806370a082311461036d57806379ba5097146103c557610116565b806306fdde031461011b578063095ea7b31461019e57806318160ddd1461020257806323b872dd14610220575b600080fd5b6101236106c0565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610163578082015181840152602081019050610148565b50505050905090810190601f1680156101905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ea600480360360408110156101b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061075e565b60405180821515815260200191505060405180910390f35b61020a610850565b6040518082815260200191505060405180910390f35b61028c6004803603606081101561023657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610856565b60405180821515815260200191505060405180910390f35b6102ac610c42565b604051808260ff16815260200191505060405180910390f35b610311600480360360408110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c55565b60405180821515815260200191505060405180910390f35b61036b6004803603602081101561033f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e51565b005b6103af6004803603602081101561038357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fc4565b6040518082815260200191505060405180910390f35b6103cd611021565b005b6103d7611229565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61040b61124f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561044b578082015181840152602081019050610430565b50505050905090810190601f1680156104785780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104d26004803603604081101561049c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112ed565b60405180821515815260200191505060405180910390f35b6105366004803603604081101561050057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061157d565b60405180821515815260200191505060405180910390f35b610556611859565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105ba6004803603604081101561059857600080fd5b810190808035906020019092919080351515906020019092919050505061187f565b6040518082815260200191505060405180910390f35b610632600480360360408110156105e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a57565b6040518082815260200191505060405180910390f35b61068a6004803603602081101561065e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ade565b005b610694611c88565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107565780601f1061072b57610100808354040283529160200191610756565b820191906000526020600020905b81548152906001019060200180831161073957829003601f168201915b505050505081565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60035481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f496e76616c696420616464726573732e0000000000000000000000000000000081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561097f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611ef86026913960400191505060405180910390fd5b610a0e82600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3b90919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610aa560075484611dc490919063ffffffff16565b9050610af981600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3b90919063ffffffff16565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b8e81600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4a90919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600260149054906101000a900460ff1681565b6000610ce682600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4a90919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f43616e206f6e6c79206265206578656375746564206279206f776e65722e000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f22b25066c51ea7127ee35cd450c8903c071037ac478564ba60a09d01958c922660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600061101a600754600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cac90919063ffffffff16565b9050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f53656e646572206e6f7420617574686f72697a65642e0000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112e55780601f106112ba576101008083540402835291602001916112e5565b820191906000526020600020905b8154815290600101906020018083116112c857829003601f168201915b505050505081565b600080600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083106113fd576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611491565b6114108382611d3b90919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611621576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f496e76616c696420616464726573732e0000000000000000000000000000000081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116a6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611ef86026913960400191505060405180910390fd5b60006116bd60075484611dc490919063ffffffff16565b905061171181600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3b90919063ffffffff16565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117a681600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4a90919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611926576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611ed36025913960400191505060405180910390fd5b6000831415611972577f60633057fb2c2558942a126acc1dc7c639b6fdee660a0171f7500e2ac5918b2e6003546040518082815260200191505060405180910390a16003549050611a51565b60011515821515141561199f5761199483600354611e4a90919063ffffffff16565b6003819055506119bb565b6119b483600354611d3b90919063ffffffff16565b6003819055505b6000196fffffffffffffffffffffffffffffffff1660035411156119f5576000196fffffffffffffffffffffffffffffffff166003819055505b611a0c600354600654611cac90919063ffffffff16565b6007819055507f60633057fb2c2558942a126acc1dc7c639b6fdee660a0171f7500e2ac5918b2e6003546040518082815260200191505060405180910390a160035490505b92915050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ba1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f43616e206f6e6c79206265206578656375746564206279206f776e65722e000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f307830302061646472657373206e6f7420616c6c6f7765642e0000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808211611d23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b6000828481611d2e57fe5b0490508091505092915050565b600082821115611db3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080831415611dd75760009050611e44565b6000828402905082848281611de857fe5b0414611e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611f1e6021913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015611ec8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe43616e206f6e6c79206265206578656375746564206279207265626173654f7261636c652e4d6f6c6563756c657320636f6e74726163742063616e27742072656365697665204d41524b2e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122083aa968bece01e9e664a042bfdc067ca789bd72ed6fb18a15be667a007c7fca964736f6c634300060c0033
Deployed Bytecode Sourcemap
1447:8050:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1737:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7889:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1704:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6929:582;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1676:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8449:306;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3331:231;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5385:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3976:227;;;:::i;:::-;;1577:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1762;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9009:485;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5738:481;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1644:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4552:712;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6526:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3677:242;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1510:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1737:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7889:211::-;7954:4;8011:5;7971:16;:28;7988:10;7971:28;;;;;;;;;;;;;;;:37;8000:7;7971:37;;;;;;;;;;;;;;;:45;;;;8055:7;8034:36;;8043:10;8034:36;;;8064:5;8034:36;;;;;;;;;;;;;;;;;;8088:4;8081:11;;7889:211;;;;:::o;1704:26::-;;;;:::o;6929:582::-;7008:4;7047:1;7033:16;;:2;:16;;;;7025:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7102:4;7088:19;;:2;:19;;;;7080:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7199:45;7238:5;7199:16;:22;7216:4;7199:22;;;;;;;;;;;;;;;:34;7222:10;7199:34;;;;;;;;;;;;;;;;:38;;:45;;;;:::i;:::-;7162:16;:22;7179:4;7162:22;;;;;;;;;;;;;;;:34;7185:10;7162:34;;;;;;;;;;;;;;;:82;;;;7257:17;7277:27;7287:16;;7277:5;:9;;:27;;;;:::i;:::-;7257:47;;7336:33;7359:9;7336:12;:18;7349:4;7336:18;;;;;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;7315:12;:18;7328:4;7315:18;;;;;;;;;;;;;;;:54;;;;7399:31;7420:9;7399:12;:16;7412:2;7399:16;;;;;;;;;;;;;;;;:20;;:31;;;;:::i;:::-;7380:12;:16;7393:2;7380:16;;;;;;;;;;;;;;;:50;;;;7471:2;7456:25;;7465:4;7456:25;;;7475:5;7456:25;;;;;;;;;;;;;;;;;;7499:4;7492:11;;;6929:582;;;;;:::o;1676:21::-;;;;;;;;;;;;;:::o;8449:306::-;8529:4;8586:53;8628:10;8586:16;:28;8603:10;8586:28;;;;;;;;;;;;;;;:37;8615:7;8586:37;;;;;;;;;;;;;;;;:41;;:53;;;;:::i;:::-;8546:16;:28;8563:10;8546:28;;;;;;;;;;;;;;;:37;8575:7;8546:37;;;;;;;;;;;;;;;:93;;;;8678:7;8657:68;;8666:10;8657:68;;;8687:16;:28;8704:10;8687:28;;;;;;;;;;;;;;;:37;8716:7;8687:37;;;;;;;;;;;;;;;;8657:68;;;;;;;;;;;;;;;;;;8743:4;8736:11;;8449:306;;;;:::o;3331:231::-;3423:5;;;;;;;;;;;3409:19;;:10;:19;;;3401:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3489:15;3474:12;;:30;;;;;;;;;;;;;;;;;;3522:32;3541:12;;;;;;;;;;3522:32;;;;;;;;;;;;;;;;;;;;3331:231;:::o;5385:127::-;5438:7;5465:39;5487:16;;5465:12;:17;5478:3;5465:17;;;;;;;;;;;;;;;;:21;;:39;;;;:::i;:::-;5458:46;;5385:127;;;:::o;3976:227::-;4048:8;;;;;;;;;;;4034:22;;:10;:22;;;4026:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4127:8;;;;;;;;;;;4099:37;;4120:5;;;;;;;;;;;4099:37;;;;;;;;;;;;4155:8;;;;;;;;;;;4147:5;;:16;;;;;;;;;;;;;;;;;;4193:1;4174:8;;:21;;;;;;;;;;;;;;;;;;3976:227::o;1577:20::-;;;;;;;;;;;;;:::o;1762:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9009:485::-;9094:4;9111:16;9130;:28;9147:10;9130:28;;;;;;;;;;;;;;;:37;9159:7;9130:37;;;;;;;;;;;;;;;;9111:56;;9201:8;9182:15;:27;9178:203;;9266:1;9226:16;:28;9243:10;9226:28;;;;;;;;;;;;;;;:37;9255:7;9226:37;;;;;;;;;;;;;;;:41;;;;9178:203;;;9340:29;9353:15;9340:8;:12;;:29;;;;:::i;:::-;9300:16;:28;9317:10;9300:28;;;;;;;;;;;;;;;:37;9329:7;9300:37;;;;;;;;;;;;;;;:69;;;;9178:203;9417:7;9396:68;;9405:10;9396:68;;;9426:16;:28;9443:10;9426:28;;;;;;;;;;;;;;;:37;9455:7;9426:37;;;;;;;;;;;;;;;;9396:68;;;;;;;;;;;;;;;;;;9482:4;9475:11;;;9009:485;;;;:::o;5738:481::-;5799:4;5838:1;5824:16;;:2;:16;;;;5816:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5893:4;5879:19;;:2;:19;;;;5871:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5953:17;5973:27;5983:16;;5973:5;:9;;:27;;;;:::i;:::-;5953:47;;6040:39;6069:9;6040:12;:24;6053:10;6040:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;6013:12;:24;6026:10;6013:24;;;;;;;;;;;;;;;:66;;;;6109:31;6130:9;6109:12;:16;6122:2;6109:16;;;;;;;;;;;;;;;;:20;;:31;;;;:::i;:::-;6090:12;:16;6103:2;6090:16;;;;;;;;;;;;;;;:50;;;;6179:2;6158:31;;6167:10;6158:31;;;6183:5;6158:31;;;;;;;;;;;;;;;;;;6207:4;6200:11;;;5738:481;;;;:::o;1644:23::-;;;;;;;;;;;;;:::o;4552:712::-;4628:7;4670:12;;;;;;;;;;;4656:26;;:10;:26;;;4648:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4764:1;4749:11;:16;4745:109;;;4787:22;4797:11;;4787:22;;;;;;;;;;;;;;;;;;4831:11;;4824:18;;;;4745:109;4888:4;4870:22;;:14;:22;;;4866:172;;;4923:28;4939:11;4923;;:15;;:28;;;;:::i;:::-;4909:11;:42;;;;4866:172;;;4998:28;5014:11;4998;;:15;;:28;;;;:::i;:::-;4984:11;:42;;;;4866:172;1911:1;1902:11;5068:9;;5054:11;;:23;5050:79;;;1911:1;1902:11;5108:9;;5094:11;:23;;;;5050:79;5160:27;5175:11;;5160:10;;:14;;:27;;;;:::i;:::-;5141:16;:46;;;;5205:22;5215:11;;5205:22;;;;;;;;;;;;;;;;;;5245:11;;5238:18;;4552:712;;;;;:::o;6526:141::-;6599:7;6626:16;:24;6643:6;6626:24;;;;;;;;;;;;;;;:33;6651:7;6626:33;;;;;;;;;;;;;;;;6619:40;;6526:141;;;;:::o;3677:242::-;3768:5;;;;;;;;;;;3754:19;;:10;:19;;;3746:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3848:1;3827:23;;:9;:23;;;;3819:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3902:9;3891:8;;:20;;;;;;;;;;;;;;;;;;3677:242;:::o;1510:27::-;;;;;;;;;;;;:::o;1259:179::-;1317:7;1349:1;1345;:5;1337:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1392:9;1408:1;1404;:5;;;;;;1392:17;;1429:1;1422:8;;;1259:179;;;;:::o;535:184::-;593:7;626:1;621;:6;;613:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;673:9;689:1;685;:5;673:17;;710:1;703:8;;;535:184;;;;:::o;842:250::-;900:7;929:1;924;:6;920:47;;;954:1;947:8;;;;920:47;979:9;995:1;991;:5;979:17;;1024:1;1019;1015;:5;;;;;;:10;1007:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:1;1076:8;;;842:250;;;;;:::o;204:181::-;262:7;282:9;298:1;294;:5;282:17;;323:1;318;:6;;310:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;376:1;369:8;;;204:181;;;;:::o
Swarm Source
ipfs://83aa968bece01e9e664a042bfdc067ca789bd72ed6fb18a15be667a007c7fca9
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.
Add Token to MetaMask (Web3)