Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000 Mbappethereum
Holders
168
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
3,385,369,350.946357819527631831 MbappethereumValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Mbappethereum
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-18 */ pragma solidity ^0.6.12; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } 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; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () public { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) public { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5,05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be to transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } contract Mbappethereum is ERC20, Ownable { using SafeMath for uint256; uint256 buyFee; uint256 sellFee; bool private swapping; bool private isTradingEnabled; uint256 private startTime; uint256 public swapTokensAtAmount = 85 * 10**5 * (10**18); IUniswapV2Router02 public uniswapV2Router; address public immutable uniswapV2Pair; mapping (address => bool) private _isExcluded; mapping (address => bool) public _isBlacklisted; constructor() public ERC20("Mbappethereum", "Mbappethereum") { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = _uniswapV2Pair; _isExcluded[owner()] = true; _isExcluded[address(this)] = true; _isBlacklisted[address(0)] = true; buyFee = 50; sellFee = 50; _mint(owner(), 10**12 * (10**18)); } receive() external payable { } function _transfer( address from, address to, uint256 amount ) internal override { require(!_isBlacklisted[from] && !_isBlacklisted[to], "To or From address is blacklisted."); if (!isTradingEnabled) { require(_isExcluded[to] || _isExcluded[from], "Trading is not yet enabled. Be patient!"); } else if (block.timestamp - startTime < 900) { require(amount <= 10**9 * (10**18), "Over the max tx amount."); } if(amount == 0) { super._transfer(from, to, 0); return; } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if( canSwap && !swapping && from != uniswapV2Pair && from != owner() && to != owner() ) { swapping = true; uint256 sellTokens = balanceOf(address(this)); swapAndSendDividends(sellTokens); swapping = false; } bool takeFee = !swapping; if(_isExcluded[from] || _isExcluded[to]) { takeFee = false; } if(takeFee) { uint256 fees; if (from == uniswapV2Pair) { fees = amount.mul(buyFee).div(1000); } else if (to == uniswapV2Pair) { fees = amount.mul(sellFee).div(1000); } amount = amount.sub(fees); super._transfer(from, address(this), fees); } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function swapAndSendDividends(uint256 tokens) private { swapTokensForEth(tokens); payable(owner()).transfer(address(this).balance); } function setBlacklist(address account, bool value) external onlyOwner { _isBlacklisted[account] = value; } function enableTrading() external onlyOwner { require(!isTradingEnabled); isTradingEnabled = true; startTime = block.timestamp; } function setSwapAtAmount(uint256 amount) external onlyOwner { swapTokensAtAmount = amount; } function setBuyFee(uint256 value) external onlyOwner { buyFee = value; } function setSellFee(uint256 value) external onlyOwner { sellFee = value; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":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":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","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":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","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":[],"name":"enableTrading","outputs":[],"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526a0707f1ec5dcde3d8800000600a553480156200002057600080fd5b506040518060400160405280600d81526020017f4d62617070657468657265756d000000000000000000000000000000000000008152506040518060400160405280600d81526020017f4d62617070657468657265756d000000000000000000000000000000000000008152508160039080519060200190620000a5929190620007cd565b508060049080519060200190620000be929190620007cd565b5050506000620000d36200052f60201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620001d457600080fd5b505afa158015620001e9573d6000803e3d6000fd5b505050506040513d60208110156200020057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200027457600080fd5b505afa15801562000289573d6000803e3d6000fd5b505050506040513d6020811015620002a057600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200031b57600080fd5b505af115801562000330573d6000803e3d6000fd5b505050506040513d60208110156200034757600080fd5b8101908080519060200190929190505050905081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250506001600c6000620003e86200053760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060326006819055506032600781905550620005276200050d6200053760201b60201c565b6c0c9f2c9cd04674edea400000006200056160201b60201c565b505062000873565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000605576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b62000619600083836200073f60201b60201c565b62000635816002546200074460201b620016831790919060201c565b60028190555062000693816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200074460201b620016831790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b505050565b600080828401905083811015620007c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200081057805160ff191683800117855562000841565b8280016001018555821562000841579182015b828111156200084057825182559160200191906001019062000823565b5b50905062000850919062000854565b5090565b5b808211156200086f57600081600090555060010162000855565b5090565b60805160601c612956620008a060003980610d8a5280611bf85280611de25280611e6652506129566000f3fe6080604052600436106101445760003560e01c80636402511e116100b657806395d89b411161006f57806395d89b4114610677578063a457c2d714610707578063a9059cbb14610778578063dd62ed3e146107e9578063e2f456051461086e578063f2fde38b146108995761014b565b80636402511e1461052d57806370a0823114610568578063715018a6146105cd5780638a8c523c146105e45780638b4cee08146105fb5780638da5cb5b146106365761014b565b806318160ddd1161010857806318160ddd1461032a5780631cdd3be31461035557806323b872dd146103bc578063313ce5671461044d578063395093511461047b57806349bd5a5e146104ec5761014b565b806306fdde0314610150578063095ea7b3146101e05780630cc835a314610251578063153b0d1e1461028c5780631694505e146102e95761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b506101656108ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101a557808201518184015260208101905061018a565b50505050905090810190601f1680156101d25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101ec57600080fd5b506102396004803603604081101561020357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061098c565b60405180821515815260200191505060405180910390f35b34801561025d57600080fd5b5061028a6004803603602081101561027457600080fd5b81019080803590602001909291905050506109aa565b005b34801561029857600080fd5b506102e7600480360360408110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610a7e565b005b3480156102f557600080fd5b506102fe610ba3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033657600080fd5b5061033f610bc9565b6040518082815260200191505060405180910390f35b34801561036157600080fd5b506103a46004803603602081101561037857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bd3565b60405180821515815260200191505060405180910390f35b3480156103c857600080fd5b50610435600480360360608110156103df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bf3565b60405180821515815260200191505060405180910390f35b34801561045957600080fd5b50610462610ccc565b604051808260ff16815260200191505060405180910390f35b34801561048757600080fd5b506104d46004803603604081101561049e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cd5565b60405180821515815260200191505060405180910390f35b3480156104f857600080fd5b50610501610d88565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053957600080fd5b506105666004803603602081101561055057600080fd5b8101908080359060200190929190505050610dac565b005b34801561057457600080fd5b506105b76004803603602081101561058b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e80565b6040518082815260200191505060405180910390f35b3480156105d957600080fd5b506105e2610ec8565b005b3480156105f057600080fd5b506105f9611053565b005b34801561060757600080fd5b506106346004803603602081101561061e57600080fd5b810190808035906020019092919050505061115b565b005b34801561064257600080fd5b5061064b61122f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561068357600080fd5b5061068c611259565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106cc5780820151818401526020810190506106b1565b50505050905090810190601f1680156106f95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561071357600080fd5b506107606004803603604081101561072a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112fb565b60405180821515815260200191505060405180910390f35b34801561078457600080fd5b506107d16004803603604081101561079b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113c8565b60405180821515815260200191505060405180910390f35b3480156107f557600080fd5b506108586004803603604081101561080c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113e6565b6040518082815260200191505060405180910390f35b34801561087a57600080fd5b5061088361146d565b6040518082815260200191505060405180910390f35b3480156108a557600080fd5b506108e8600480360360208110156108bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611473565b005b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109825780601f1061095757610100808354040283529160200191610982565b820191906000526020600020905b81548152906001019060200180831161096557829003601f168201915b5050505050905090565b60006109a061099961170b565b8484611713565b6001905092915050565b6109b261170b565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060068190555050565b610a8661170b565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600d6020528060005260406000206000915054906101000a900460ff1681565b6000610c0084848461190a565b610cc184610c0c61170b565b610cbc8560405180606001604052806028815260200161284260289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c7261170b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b9092919063ffffffff16565b611713565b600190509392505050565b60006012905090565b6000610d7e610ce261170b565b84610d798560016000610cf361170b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168390919063ffffffff16565b611713565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610db461170b565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600a8190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ed061170b565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f92576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61105b61170b565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461111d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600860019054906101000a900460ff161561113757600080fd5b6001600860016101000a81548160ff02191690831515021790555042600981905550565b61116361170b565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611225576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060078190555050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112f15780601f106112c6576101008083540402835291602001916112f1565b820191906000526020600020905b8154815290600101906020018083116112d457829003601f168201915b5050505050905090565b60006113be61130861170b565b846113b9856040518060600160405280602581526020016128fc602591396001600061133261170b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b9092919063ffffffff16565b611713565b6001905092915050565b60006113dc6113d561170b565b848461190a565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b61147b61170b565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461153d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806127b36026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080828401905083811015611701576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611799576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806128b66024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561181f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806127d96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119ae5750600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806128da6022913960400191505060405180910390fd5b600860019054906101000a900460ff16611b1257600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ab85750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611b0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061286a6027913960400191505060405180910390fd5b611ba4565b61038460095442031015611ba3576b033b2e3c9fd0803ce8000000811115611ba2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4f76657220746865206d617820747820616d6f756e742e00000000000000000081525060200191505060405180910390fd5b5b5b6000811415611bbe57611bb983836000611fdb565b611f16565b6000611bc930610e80565b90506000600a548210159050808015611bef5750600860009054906101000a900460ff16155b8015611c4757507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c865750611c5661122f565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611cc55750611c9561122f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611d18576001600860006101000a81548160ff0219169083151502179055506000611cf030610e80565b9050611cfb8161229c565b6000600860006101000a81548160ff021916908315150217905550505b6000600860009054906101000a900460ff16159050600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611dce5750600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611dd857600090505b8015611f075760007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415611e6457611e5d6103e8611e4f600654886122f690919063ffffffff16565b61237c90919063ffffffff16565b9050611ee5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611ee457611ee16103e8611ed3600754886122f690919063ffffffff16565b61237c90919063ffffffff16565b90505b5b611ef881866123c690919063ffffffff16565b9450611f05873083611fdb565b505b611f12868686611fdb565b5050505b505050565b6000838311158290611fc8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f8d578082015181840152602081019050611f72565b50505050905090810190601f168015611fba5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612061576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806128916025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806127906023913960400191505060405180910390fd5b6120f2838383612410565b61215d816040518060600160405280602681526020016127fb602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121f0816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6122a581612415565b6122ad61122f565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156122f2573d6000803e3d6000fd5b5050565b6000808314156123095760009050612376565b600082840290508284828161231a57fe5b0414612371576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806128216021913960400191505060405180910390fd5b809150505b92915050565b60006123be83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126c9565b905092915050565b600061240883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f1b565b905092915050565b505050565b6060600267ffffffffffffffff8111801561242f57600080fd5b5060405190808252806020026020018201604052801561245e5781602001602082028036833780820191505090505b509050308160008151811061246f57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561251157600080fd5b505afa158015612525573d6000803e3d6000fd5b505050506040513d602081101561253b57600080fd5b81019080805190602001909291905050508160018151811061255957fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125c030600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611713565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015612684578082015181840152602081019050612669565b505050509050019650505050505050600060405180830381600087803b1580156126ad57600080fd5b505af11580156126c1573d6000803e3d6000fd5b505050505050565b60008083118290612775576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561273a57808201518184015260208101905061271f565b50505050905090810190601f1680156127675780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161278157fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636554726164696e67206973206e6f742079657420656e61626c65642e2042652070617469656e742145524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373546f206f722046726f6d206164647265737320697320626c61636b6c69737465642e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208f8bf5f51d8bf36092c7851062560e99bc42c2d52d195ebe6b158b1ddf6c2c2464736f6c634300060c0033
Deployed Bytecode
0x6080604052600436106101445760003560e01c80636402511e116100b657806395d89b411161006f57806395d89b4114610677578063a457c2d714610707578063a9059cbb14610778578063dd62ed3e146107e9578063e2f456051461086e578063f2fde38b146108995761014b565b80636402511e1461052d57806370a0823114610568578063715018a6146105cd5780638a8c523c146105e45780638b4cee08146105fb5780638da5cb5b146106365761014b565b806318160ddd1161010857806318160ddd1461032a5780631cdd3be31461035557806323b872dd146103bc578063313ce5671461044d578063395093511461047b57806349bd5a5e146104ec5761014b565b806306fdde0314610150578063095ea7b3146101e05780630cc835a314610251578063153b0d1e1461028c5780631694505e146102e95761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b506101656108ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101a557808201518184015260208101905061018a565b50505050905090810190601f1680156101d25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101ec57600080fd5b506102396004803603604081101561020357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061098c565b60405180821515815260200191505060405180910390f35b34801561025d57600080fd5b5061028a6004803603602081101561027457600080fd5b81019080803590602001909291905050506109aa565b005b34801561029857600080fd5b506102e7600480360360408110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610a7e565b005b3480156102f557600080fd5b506102fe610ba3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033657600080fd5b5061033f610bc9565b6040518082815260200191505060405180910390f35b34801561036157600080fd5b506103a46004803603602081101561037857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bd3565b60405180821515815260200191505060405180910390f35b3480156103c857600080fd5b50610435600480360360608110156103df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bf3565b60405180821515815260200191505060405180910390f35b34801561045957600080fd5b50610462610ccc565b604051808260ff16815260200191505060405180910390f35b34801561048757600080fd5b506104d46004803603604081101561049e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cd5565b60405180821515815260200191505060405180910390f35b3480156104f857600080fd5b50610501610d88565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053957600080fd5b506105666004803603602081101561055057600080fd5b8101908080359060200190929190505050610dac565b005b34801561057457600080fd5b506105b76004803603602081101561058b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e80565b6040518082815260200191505060405180910390f35b3480156105d957600080fd5b506105e2610ec8565b005b3480156105f057600080fd5b506105f9611053565b005b34801561060757600080fd5b506106346004803603602081101561061e57600080fd5b810190808035906020019092919050505061115b565b005b34801561064257600080fd5b5061064b61122f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561068357600080fd5b5061068c611259565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106cc5780820151818401526020810190506106b1565b50505050905090810190601f1680156106f95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561071357600080fd5b506107606004803603604081101561072a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112fb565b60405180821515815260200191505060405180910390f35b34801561078457600080fd5b506107d16004803603604081101561079b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113c8565b60405180821515815260200191505060405180910390f35b3480156107f557600080fd5b506108586004803603604081101561080c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113e6565b6040518082815260200191505060405180910390f35b34801561087a57600080fd5b5061088361146d565b6040518082815260200191505060405180910390f35b3480156108a557600080fd5b506108e8600480360360208110156108bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611473565b005b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109825780601f1061095757610100808354040283529160200191610982565b820191906000526020600020905b81548152906001019060200180831161096557829003601f168201915b5050505050905090565b60006109a061099961170b565b8484611713565b6001905092915050565b6109b261170b565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060068190555050565b610a8661170b565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600d6020528060005260406000206000915054906101000a900460ff1681565b6000610c0084848461190a565b610cc184610c0c61170b565b610cbc8560405180606001604052806028815260200161284260289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c7261170b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b9092919063ffffffff16565b611713565b600190509392505050565b60006012905090565b6000610d7e610ce261170b565b84610d798560016000610cf361170b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168390919063ffffffff16565b611713565b6001905092915050565b7f0000000000000000000000004d9af2737971a98f80be08335e67ddf61f2ab23b81565b610db461170b565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600a8190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ed061170b565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f92576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61105b61170b565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461111d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600860019054906101000a900460ff161561113757600080fd5b6001600860016101000a81548160ff02191690831515021790555042600981905550565b61116361170b565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611225576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060078190555050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112f15780601f106112c6576101008083540402835291602001916112f1565b820191906000526020600020905b8154815290600101906020018083116112d457829003601f168201915b5050505050905090565b60006113be61130861170b565b846113b9856040518060600160405280602581526020016128fc602591396001600061133261170b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b9092919063ffffffff16565b611713565b6001905092915050565b60006113dc6113d561170b565b848461190a565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b61147b61170b565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461153d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806127b36026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080828401905083811015611701576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611799576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806128b66024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561181f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806127d96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119ae5750600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806128da6022913960400191505060405180910390fd5b600860019054906101000a900460ff16611b1257600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ab85750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611b0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061286a6027913960400191505060405180910390fd5b611ba4565b61038460095442031015611ba3576b033b2e3c9fd0803ce8000000811115611ba2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4f76657220746865206d617820747820616d6f756e742e00000000000000000081525060200191505060405180910390fd5b5b5b6000811415611bbe57611bb983836000611fdb565b611f16565b6000611bc930610e80565b90506000600a548210159050808015611bef5750600860009054906101000a900460ff16155b8015611c4757507f0000000000000000000000004d9af2737971a98f80be08335e67ddf61f2ab23b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c865750611c5661122f565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611cc55750611c9561122f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611d18576001600860006101000a81548160ff0219169083151502179055506000611cf030610e80565b9050611cfb8161229c565b6000600860006101000a81548160ff021916908315150217905550505b6000600860009054906101000a900460ff16159050600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611dce5750600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611dd857600090505b8015611f075760007f0000000000000000000000004d9af2737971a98f80be08335e67ddf61f2ab23b73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415611e6457611e5d6103e8611e4f600654886122f690919063ffffffff16565b61237c90919063ffffffff16565b9050611ee5565b7f0000000000000000000000004d9af2737971a98f80be08335e67ddf61f2ab23b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611ee457611ee16103e8611ed3600754886122f690919063ffffffff16565b61237c90919063ffffffff16565b90505b5b611ef881866123c690919063ffffffff16565b9450611f05873083611fdb565b505b611f12868686611fdb565b5050505b505050565b6000838311158290611fc8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f8d578082015181840152602081019050611f72565b50505050905090810190601f168015611fba5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612061576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806128916025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806127906023913960400191505060405180910390fd5b6120f2838383612410565b61215d816040518060600160405280602681526020016127fb602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121f0816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6122a581612415565b6122ad61122f565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156122f2573d6000803e3d6000fd5b5050565b6000808314156123095760009050612376565b600082840290508284828161231a57fe5b0414612371576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806128216021913960400191505060405180910390fd5b809150505b92915050565b60006123be83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126c9565b905092915050565b600061240883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f1b565b905092915050565b505050565b6060600267ffffffffffffffff8111801561242f57600080fd5b5060405190808252806020026020018201604052801561245e5781602001602082028036833780820191505090505b509050308160008151811061246f57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561251157600080fd5b505afa158015612525573d6000803e3d6000fd5b505050506040513d602081101561253b57600080fd5b81019080805190602001909291905050508160018151811061255957fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125c030600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611713565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015612684578082015181840152602081019050612669565b505050509050019650505050505050600060405180830381600087803b1580156126ad57600080fd5b505af11580156126c1573d6000803e3d6000fd5b505050505050565b60008083118290612775576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561273a57808201518184015260208101905061271f565b50505050905090810190601f1680156127675780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161278157fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636554726164696e67206973206e6f742079657420656e61626c65642e2042652070617469656e742145524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373546f206f722046726f6d206164647265737320697320626c61636b6c69737465642e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208f8bf5f51d8bf36092c7851062560e99bc42c2d52d195ebe6b158b1ddf6c2c2464736f6c634300060c0033
Deployed Bytecode Sourcemap
23027:4092:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14423:100;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16590:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;26932:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;26521:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23321:41;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15543:108;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;23470:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17241:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15385:93;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18005:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;23369:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;26818:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15714:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2136:148;;;;;;;;;;;;;:::i;:::-;;26649:161;;;;;;;;;;;;;:::i;:::-;;27026:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1926:79;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14642:104;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18726:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16054:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16292:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;23255:57;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2290:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14423:100;14477:13;14510:5;14503:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14423:100;:::o;16590:169::-;16673:4;16690:39;16699:12;:10;:12::i;:::-;16713:7;16722:6;16690:8;:39::i;:::-;16747:4;16740:11;;16590:169;;;;:::o;26932:86::-;2061:12;:10;:12::i;:::-;2051:22;;:6;;;;;;;;;;;:22;;;2043:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27005:5:::1;26996:6;:14;;;;26932:86:::0;:::o;26521:120::-;2061:12;:10;:12::i;:::-;2051:22;;:6;;;;;;;;;;;:22;;;2043:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26628:5:::1;26602:14;:23;26617:7;26602:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;26521:120:::0;;:::o;23321:41::-;;;;;;;;;;;;;:::o;15543:108::-;15604:7;15631:12;;15624:19;;15543:108;:::o;23470:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;17241:355::-;17381:4;17398:36;17408:6;17416:9;17427:6;17398:9;:36::i;:::-;17445:121;17454:6;17462:12;:10;:12::i;:::-;17476:89;17514:6;17476:89;;;;;;;;;;;;;;;;;:11;:19;17488:6;17476:19;;;;;;;;;;;;;;;:33;17496:12;:10;:12::i;:::-;17476:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17445:8;:121::i;:::-;17584:4;17577:11;;17241:355;;;;;:::o;15385:93::-;15443:5;15468:2;15461:9;;15385:93;:::o;18005:218::-;18093:4;18110:83;18119:12;:10;:12::i;:::-;18133:7;18142:50;18181:10;18142:11;:25;18154:12;:10;:12::i;:::-;18142:25;;;;;;;;;;;;;;;:34;18168:7;18142:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18110:8;:83::i;:::-;18211:4;18204:11;;18005:218;;;;:::o;23369:38::-;;;:::o;26818:106::-;2061:12;:10;:12::i;:::-;2051:22;;:6;;;;;;;;;;;:22;;;2043:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26910:6:::1;26889:18;:27;;;;26818:106:::0;:::o;15714:127::-;15788:7;15815:9;:18;15825:7;15815:18;;;;;;;;;;;;;;;;15808:25;;15714:127;;;:::o;2136:148::-;2061:12;:10;:12::i;:::-;2051:22;;:6;;;;;;;;;;;:22;;;2043:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2243:1:::1;2206:40;;2227:6;;;;;;;;;;;2206:40;;;;;;;;;;;;2274:1;2257:6;;:19;;;;;;;;;;;;;;;;;;2136:148::o:0;26649:161::-;2061:12;:10;:12::i;:::-;2051:22;;:6;;;;;;;;;;;:22;;;2043:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26713:16:::1;;;;;;;;;;;26712:17;26704:26;;;::::0;::::1;;26760:4;26741:16;;:23;;;;;;;;;;;;;;;;;;26787:15;26775:9;:27;;;;26649:161::o:0;27026:88::-;2061:12;:10;:12::i;:::-;2051:22;;:6;;;;;;;;;;;:22;;;2043:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27101:5:::1;27091:7;:15;;;;27026:88:::0;:::o;1926:79::-;1964:7;1991:6;;;;;;;;;;;1984:13;;1926:79;:::o;14642:104::-;14698:13;14731:7;14724:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14642:104;:::o;18726:269::-;18819:4;18836:129;18845:12;:10;:12::i;:::-;18859:7;18868:96;18907:15;18868:96;;;;;;;;;;;;;;;;;:11;:25;18880:12;:10;:12::i;:::-;18868:25;;;;;;;;;;;;;;;:34;18894:7;18868:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18836:8;:129::i;:::-;18983:4;18976:11;;18726:269;;;;:::o;16054:175::-;16140:4;16157:42;16167:12;:10;:12::i;:::-;16181:9;16192:6;16157:9;:42::i;:::-;16217:4;16210:11;;16054:175;;;;:::o;16292:151::-;16381:7;16408:11;:18;16420:5;16408:18;;;;;;;;;;;;;;;:27;16427:7;16408:27;;;;;;;;;;;;;;;;16401:34;;16292:151;;;;:::o;23255:57::-;;;;:::o;2290:244::-;2061:12;:10;:12::i;:::-;2051:22;;:6;;;;;;;;;;;:22;;;2043:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2399:1:::1;2379:22;;:8;:22;;;;2371:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2489:8;2460:38;;2481:6;;;;;;;;;;;2460:38;;;;;;;;;;;;2518:8;2509:6;;:17;;;;;;;;;;;;;;;;;;2290:244:::0;:::o;50:181::-;108:7;128:9;144:1;140;:5;128:17;;169:1;164;:6;;156:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;222:1;215:8;;;50:181;;;;:::o;1502:98::-;1555:7;1582:10;1575:17;;1502:98;:::o;21912:380::-;22065:1;22048:19;;:5;:19;;;;22040:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22146:1;22127:21;;:7;:21;;;;22119:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22230:6;22200:11;:18;22212:5;22200:18;;;;;;;;;;;;;;;:27;22219:7;22200:27;;;;;;;;;;;;;;;:36;;;;22268:7;22252:32;;22261:5;22252:32;;;22277:6;22252:32;;;;;;;;;;;;;;;;;;21912:380;;;:::o;24213:1652::-;24346:14;:20;24361:4;24346:20;;;;;;;;;;;;;;;;;;;;;;;;;24345:21;:44;;;;;24371:14;:18;24386:2;24371:18;;;;;;;;;;;;;;;;;;;;;;;;;24370:19;24345:44;24337:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24446:16;;;;;;;;;;;24441:272;;24487:11;:15;24499:2;24487:15;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;24506:11;:17;24518:4;24506:17;;;;;;;;;;;;;;;;;;;;;;;;;24487:36;24479:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24441:272;;;24619:3;24607:9;;24589:15;:27;:33;24585:128;;;24657:16;24647:6;:26;;24639:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24585:128;24441:272;24738:1;24728:6;:11;24725:92;;;24756:28;24772:4;24778:2;24782:1;24756:15;:28::i;:::-;24799:7;;24725:92;24823:28;24854:24;24872:4;24854:9;:24::i;:::-;24823:55;;24889:12;24928:18;;24904:20;:42;;24889:57;;24976:7;:33;;;;;25001:8;;;;;;;;;;;25000:9;24976:33;:71;;;;;25034:13;25026:21;;:4;:21;;;;24976:71;:103;;;;;25072:7;:5;:7::i;:::-;25064:15;;:4;:15;;;;24976:103;:133;;;;;25102:7;:5;:7::i;:::-;25096:13;;:2;:13;;;;24976:133;24959:348;;;25149:4;25138:8;;:15;;;;;;;;;;;;;;;;;;25170:18;25191:24;25209:4;25191:9;:24::i;:::-;25170:45;;25230:32;25251:10;25230:20;:32::i;:::-;25290:5;25279:8;;:16;;;;;;;;;;;;;;;;;;24959:348;;25319:12;25335:8;;;;;;;;;;;25334:9;25319:24;;25359:11;:17;25371:4;25359:17;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;25380:11;:15;25392:2;25380:15;;;;;;;;;;;;;;;;;;;;;;;;;25359:36;25356:83;;;25422:5;25412:15;;25356:83;25454:7;25451:361;;;25478:12;25517:13;25509:21;;:4;:21;;;25505:199;;;25558:28;25581:4;25558:18;25569:6;;25558;:10;;:18;;;;:::i;:::-;:22;;:28;;;;:::i;:::-;25551:35;;25505:199;;;25618:13;25612:19;;:2;:19;;;25608:96;;;25659:29;25683:4;25659:19;25670:7;;25659:6;:10;;:19;;;;:::i;:::-;:23;;:29;;;;:::i;:::-;25652:36;;25608:96;25505:199;25727:16;25738:4;25727:6;:10;;:16;;;;:::i;:::-;25718:25;;25758:42;25774:4;25788;25795;25758:15;:42::i;:::-;25451:361;;25822:33;25838:4;25844:2;25848:6;25822:15;:33::i;:::-;24213:1652;;;;;;;:::o;379:192::-;465:7;498:1;493;:6;;501:12;485:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;525:9;541:1;537;:5;525:17;;562:1;555:8;;;379:192;;;;;:::o;19485:573::-;19643:1;19625:20;;:6;:20;;;;19617:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19727:1;19706:23;;:9;:23;;;;19698:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19782:47;19803:6;19811:9;19822:6;19782:20;:47::i;:::-;19862:71;19884:6;19862:71;;;;;;;;;;;;;;;;;:9;:17;19872:6;19862:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;19842:9;:17;19852:6;19842:17;;;;;;;;;;;;;;;:91;;;;19967:32;19992:6;19967:9;:20;19977:9;19967:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;19944:9;:20;19954:9;19944:20;;;;;;;;;;;;;;;:55;;;;20032:9;20015:35;;20024:6;20015:35;;;20043:6;20015:35;;;;;;;;;;;;;;;;;;19485:573;;;:::o;26356:156::-;26421:24;26438:6;26421:16;:24::i;:::-;26464:7;:5;:7::i;:::-;26456:25;;:48;26482:21;26456:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26356:156;:::o;577:246::-;635:7;664:1;659;:6;655:47;;;689:1;682:8;;;;655:47;712:9;728:1;724;:5;712:17;;757:1;752;748;:5;;;;;;:10;740:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;814:1;807:8;;;577:246;;;;;:::o;829:132::-;887:7;914:39;918:1;921;914:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;907:46;;829:132;;;;:::o;237:136::-;295:7;322:43;326:1;329;322:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;315:50;;237:136;;;;:::o;22895:125::-;;;;:::o;25874:474::-;25940:21;25978:1;25964:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25940:40;;26009:4;25991;25996:1;25991:7;;;;;;;;;;;;;:23;;;;;;;;;;;26035:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26025:4;26030:1;26025:7;;;;;;;;;;;;;:32;;;;;;;;;;;26068:62;26085:4;26100:15;;;;;;;;;;;26118:11;26068:8;:62::i;:::-;26141:15;;;;;;;;;;;:66;;;26222:11;26248:1;26264:4;26291;26311:15;26141:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25874:474;;:::o;967:189::-;1053:7;1085:1;1081;:5;1088:12;1073:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1112:9;1128:1;1124;:5;;;;;;1112:17;;1147:1;1140:8;;;967:189;;;;;:::o
Swarm Source
ipfs://8f8bf5f51d8bf36092c7851062560e99bc42c2d52d195ebe6b158b1ddf6c2c24
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.