BscScan - Sponsored slots available. Book your slot here!
Token migration announcement. Titano token contract has migrated to a new address.
BEP-20
Old Contract
Overview
Max Total Supply
78,970,349,486.88453TITANO
Holders
81,292 ( -1.260%)
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
Titano
Compiler Version
v0.7.6+commit.7338295f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.7.4; library SafeMathInt { int256 private constant MIN_INT256 = int256(1) << 255; int256 private constant MAX_INT256 = ~(int256(1) << 255); function mul(int256 a, int256 b) internal pure returns (int256) { int256 c = a * b; require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256)); require((b == 0) || (c / b == a)); return c; } function div(int256 a, int256 b) internal pure returns (int256) { require(b != -1 || a != MIN_INT256); return a / b; } function sub(int256 a, int256 b) internal pure returns (int256) { int256 c = a - b; require((b >= 0 && c <= a) || (b < 0 && c > a)); return c; } function add(int256 a, int256 b) internal pure returns (int256) { int256 c = a + b; require((b >= 0 && c >= a) || (b < 0 && c < a)); return c; } function abs(int256 a) internal pure returns (int256) { require(a != MIN_INT256); return a < 0 ? -a : a; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address who) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function transfer(address to, uint256 value) external returns (bool); function approve(address spender, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } 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) { require(b != 0); return a % b; } } interface InterfaceLP { function sync() external; } library Roles { struct Role { mapping (address => bool) bearer; } /** * @dev Give an account access to this role. */ function add(Role storage role, address account) internal { require(!has(role, account), "Roles: account already has role"); role.bearer[account] = true; } /** * @dev Remove an account's access to this role. */ function remove(Role storage role, address account) internal { require(has(role, account), "Roles: account does not have role"); role.bearer[account] = false; } /** * @dev Check if an account has this role. * @return bool */ function has(Role storage role, address account) internal view returns (bool) { require(account != address(0), "Roles: account is the zero address"); return role.bearer[account]; } } contract MinterRole { using Roles for Roles.Role; event MinterAdded(address indexed account); event MinterRemoved(address indexed account); Roles.Role private _minters; constructor () { _addMinter(msg.sender); } modifier onlyMinter() { require(isMinter(msg.sender), "MinterRole: caller does not have the Minter role"); _; } function isMinter(address account) public view returns (bool) { return _minters.has(account); } function renounceMinter() public { _removeMinter(msg.sender); } function _addMinter(address account) internal { _minters.add(account); emit MinterAdded(account); } function _removeMinter(address account) internal { _minters.remove(account); emit MinterRemoved(account); } } abstract contract ERC20Detailed is IERC20 { string private _name; string private _symbol; uint8 private _decimals; constructor( string memory name, string memory symbol, uint8 decimals ) { _name = name; _symbol = symbol; _decimals = decimals; } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } contract Ownable { address private _owner; event OwnershipRenounced(address indexed previousOwner); event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _owner = msg.sender; } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(isOwner()); _; } function isOwner() public view returns (bool) { return msg.sender == _owner; } function renounceOwnership() public onlyOwner { emit OwnershipRenounced(_owner); _owner = address(0); } function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal { require(newOwner != address(0)); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract Titano is ERC20Detailed, Ownable, MinterRole { using SafeMath for uint256; using SafeMathInt for int256; event LogRebase(uint256 indexed epoch, uint256 totalSupply); InterfaceLP public pairContract; bool public initialDistributionFinished; mapping(address => bool) allowTransfer; mapping(address => bool) _isFeeExempt; modifier initialDistributionLock() { require( initialDistributionFinished || isOwner() || allowTransfer[msg.sender] ); _; } modifier validRecipient(address to) { require(to != address(0x0)); _; } uint256 private constant DECIMALS = 18; uint256 private constant MAX_UINT256 = ~uint256(0); uint256 private constant INITIAL_FRAGMENTS_SUPPLY = 4 * 10**9 * 10**DECIMALS; uint256 public liquidityFee = 5; uint256 public Treasury = 3; uint256 public RiskFreeValue = 5; uint256 public sellFee = 5; uint256 public totalFee = liquidityFee.add(Treasury).add(RiskFreeValue); uint256 public feeDenominator = 100; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; address public autoLiquidityReceiver; address public TreasuryReceiver; address public RiskFreeValueReceiver; uint256 targetLiquidity = 50; uint256 targetLiquidityDenominator = 100; IDEXRouter public router; address public pair; bool public swapEnabled = true; uint256 private gonSwapThreshold = (TOTAL_GONS * 10) / 10000; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } uint256 private constant TOTAL_GONS = MAX_UINT256 - (MAX_UINT256 % INITIAL_FRAGMENTS_SUPPLY); uint256 private constant MAX_SUPPLY = ~uint128(0); uint256 private _totalSupply; uint256 private _gonsPerFragment; mapping(address => uint256) private _gonBalances; mapping(address => mapping(address => uint256)) private _allowedFragments; mapping(address => bool) public blacklist; constructor() ERC20Detailed("Titano", "TITANO", uint8(DECIMALS)) { router = IDEXRouter(0x10ED43C718714eb63d5aA57B78B54704E256024E); //Sushi 0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506 // Cake 0x10ED43C718714eb63d5aA57B78B54704E256024E pair = IDEXFactory(router.factory()).createPair( router.WETH(), address(this) ); autoLiquidityReceiver = 0xfa1D544D46c7c50d7B7d7D2e85915F1b129a9386; TreasuryReceiver = 0x4DD90D3cE962039A3c66d613207aC2d449dFa04F; RiskFreeValueReceiver = 0x00dE99c90E8971D3E1c9cBA724381B537F6e88C1; _allowedFragments[address(this)][address(router)] = uint256(-1); pairContract = InterfaceLP(pair); _totalSupply = INITIAL_FRAGMENTS_SUPPLY; _gonBalances[TreasuryReceiver] = TOTAL_GONS; _gonsPerFragment = TOTAL_GONS.div(_totalSupply); initialDistributionFinished = false; _isFeeExempt[TreasuryReceiver] = true; _isFeeExempt[address(this)] = true; _transferOwnership(TreasuryReceiver); emit Transfer(address(0x0), TreasuryReceiver, _totalSupply); } function updateBlacklist(address _user, bool _flag) public onlyOwner{ blacklist[_user] = _flag; } function rebase(uint256 epoch, int256 supplyDelta) external onlyOwner returns (uint256) { require(!inSwap, "Try again"); if (supplyDelta == 0) { emit LogRebase(epoch, _totalSupply); return _totalSupply; } if (supplyDelta < 0) { _totalSupply = _totalSupply.sub(uint256(-supplyDelta)); } else { _totalSupply = _totalSupply.add(uint256(supplyDelta)); } if (_totalSupply > MAX_SUPPLY) { _totalSupply = MAX_SUPPLY; } _gonsPerFragment = TOTAL_GONS.div(_totalSupply); pairContract.sync(); emit LogRebase(epoch, _totalSupply); return _totalSupply; } function totalSupply() external view override returns (uint256) { return _totalSupply; } function transfer(address to, uint256 value) external override validRecipient(to) initialDistributionLock returns (bool) { _transferFrom(msg.sender, to, value); return true; } function setLP(address _address) external onlyOwner { pairContract = InterfaceLP(_address); _isFeeExempt[_address]; } function allowance(address owner_, address spender) external view override returns (uint256) { return _allowedFragments[owner_][spender]; } function balanceOf(address who) external view override returns (uint256) { return _gonBalances[who].div(_gonsPerFragment); } function _basicTransfer( address from, address to, uint256 amount ) internal returns (bool) { uint256 gonAmount = amount.mul(_gonsPerFragment); _gonBalances[from] = _gonBalances[from].sub(gonAmount); _gonBalances[to] = _gonBalances[to].add(gonAmount); return true; } function _transferFrom( address sender, address recipient, uint256 amount ) internal returns (bool) { require(!blacklist[sender] && !blacklist[recipient], 'in_blacklist'); if (inSwap) { return _basicTransfer(sender, recipient, amount); } uint256 gonAmount = amount.mul(_gonsPerFragment); if (shouldSwapBack()) { swapBack(); } _gonBalances[sender] = _gonBalances[sender].sub(gonAmount); uint256 gonAmountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, gonAmount) : gonAmount; _gonBalances[recipient] = _gonBalances[recipient].add( gonAmountReceived ); emit Transfer( sender, recipient, gonAmountReceived.div(_gonsPerFragment) ); return true; } function transferFrom( address from, address to, uint256 value ) external override validRecipient(to) returns (bool) { if (_allowedFragments[from][msg.sender] != uint256(-1)) { _allowedFragments[from][msg.sender] = _allowedFragments[from][ msg.sender ].sub(value, "Insufficient Allowance"); } _transferFrom(from, to, value); return true; } function swapBack() internal swapping { uint256 dynamicLiquidityFee = isOverLiquified( targetLiquidity, targetLiquidityDenominator ) ? 0 : liquidityFee; uint256 contractTokenBalance = _gonBalances[address(this)].div( _gonsPerFragment ); uint256 amountToLiquify = contractTokenBalance .mul(dynamicLiquidityFee) .div(totalFee) .div(2); uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2)); uint256 amountETHLiquidity = amountETH .mul(dynamicLiquidityFee) .div(totalETHFee) .div(2); uint256 amountETHRiskFreeValue = amountETH.mul(RiskFreeValue).div(totalETHFee); uint256 amountETHTreasury = amountETH.mul(Treasury).div( totalETHFee ); (bool success, ) = payable(TreasuryReceiver).call{ value: amountETHTreasury, gas: 30000 }(""); (success, ) = payable(RiskFreeValueReceiver).call{ value: amountETHRiskFreeValue, gas: 30000 }(""); success = false; if (amountToLiquify > 0) { router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); } } function takeFee(address sender, address recipient, uint256 gonAmount) internal returns (uint256) { uint256 _totalFee = totalFee; if(recipient == pair) _totalFee = _totalFee.add(sellFee); uint256 feeAmount = gonAmount.mul(_totalFee).div(feeDenominator); _gonBalances[address(this)] = _gonBalances[address(this)].add( feeAmount ); emit Transfer(sender, address(this), feeAmount.div(_gonsPerFragment)); return gonAmount.sub(feeAmount); } function decreaseAllowance(address spender, uint256 subtractedValue) external initialDistributionLock returns (bool) { uint256 oldValue = _allowedFragments[msg.sender][spender]; if (subtractedValue >= oldValue) { _allowedFragments[msg.sender][spender] = 0; } else { _allowedFragments[msg.sender][spender] = oldValue.sub( subtractedValue ); } emit Approval( msg.sender, spender, _allowedFragments[msg.sender][spender] ); return true; } function increaseAllowance(address spender, uint256 addedValue) external initialDistributionLock returns (bool) { _allowedFragments[msg.sender][spender] = _allowedFragments[msg.sender][ spender ].add(addedValue); emit Approval( msg.sender, spender, _allowedFragments[msg.sender][spender] ); return true; } function approve(address spender, uint256 value) external override initialDistributionLock returns (bool) { _allowedFragments[msg.sender][spender] = value; emit Approval(msg.sender, spender, value); return true; } function checkFeeExempt(address _addr) external view returns (bool) { return _isFeeExempt[_addr]; } function setInitialDistributionFinished() external onlyOwner { initialDistributionFinished = true; } function enableTransfer(address _addr) external onlyOwner { allowTransfer[_addr] = true; } function setFeeExempt(address _addr) external onlyOwner { _isFeeExempt[_addr] = true; } function shouldTakeFee(address from, address to) internal view returns (bool) { return (pair == from || pair == to) && (!_isFeeExempt[from]); } function mint(address recipient, uint256 amount) external onlyMinter { _totalSupply = _totalSupply.add(uint256(amount)); if (_totalSupply > MAX_SUPPLY) { _totalSupply = MAX_SUPPLY; } _gonsPerFragment = TOTAL_GONS.div(_totalSupply); pairContract.sync(); _gonBalances[recipient] = _gonBalances[recipient].add(amount); } function setSwapBackSettings( bool _enabled, uint256 _num, uint256 _denom ) external onlyOwner { swapEnabled = _enabled; gonSwapThreshold = TOTAL_GONS.div(_denom).mul(_num); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _gonBalances[address(this)] >= gonSwapThreshold; } function getCirculatingSupply() public view returns (uint256) { return (TOTAL_GONS.sub(_gonBalances[DEAD]).sub(_gonBalances[ZERO])).div( _gonsPerFragment ); } function setTargetLiquidity(uint256 target, uint256 accuracy) external onlyOwner { targetLiquidity = target; targetLiquidityDenominator = accuracy; } function addMinter(address account) public onlyOwner { _addMinter(account); } function removeMinter(address account) public onlyOwner { _removeMinter(account); } function isNotInSwap() external view returns (bool) { return !inSwap; } function sendPresale(address[] calldata recipients, uint256[] calldata values) external onlyOwner { for (uint256 i = 0; i < recipients.length; i++) { _transferFrom(msg.sender, recipients[i], values[i]); } } function checkSwapThreshold() external view returns (uint256) { return gonSwapThreshold.div(_gonsPerFragment); } function manualSync() external { InterfaceLP(pair).sync(); } function setFeeReceivers( address _autoLiquidityReceiver, address _TreasuryReceiver, address _RiskFreeValueReceiver ) external onlyOwner { autoLiquidityReceiver = _autoLiquidityReceiver; TreasuryReceiver = _TreasuryReceiver; RiskFreeValueReceiver = _RiskFreeValueReceiver; } function setFees( uint256 _liquidityFee, uint256 _RiskFreeValue, uint256 _Treasury, uint256 _sellFee, uint256 _feeDenominator ) external onlyOwner { liquidityFee = _liquidityFee; RiskFreeValue = _RiskFreeValue; Treasury = _Treasury; sellFee = _sellFee; totalFee = liquidityFee.add(Treasury).add(RiskFreeValue); feeDenominator = _feeDenominator; require(totalFee < feeDenominator / 4); } function clearStuckBalance(uint256 amountPercentage, address adr) external onlyOwner { uint256 amountETH = address(this).balance; payable(adr).transfer( (amountETH * amountPercentage) / 100 ); } function rescueToken(address tokenAddress, uint256 tokens) public onlyOwner returns (bool success) { return ERC20Detailed(tokenAddress).transfer(msg.sender, tokens); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { uint256 liquidityBalance = _gonBalances[pair].div(_gonsPerFragment); return accuracy.mul(liquidityBalance.mul(2)).div(getCirculatingSupply()); } function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) { return getLiquidityBacking(accuracy) > target; } receive() external payable {} }
{ "remappings": [], "optimizer": { "enabled": true, "runs": 200 }, "evmVersion": "istanbul", "libraries": {}, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
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":true,"internalType":"uint256","name":"epoch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSupply","type":"uint256"}],"name":"LogRebase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"MinterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"RiskFreeValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RiskFreeValueReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Treasury","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TreasuryReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addMinter","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":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"checkFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"},{"internalType":"address","name":"adr","type":"address"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","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":"_addr","type":"address"}],"name":"enableTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"initialDistributionFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isNotInSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSync","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairContract","outputs":[{"internalType":"contract InterfaceLP","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"int256","name":"supplyDelta","type":"int256"}],"name":"rebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"rescueToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"sendPresale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_TreasuryReceiver","type":"address"},{"internalType":"address","name":"_RiskFreeValueReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_RiskFreeValue","type":"uint256"},{"internalType":"uint256","name":"_Treasury","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setInitialDistributionFinished","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_num","type":"uint256"},{"internalType":"uint256","name":"_denom","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_flag","type":"bool"}],"name":"updateBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526005600755600360085560056009556005600a55620000516009546200003d6008546007546200048f60201b62001b8f1790919060201c565b6200048f60201b62001b8f1790919060201c565b600b556064600c819055600d80546001600160a01b031990811661dead17909155600e8054909116905560326012556013556015805460ff60a01b1916600160a01b1790556127106b1239a002a3db32d57fffffff1904601655348015620000b857600080fd5b5060405180604001604052806006815260200165546974616e6f60d01b81525060405180604001604052806006815260200165544954414e4f60d01b81525060128260009080519060200190620001119291906200079c565b508151620001279060019060208501906200079c565b5060028054336101008102610100600160a81b031960ff90951660ff1990931692909217939093161790556200016092509050620004f1565b601480546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e17908190556040805163c45a015560e01b815290516001600160a01b03929092169163c45a015591600480820192602092909190829003018186803b158015620001cc57600080fd5b505afa158015620001e1573d6000803e3d6000fd5b505050506040513d6020811015620001f857600080fd5b5051601454604080516315ab88c960e31b815290516001600160a01b039384169363c9c6539693169163ad5c4648916004808301926020929190829003018186803b1580156200024757600080fd5b505afa1580156200025c573d6000803e3d6000fd5b505050506040513d60208110156200027357600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301523060248301525160448083019260209291908290030181600087803b158015620002c357600080fd5b505af1158015620002d8573d6000803e3d6000fd5b505050506040513d6020811015620002ef57600080fd5b5051601580546001600160a01b039283166001600160a01b0319918216178255600f8054821673fa1d544d46c7c50d7b7d7d2e85915f1b129a9386179055601080548216734dd90d3ce962039a3c66d613207ac2d449dfa04f17815560118054831672de99c90e8971d3e1c9cba724381b537f6e88c1179055306000908152601b602090815260408083206014548816845282528083206000199055945460048054909516908716179093556b0cecb8f27f4200f3a0000000601890815591549094168452601a8252919092206b01d290004395eb7bbfffffff19908190559054620003e49262000543811b62001be917901c565b6019556004805460ff60a01b19169055601080546001600160a01b03908116600090815260066020526040808220805460ff199081166001908117909255308452919092208054909116909117905590546200044191166200058d565b60105460185460408051918252516001600160a01b03909216916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a362000848565b600082820183811015620004ea576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6200050c8160036200060860201b62001c2b1790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6000620004ea83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200068c60201b60201c565b6001600160a01b038116620005a157600080fd5b6002546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600280546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b62000614828262000733565b1562000667576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b600081836200071c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620006e0578181015183820152602001620006c6565b50505050905090810190601f1680156200070e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816200072957fe5b0495945050505050565b60006001600160a01b0382166200077c5760405162461bcd60e51b8152600401808060200182810382526022815260200180620031186022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620007d457600085556200081f565b82601f10620007ef57805160ff19168380011785556200081f565b828001600101855582156200081f579182015b828111156200081f57825182559160200191906001019062000802565b506200082d92915062000831565b5090565b5b808211156200082d576000815560010162000832565b6128c080620008586000396000f3fe6080604052600436106103545760003560e01c80637a43e23f116101c6578063bda5c8bb116100f7578063d5938aac11610095578063dd62ed3e1161006f578063dd62ed3e14610c3e578063f2fde38b14610c79578063f887ea4014610cac578063f9f92be414610cc15761035b565b8063d5938aac14610bb1578063d7ac658514610be4578063d7c0103214610bf95761035b565b8063d1fce264116100d1578063d1fce26414610a70578063d37e219d14610a85578063d439979014610b54578063d51ed1c814610b875761035b565b8063bda5c8bb14610a0e578063ca33e64c14610a23578063d088935814610a385761035b565b806398118cb411610164578063a457c2d71161013e578063a457c2d714610954578063a8aa1b311461098d578063a9059cbb146109a2578063aa271e1a146109db5761035b565b806398118cb4146108f7578063983b2d561461090c578063986502751461093f5761035b565b80638da5cb5b116101a05780638da5cb5b1461087d5780638f32d59b146108925780639155e083146108a757806395d89b41146108e25761035b565b80637a43e23f14610823578063800cee511461085357806383b4ac68146108685761035b565b80633092afd5116102a057806356a227f21161023e57806370a082311161021857806370a0823114610793578063715018a6146107c6578063749796a5146107db578063753d02a11461080e5761035b565b806356a227f2146107305780636d351d1a146107695780636ddd17131461077e5761035b565b8063395093511161027a578063395093511461067857806340c10f19146106b15780634d709adf146106ea578063563df32f1461071b5761035b565b80633092afd5146105e1578063313ce5671461061457806333f3d6281461063f5761035b565b80631df4ccfc1161030d5780632b112e49116102e75780632b112e491461056f5780632b14ca56146105845780632be6937d146105995780632f34d282146105ae5761035b565b80631df4ccfc146104e7578063201e7991146104fc57806323b872dd1461052c5761035b565b806304a66b481461036057806306fdde03146103a4578063095ea7b31461042e5780631161ae391461047b578063180b0d7e146104ab57806318160ddd146104d25761035b565b3661035b57005b600080fd5b34801561036c57600080fd5b506103a2600480360360a081101561038357600080fd5b5080359060208101359060408101359060608101359060800135610cf4565b005b3480156103b057600080fd5b506103b9610d4d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103f35781810151838201526020016103db565b50505050905090810190601f1680156104205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561043a57600080fd5b506104676004803603604081101561045157600080fd5b506001600160a01b038135169060200135610de3565b604080519115158252519081900360200190f35b34801561048757600080fd5b506104676004803603604081101561049e57600080fd5b5080359060200135610e8c565b3480156104b757600080fd5b506104c0610ea0565b60408051918252519081900360200190f35b3480156104de57600080fd5b506104c0610ea6565b3480156104f357600080fd5b506104c0610eac565b34801561050857600080fd5b506103a26004803603604081101561051f57600080fd5b5080359060200135610eb2565b34801561053857600080fd5b506104676004803603606081101561054f57600080fd5b506001600160a01b03813581169160208101359091169060400135610ece565b34801561057b57600080fd5b506104c0610fa8565b34801561059057600080fd5b506104c061100a565b3480156105a557600080fd5b506103a2611010565b3480156105ba57600080fd5b506103a2600480360360208110156105d157600080fd5b50356001600160a01b0316611036565b3480156105ed57600080fd5b506103a26004803603602081101561060457600080fd5b50356001600160a01b0316611070565b34801561062057600080fd5b5061062961108d565b6040805160ff9092168252519081900360200190f35b34801561064b57600080fd5b506104676004803603604081101561066257600080fd5b506001600160a01b038135169060200135611096565b34801561068457600080fd5b506104676004803603604081101561069b57600080fd5b506001600160a01b03813516906020013561112b565b3480156106bd57600080fd5b506103a2600480360360408110156106d457600080fd5b506001600160a01b0381351690602001356111ff565b3480156106f657600080fd5b506106ff611333565b604080516001600160a01b039092168252519081900360200190f35b34801561072757600080fd5b506104c0611342565b34801561073c57600080fd5b506103a26004803603604081101561075357600080fd5b50803590602001356001600160a01b0316611348565b34801561077557600080fd5b506104c061139b565b34801561078a57600080fd5b506104676113b4565b34801561079f57600080fd5b506104c0600480360360208110156107b657600080fd5b50356001600160a01b03166113c4565b3480156107d257600080fd5b506103a26113ec565b3480156107e757600080fd5b506103a2600480360360208110156107fe57600080fd5b50356001600160a01b031661144c565b34801561081a57600080fd5b506103a2611481565b34801561082f57600080fd5b506104c06004803603604081101561084657600080fd5b50803590602001356114e5565b34801561085f57600080fd5b506106ff611691565b34801561087457600080fd5b506104676116a0565b34801561088957600080fd5b506106ff6116aa565b34801561089e57600080fd5b506104676116be565b3480156108b357600080fd5b506103a2600480360360408110156108ca57600080fd5b506001600160a01b03813516906020013515156116d4565b3480156108ee57600080fd5b506103b9611710565b34801561090357600080fd5b506104c0611770565b34801561091857600080fd5b506103a26004803603602081101561092f57600080fd5b50356001600160a01b0316611776565b34801561094b57600080fd5b506103a2611790565b34801561096057600080fd5b506104676004803603604081101561097757600080fd5b506001600160a01b03813516906020013561179b565b34801561099957600080fd5b506106ff6118c5565b3480156109ae57600080fd5b50610467600480360360408110156109c557600080fd5b506001600160a01b0381351690602001356118d4565b3480156109e757600080fd5b50610467600480360360208110156109fe57600080fd5b50356001600160a01b031661193e565b348015610a1a57600080fd5b506104c061194b565b348015610a2f57600080fd5b506106ff611951565b348015610a4457600080fd5b506103a260048036036060811015610a5b57600080fd5b50803515159060208101359060400135611960565b348015610a7c57600080fd5b506104676119b3565b348015610a9157600080fd5b506103a260048036036040811015610aa857600080fd5b810190602081018135640100000000811115610ac357600080fd5b820183602082011115610ad557600080fd5b80359060200191846020830284011164010000000083111715610af757600080fd5b919390929091602081019035640100000000811115610b1557600080fd5b820183602082011115610b2757600080fd5b80359060200191846020830284011164010000000083111715610b4957600080fd5b5090925090506119c3565b348015610b6057600080fd5b5061046760048036036020811015610b7757600080fd5b50356001600160a01b0316611a20565b348015610b9357600080fd5b506104c060048036036020811015610baa57600080fd5b5035611a3e565b348015610bbd57600080fd5b506103a260048036036020811015610bd457600080fd5b50356001600160a01b0316611a92565b348015610bf057600080fd5b506106ff611ac7565b348015610c0557600080fd5b506103a260048036036060811015610c1c57600080fd5b506001600160a01b038135811691602081013582169160409091013516611ad6565b348015610c4a57600080fd5b506104c060048036036040811015610c6157600080fd5b506001600160a01b0381358116916020013516611b26565b348015610c8557600080fd5b506103a260048036036020811015610c9c57600080fd5b50356001600160a01b0316611b51565b348015610cb857600080fd5b506106ff611b6b565b348015610ccd57600080fd5b5061046760048036036020811015610ce457600080fd5b50356001600160a01b0316611b7a565b610cfc6116be565b610d0557600080fd5b600785905560098490556008839055600a829055610d2d84610d278786611b8f565b90611b8f565b600b55600c81905560048104600b5410610d4657600080fd5b5050505050565b60008054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610dd95780601f10610dae57610100808354040283529160200191610dd9565b820191906000526020600020905b815481529060010190602001808311610dbc57829003601f168201915b5050505050905090565b600454600090600160a01b900460ff1680610e015750610e016116be565b80610e1b57503360009081526005602052604090205460ff165b610e2457600080fd5b336000818152601b602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b600082610e9883611a3e565b119392505050565b600c5481565b60185490565b600b5481565b610eba6116be565b610ec357600080fd5b601291909155601355565b6000826001600160a01b038116610ee457600080fd5b6001600160a01b0385166000908152601b6020908152604080832033845290915290205460001914610f91576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0388166000908152601b82528381203382529091529190912054610f6c918590611cac565b6001600160a01b0386166000908152601b602090815260408083203384529091529020555b610f9c858585611d43565b50600195945050505050565b601954600e546001600160a01b039081166000908152601a602052604080822054600d5490931682528120549092611005929091610fff9190610ff9906b01d290004395eb7bbfffffff1990611f02565b90611f02565b90611be9565b905090565b600a5481565b6110186116be565b61102157600080fd5b6004805460ff60a01b1916600160a01b179055565b61103e6116be565b61104757600080fd5b600480546001600160a01b039092166001600160a01b0319909216821790556000526006602052565b6110786116be565b61108157600080fd5b61108a81611f44565b50565b60025460ff1690565b60006110a06116be565b6110a957600080fd5b6040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b0385169163a9059cbb9160448083019260209291908290030181600087803b1580156110f857600080fd5b505af115801561110c573d6000803e3d6000fd5b505050506040513d602081101561112257600080fd5b50519392505050565b600454600090600160a01b900460ff168061114957506111496116be565b8061116357503360009081526005602052604090205460ff165b61116c57600080fd5b336000908152601b602090815260408083206001600160a01b038716845290915290205461119a9083611b8f565b336000818152601b602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6112083361193e565b6112435760405162461bcd60e51b81526004018080602001828103825260308152602001806127f76030913960400191505060405180910390fd5b6018546112509082611b8f565b60188190556001600160801b03101561126f576001600160801b036018555b60185461128f906b0cecb8f27f4200f3a00000006000195b061990611be9565b601955600480546040805160016209351760e01b0319815290516001600160a01b039092169263fff6cae992828201926000929082900301818387803b1580156112d857600080fd5b505af11580156112ec573d6000803e3d6000fd5b5050506001600160a01b0383166000908152601a6020526040902054611313915082611b8f565b6001600160a01b039092166000908152601a602052604090209190915550565b6004546001600160a01b031681565b60085481565b6113506116be565b61135957600080fd5b60405147906001600160a01b0383169060648584020480156108fc02916000818181858888f19350505050158015611395573d6000803e3d6000fd5b50505050565b6000611005601954601654611be990919063ffffffff16565b601554600160a01b900460ff1681565b6019546001600160a01b0382166000908152601a60205260408120549091610e869190611be9565b6113f46116be565b6113fd57600080fd5b6002546040516101009091046001600160a01b0316907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a260028054610100600160a81b0319169055565b6114546116be565b61145d57600080fd5b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b601560009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156114d157600080fd5b505af1158015611395573d6000803e3d6000fd5b60006114ef6116be565b6114f857600080fd5b60175460ff161561153c576040805162461bcd60e51b81526020600482015260096024820152682a393c9030b3b0b4b760b91b604482015290519081900360640190fd5b8161158257601854604080519182525184917f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2919081900360200190a250601854610e86565b60008212156115a45760185461159c906000849003611f02565b6018556115b5565b6018546115b19083611b8f565b6018555b6018546001600160801b0310156115d2576001600160801b036018555b6018546115ee906b0cecb8f27f4200f3a0000000600019611287565b601955600480546040805160016209351760e01b0319815290516001600160a01b039092169263fff6cae992828201926000929082900301818387803b15801561163757600080fd5b505af115801561164b573d6000803e3d6000fd5b505060185460408051918252518693507f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f292509081900360200190a25060185492915050565b6010546001600160a01b031681565b60175460ff161590565b60025461010090046001600160a01b031690565b60025461010090046001600160a01b0316331490565b6116dc6116be565b6116e557600080fd5b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b60018054604080516020601f60026000196101008789161502019095169490940493840181900481028201810190925282815260609390929091830182828015610dd95780601f10610dae57610100808354040283529160200191610dd9565b60075481565b61177e6116be565b61178757600080fd5b61108a81611f86565b61179933611f44565b565b600454600090600160a01b900460ff16806117b957506117b96116be565b806117d357503360009081526005602052604090205460ff165b6117dc57600080fd5b336000908152601b602090815260408083206001600160a01b038716845290915290205480831061183057336000908152601b602090815260408083206001600160a01b038816845290915281205561185f565b61183a8184611f02565b336000908152601b602090815260408083206001600160a01b03891684529091529020555b336000818152601b602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6015546001600160a01b031681565b6000826001600160a01b0381166118ea57600080fd5b600454600160a01b900460ff168061190557506119056116be565b8061191f57503360009081526005602052604090205460ff165b61192857600080fd5b611933338585611d43565b506001949350505050565b6000610e86600383611fc8565b60095481565b600f546001600160a01b031681565b6119686116be565b61197157600080fd5b6015805460ff60a01b1916600160a01b851515021790556119ab826119a5836b0cecb8f27f4200f3a0000000600019611287565b9061202f565b601655505050565b600454600160a01b900460ff1681565b6119cb6116be565b6119d457600080fd5b60005b83811015610d4657611a17338686848181106119ef57fe5b905060200201356001600160a01b0316858585818110611a0b57fe5b90506020020135611d43565b506001016119d7565b6001600160a01b031660009081526006602052604090205460ff1690565b6019546015546001600160a01b03166000908152601a602052604081205490918291611a6991611be9565b9050611a8b611a76610fa8565b610fff611a8484600261202f565b869061202f565b9392505050565b611a9a6116be565b611aa357600080fd5b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6011546001600160a01b031681565b611ade6116be565b611ae757600080fd5b600f80546001600160a01b039485166001600160a01b031991821617909155601080549385169382169390931790925560118054919093169116179055565b6001600160a01b039182166000908152601b6020908152604080832093909416825291909152205490565b611b596116be565b611b6257600080fd5b61108a81612088565b6014546001600160a01b031681565b601c6020526000908152604090205460ff1681565b600082820183811015611a8b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611a8b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612102565b611c358282611fc8565b15611c87576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60008184841115611d3b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d00578181015183820152602001611ce8565b50505050905090810190601f168015611d2d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0383166000908152601c602052604081205460ff16158015611d8557506001600160a01b0383166000908152601c602052604090205460ff16155b611dc5576040805162461bcd60e51b815260206004820152600c60248201526b1a5b97d89b1858dadb1a5cdd60a21b604482015290519081900360640190fd5b60175460ff1615611de257611ddb848484612167565b9050611a8b565b6000611df96019548461202f90919063ffffffff16565b9050611e036121f9565b15611e1057611e1061224f565b6001600160a01b0385166000908152601a6020526040902054611e339082611f02565b6001600160a01b0386166000908152601a6020526040812091909155611e598686612669565b611e635781611e6e565b611e6e8686846126bd565b6001600160a01b0386166000908152601a6020526040902054909150611e949082611b8f565b6001600160a01b038087166000818152601a6020526040902092909255601954908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ee5908590611be9565b60408051918252519081900360200190a350600195945050505050565b6000611a8b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cac565b611f4f60038261278f565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b611f91600382611c2b565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b60006001600160a01b03821661200f5760405162461bcd60e51b81526004018080602001828103825260228152602001806128696022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b60008261203e57506000610e86565b8282028284828161204b57fe5b0414611a8b5760405162461bcd60e51b81526004018080602001828103825260218152602001806128486021913960400191505060405180910390fd5b6001600160a01b03811661209b57600080fd5b6002546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600280546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600081836121515760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611d00578181015183820152602001611ce8565b50600083858161215d57fe5b0495945050505050565b60008061217f6019548461202f90919063ffffffff16565b6001600160a01b0386166000908152601a60205260409020549091506121a59082611f02565b6001600160a01b038087166000908152601a602052604080822093909355908616815220546121d49082611b8f565b6001600160a01b0385166000908152601a602052604090205550600190509392505050565b6015546000906001600160a01b0316331480159061221a575060175460ff16155b801561222f5750601554600160a01b900460ff165b8015611005575050601654306000908152601a6020526040902054101590565b6017805460ff1916600117905560125460135460009161226e91610e8c565b61227a5760075461227d565b60005b601954306000908152601a60205260408120549293509161229d91611be9565b905060006122bf6002610fff600b54610fff878761202f90919063ffffffff16565b905060006122cd8383611f02565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061230157fe5b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561235557600080fd5b505afa158015612369573d6000803e3d6000fd5b505050506040513d602081101561237f57600080fd5b505181518290600190811061239057fe5b6001600160a01b0392831660209182029290920181019190915260145460405163791ac94760e01b8152600481018681526000602483018190523060648401819052426084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b8381101561242a578181015183820152602001612412565b505050509050019650505050505050600060405180830381600087803b15801561245357600080fd5b505af1158015612467573d6000803e3d6000fd5b5050505060006124808247611f0290919063ffffffff16565b9050600061249b612492896002611be9565b600b5490611f02565b905060006124b06002610fff8481878e61202f565b905060006124cd83610fff6009548761202f90919063ffffffff16565b905060006124ea84610fff6008548861202f90919063ffffffff16565b6010546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114612541576040519150601f19603f3d011682016040523d82523d6000602084013e612546565b606091505b50506011546040519192506001600160a01b0316906175309085906000818181858888f193505050503d806000811461259b576040519150601f19603f3d011682016040523d82523d6000602084013e6125a0565b606091505b5060009250508a15905061265157601454600f546040805163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0392831660848201524260a48201529051919092169163f305d71991879160c48082019260609290919082900301818588803b15801561262357600080fd5b505af1158015612637573d6000803e3d6000fd5b50505050506040513d606081101561264e57600080fd5b50505b50506017805460ff1916905550505050505050505050565b6015546000906001600160a01b038481169116148061269557506015546001600160a01b038381169116145b8015611a8b575050506001600160a01b031660009081526006602052604090205460ff161590565b600b54601554600091906001600160a01b03858116911614156126eb57600a546126e8908290611b8f565b90505b600c546000906126ff90610fff868561202f565b306000908152601a602052604090205490915061271c9082611b8f565b306000818152601a60205260409020919091556019546001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061276a908590611be9565b60408051918252519081900360200190a36127858482611f02565b9695505050505050565b6127998282611fc8565b6127d45760405162461bcd60e51b81526004018080602001828103825260218152602001806128276021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff1916905556fe4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373a2646970667358221220a167c5ca88cda6b6f9ccc9a1e7683ca1a626bfb5502aeea4cf9a6d426c9ee50064736f6c63430007060033526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373
Deployed Bytecode
0x6080604052600436106103545760003560e01c80637a43e23f116101c6578063bda5c8bb116100f7578063d5938aac11610095578063dd62ed3e1161006f578063dd62ed3e14610c3e578063f2fde38b14610c79578063f887ea4014610cac578063f9f92be414610cc15761035b565b8063d5938aac14610bb1578063d7ac658514610be4578063d7c0103214610bf95761035b565b8063d1fce264116100d1578063d1fce26414610a70578063d37e219d14610a85578063d439979014610b54578063d51ed1c814610b875761035b565b8063bda5c8bb14610a0e578063ca33e64c14610a23578063d088935814610a385761035b565b806398118cb411610164578063a457c2d71161013e578063a457c2d714610954578063a8aa1b311461098d578063a9059cbb146109a2578063aa271e1a146109db5761035b565b806398118cb4146108f7578063983b2d561461090c578063986502751461093f5761035b565b80638da5cb5b116101a05780638da5cb5b1461087d5780638f32d59b146108925780639155e083146108a757806395d89b41146108e25761035b565b80637a43e23f14610823578063800cee511461085357806383b4ac68146108685761035b565b80633092afd5116102a057806356a227f21161023e57806370a082311161021857806370a0823114610793578063715018a6146107c6578063749796a5146107db578063753d02a11461080e5761035b565b806356a227f2146107305780636d351d1a146107695780636ddd17131461077e5761035b565b8063395093511161027a578063395093511461067857806340c10f19146106b15780634d709adf146106ea578063563df32f1461071b5761035b565b80633092afd5146105e1578063313ce5671461061457806333f3d6281461063f5761035b565b80631df4ccfc1161030d5780632b112e49116102e75780632b112e491461056f5780632b14ca56146105845780632be6937d146105995780632f34d282146105ae5761035b565b80631df4ccfc146104e7578063201e7991146104fc57806323b872dd1461052c5761035b565b806304a66b481461036057806306fdde03146103a4578063095ea7b31461042e5780631161ae391461047b578063180b0d7e146104ab57806318160ddd146104d25761035b565b3661035b57005b600080fd5b34801561036c57600080fd5b506103a2600480360360a081101561038357600080fd5b5080359060208101359060408101359060608101359060800135610cf4565b005b3480156103b057600080fd5b506103b9610d4d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103f35781810151838201526020016103db565b50505050905090810190601f1680156104205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561043a57600080fd5b506104676004803603604081101561045157600080fd5b506001600160a01b038135169060200135610de3565b604080519115158252519081900360200190f35b34801561048757600080fd5b506104676004803603604081101561049e57600080fd5b5080359060200135610e8c565b3480156104b757600080fd5b506104c0610ea0565b60408051918252519081900360200190f35b3480156104de57600080fd5b506104c0610ea6565b3480156104f357600080fd5b506104c0610eac565b34801561050857600080fd5b506103a26004803603604081101561051f57600080fd5b5080359060200135610eb2565b34801561053857600080fd5b506104676004803603606081101561054f57600080fd5b506001600160a01b03813581169160208101359091169060400135610ece565b34801561057b57600080fd5b506104c0610fa8565b34801561059057600080fd5b506104c061100a565b3480156105a557600080fd5b506103a2611010565b3480156105ba57600080fd5b506103a2600480360360208110156105d157600080fd5b50356001600160a01b0316611036565b3480156105ed57600080fd5b506103a26004803603602081101561060457600080fd5b50356001600160a01b0316611070565b34801561062057600080fd5b5061062961108d565b6040805160ff9092168252519081900360200190f35b34801561064b57600080fd5b506104676004803603604081101561066257600080fd5b506001600160a01b038135169060200135611096565b34801561068457600080fd5b506104676004803603604081101561069b57600080fd5b506001600160a01b03813516906020013561112b565b3480156106bd57600080fd5b506103a2600480360360408110156106d457600080fd5b506001600160a01b0381351690602001356111ff565b3480156106f657600080fd5b506106ff611333565b604080516001600160a01b039092168252519081900360200190f35b34801561072757600080fd5b506104c0611342565b34801561073c57600080fd5b506103a26004803603604081101561075357600080fd5b50803590602001356001600160a01b0316611348565b34801561077557600080fd5b506104c061139b565b34801561078a57600080fd5b506104676113b4565b34801561079f57600080fd5b506104c0600480360360208110156107b657600080fd5b50356001600160a01b03166113c4565b3480156107d257600080fd5b506103a26113ec565b3480156107e757600080fd5b506103a2600480360360208110156107fe57600080fd5b50356001600160a01b031661144c565b34801561081a57600080fd5b506103a2611481565b34801561082f57600080fd5b506104c06004803603604081101561084657600080fd5b50803590602001356114e5565b34801561085f57600080fd5b506106ff611691565b34801561087457600080fd5b506104676116a0565b34801561088957600080fd5b506106ff6116aa565b34801561089e57600080fd5b506104676116be565b3480156108b357600080fd5b506103a2600480360360408110156108ca57600080fd5b506001600160a01b03813516906020013515156116d4565b3480156108ee57600080fd5b506103b9611710565b34801561090357600080fd5b506104c0611770565b34801561091857600080fd5b506103a26004803603602081101561092f57600080fd5b50356001600160a01b0316611776565b34801561094b57600080fd5b506103a2611790565b34801561096057600080fd5b506104676004803603604081101561097757600080fd5b506001600160a01b03813516906020013561179b565b34801561099957600080fd5b506106ff6118c5565b3480156109ae57600080fd5b50610467600480360360408110156109c557600080fd5b506001600160a01b0381351690602001356118d4565b3480156109e757600080fd5b50610467600480360360208110156109fe57600080fd5b50356001600160a01b031661193e565b348015610a1a57600080fd5b506104c061194b565b348015610a2f57600080fd5b506106ff611951565b348015610a4457600080fd5b506103a260048036036060811015610a5b57600080fd5b50803515159060208101359060400135611960565b348015610a7c57600080fd5b506104676119b3565b348015610a9157600080fd5b506103a260048036036040811015610aa857600080fd5b810190602081018135640100000000811115610ac357600080fd5b820183602082011115610ad557600080fd5b80359060200191846020830284011164010000000083111715610af757600080fd5b919390929091602081019035640100000000811115610b1557600080fd5b820183602082011115610b2757600080fd5b80359060200191846020830284011164010000000083111715610b4957600080fd5b5090925090506119c3565b348015610b6057600080fd5b5061046760048036036020811015610b7757600080fd5b50356001600160a01b0316611a20565b348015610b9357600080fd5b506104c060048036036020811015610baa57600080fd5b5035611a3e565b348015610bbd57600080fd5b506103a260048036036020811015610bd457600080fd5b50356001600160a01b0316611a92565b348015610bf057600080fd5b506106ff611ac7565b348015610c0557600080fd5b506103a260048036036060811015610c1c57600080fd5b506001600160a01b038135811691602081013582169160409091013516611ad6565b348015610c4a57600080fd5b506104c060048036036040811015610c6157600080fd5b506001600160a01b0381358116916020013516611b26565b348015610c8557600080fd5b506103a260048036036020811015610c9c57600080fd5b50356001600160a01b0316611b51565b348015610cb857600080fd5b506106ff611b6b565b348015610ccd57600080fd5b5061046760048036036020811015610ce457600080fd5b50356001600160a01b0316611b7a565b610cfc6116be565b610d0557600080fd5b600785905560098490556008839055600a829055610d2d84610d278786611b8f565b90611b8f565b600b55600c81905560048104600b5410610d4657600080fd5b5050505050565b60008054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610dd95780601f10610dae57610100808354040283529160200191610dd9565b820191906000526020600020905b815481529060010190602001808311610dbc57829003601f168201915b5050505050905090565b600454600090600160a01b900460ff1680610e015750610e016116be565b80610e1b57503360009081526005602052604090205460ff165b610e2457600080fd5b336000818152601b602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b600082610e9883611a3e565b119392505050565b600c5481565b60185490565b600b5481565b610eba6116be565b610ec357600080fd5b601291909155601355565b6000826001600160a01b038116610ee457600080fd5b6001600160a01b0385166000908152601b6020908152604080832033845290915290205460001914610f91576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0388166000908152601b82528381203382529091529190912054610f6c918590611cac565b6001600160a01b0386166000908152601b602090815260408083203384529091529020555b610f9c858585611d43565b50600195945050505050565b601954600e546001600160a01b039081166000908152601a602052604080822054600d5490931682528120549092611005929091610fff9190610ff9906b01d290004395eb7bbfffffff1990611f02565b90611f02565b90611be9565b905090565b600a5481565b6110186116be565b61102157600080fd5b6004805460ff60a01b1916600160a01b179055565b61103e6116be565b61104757600080fd5b600480546001600160a01b039092166001600160a01b0319909216821790556000526006602052565b6110786116be565b61108157600080fd5b61108a81611f44565b50565b60025460ff1690565b60006110a06116be565b6110a957600080fd5b6040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b0385169163a9059cbb9160448083019260209291908290030181600087803b1580156110f857600080fd5b505af115801561110c573d6000803e3d6000fd5b505050506040513d602081101561112257600080fd5b50519392505050565b600454600090600160a01b900460ff168061114957506111496116be565b8061116357503360009081526005602052604090205460ff165b61116c57600080fd5b336000908152601b602090815260408083206001600160a01b038716845290915290205461119a9083611b8f565b336000818152601b602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6112083361193e565b6112435760405162461bcd60e51b81526004018080602001828103825260308152602001806127f76030913960400191505060405180910390fd5b6018546112509082611b8f565b60188190556001600160801b03101561126f576001600160801b036018555b60185461128f906b0cecb8f27f4200f3a00000006000195b061990611be9565b601955600480546040805160016209351760e01b0319815290516001600160a01b039092169263fff6cae992828201926000929082900301818387803b1580156112d857600080fd5b505af11580156112ec573d6000803e3d6000fd5b5050506001600160a01b0383166000908152601a6020526040902054611313915082611b8f565b6001600160a01b039092166000908152601a602052604090209190915550565b6004546001600160a01b031681565b60085481565b6113506116be565b61135957600080fd5b60405147906001600160a01b0383169060648584020480156108fc02916000818181858888f19350505050158015611395573d6000803e3d6000fd5b50505050565b6000611005601954601654611be990919063ffffffff16565b601554600160a01b900460ff1681565b6019546001600160a01b0382166000908152601a60205260408120549091610e869190611be9565b6113f46116be565b6113fd57600080fd5b6002546040516101009091046001600160a01b0316907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a260028054610100600160a81b0319169055565b6114546116be565b61145d57600080fd5b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b601560009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156114d157600080fd5b505af1158015611395573d6000803e3d6000fd5b60006114ef6116be565b6114f857600080fd5b60175460ff161561153c576040805162461bcd60e51b81526020600482015260096024820152682a393c9030b3b0b4b760b91b604482015290519081900360640190fd5b8161158257601854604080519182525184917f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2919081900360200190a250601854610e86565b60008212156115a45760185461159c906000849003611f02565b6018556115b5565b6018546115b19083611b8f565b6018555b6018546001600160801b0310156115d2576001600160801b036018555b6018546115ee906b0cecb8f27f4200f3a0000000600019611287565b601955600480546040805160016209351760e01b0319815290516001600160a01b039092169263fff6cae992828201926000929082900301818387803b15801561163757600080fd5b505af115801561164b573d6000803e3d6000fd5b505060185460408051918252518693507f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f292509081900360200190a25060185492915050565b6010546001600160a01b031681565b60175460ff161590565b60025461010090046001600160a01b031690565b60025461010090046001600160a01b0316331490565b6116dc6116be565b6116e557600080fd5b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b60018054604080516020601f60026000196101008789161502019095169490940493840181900481028201810190925282815260609390929091830182828015610dd95780601f10610dae57610100808354040283529160200191610dd9565b60075481565b61177e6116be565b61178757600080fd5b61108a81611f86565b61179933611f44565b565b600454600090600160a01b900460ff16806117b957506117b96116be565b806117d357503360009081526005602052604090205460ff165b6117dc57600080fd5b336000908152601b602090815260408083206001600160a01b038716845290915290205480831061183057336000908152601b602090815260408083206001600160a01b038816845290915281205561185f565b61183a8184611f02565b336000908152601b602090815260408083206001600160a01b03891684529091529020555b336000818152601b602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6015546001600160a01b031681565b6000826001600160a01b0381166118ea57600080fd5b600454600160a01b900460ff168061190557506119056116be565b8061191f57503360009081526005602052604090205460ff165b61192857600080fd5b611933338585611d43565b506001949350505050565b6000610e86600383611fc8565b60095481565b600f546001600160a01b031681565b6119686116be565b61197157600080fd5b6015805460ff60a01b1916600160a01b851515021790556119ab826119a5836b0cecb8f27f4200f3a0000000600019611287565b9061202f565b601655505050565b600454600160a01b900460ff1681565b6119cb6116be565b6119d457600080fd5b60005b83811015610d4657611a17338686848181106119ef57fe5b905060200201356001600160a01b0316858585818110611a0b57fe5b90506020020135611d43565b506001016119d7565b6001600160a01b031660009081526006602052604090205460ff1690565b6019546015546001600160a01b03166000908152601a602052604081205490918291611a6991611be9565b9050611a8b611a76610fa8565b610fff611a8484600261202f565b869061202f565b9392505050565b611a9a6116be565b611aa357600080fd5b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6011546001600160a01b031681565b611ade6116be565b611ae757600080fd5b600f80546001600160a01b039485166001600160a01b031991821617909155601080549385169382169390931790925560118054919093169116179055565b6001600160a01b039182166000908152601b6020908152604080832093909416825291909152205490565b611b596116be565b611b6257600080fd5b61108a81612088565b6014546001600160a01b031681565b601c6020526000908152604090205460ff1681565b600082820183811015611a8b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611a8b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612102565b611c358282611fc8565b15611c87576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60008184841115611d3b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d00578181015183820152602001611ce8565b50505050905090810190601f168015611d2d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0383166000908152601c602052604081205460ff16158015611d8557506001600160a01b0383166000908152601c602052604090205460ff16155b611dc5576040805162461bcd60e51b815260206004820152600c60248201526b1a5b97d89b1858dadb1a5cdd60a21b604482015290519081900360640190fd5b60175460ff1615611de257611ddb848484612167565b9050611a8b565b6000611df96019548461202f90919063ffffffff16565b9050611e036121f9565b15611e1057611e1061224f565b6001600160a01b0385166000908152601a6020526040902054611e339082611f02565b6001600160a01b0386166000908152601a6020526040812091909155611e598686612669565b611e635781611e6e565b611e6e8686846126bd565b6001600160a01b0386166000908152601a6020526040902054909150611e949082611b8f565b6001600160a01b038087166000818152601a6020526040902092909255601954908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ee5908590611be9565b60408051918252519081900360200190a350600195945050505050565b6000611a8b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cac565b611f4f60038261278f565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b611f91600382611c2b565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b60006001600160a01b03821661200f5760405162461bcd60e51b81526004018080602001828103825260228152602001806128696022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b60008261203e57506000610e86565b8282028284828161204b57fe5b0414611a8b5760405162461bcd60e51b81526004018080602001828103825260218152602001806128486021913960400191505060405180910390fd5b6001600160a01b03811661209b57600080fd5b6002546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600280546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600081836121515760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611d00578181015183820152602001611ce8565b50600083858161215d57fe5b0495945050505050565b60008061217f6019548461202f90919063ffffffff16565b6001600160a01b0386166000908152601a60205260409020549091506121a59082611f02565b6001600160a01b038087166000908152601a602052604080822093909355908616815220546121d49082611b8f565b6001600160a01b0385166000908152601a602052604090205550600190509392505050565b6015546000906001600160a01b0316331480159061221a575060175460ff16155b801561222f5750601554600160a01b900460ff165b8015611005575050601654306000908152601a6020526040902054101590565b6017805460ff1916600117905560125460135460009161226e91610e8c565b61227a5760075461227d565b60005b601954306000908152601a60205260408120549293509161229d91611be9565b905060006122bf6002610fff600b54610fff878761202f90919063ffffffff16565b905060006122cd8383611f02565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061230157fe5b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561235557600080fd5b505afa158015612369573d6000803e3d6000fd5b505050506040513d602081101561237f57600080fd5b505181518290600190811061239057fe5b6001600160a01b0392831660209182029290920181019190915260145460405163791ac94760e01b8152600481018681526000602483018190523060648401819052426084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b8381101561242a578181015183820152602001612412565b505050509050019650505050505050600060405180830381600087803b15801561245357600080fd5b505af1158015612467573d6000803e3d6000fd5b5050505060006124808247611f0290919063ffffffff16565b9050600061249b612492896002611be9565b600b5490611f02565b905060006124b06002610fff8481878e61202f565b905060006124cd83610fff6009548761202f90919063ffffffff16565b905060006124ea84610fff6008548861202f90919063ffffffff16565b6010546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114612541576040519150601f19603f3d011682016040523d82523d6000602084013e612546565b606091505b50506011546040519192506001600160a01b0316906175309085906000818181858888f193505050503d806000811461259b576040519150601f19603f3d011682016040523d82523d6000602084013e6125a0565b606091505b5060009250508a15905061265157601454600f546040805163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0392831660848201524260a48201529051919092169163f305d71991879160c48082019260609290919082900301818588803b15801561262357600080fd5b505af1158015612637573d6000803e3d6000fd5b50505050506040513d606081101561264e57600080fd5b50505b50506017805460ff1916905550505050505050505050565b6015546000906001600160a01b038481169116148061269557506015546001600160a01b038381169116145b8015611a8b575050506001600160a01b031660009081526006602052604090205460ff161590565b600b54601554600091906001600160a01b03858116911614156126eb57600a546126e8908290611b8f565b90505b600c546000906126ff90610fff868561202f565b306000908152601a602052604090205490915061271c9082611b8f565b306000818152601a60205260409020919091556019546001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061276a908590611be9565b60408051918252519081900360200190a36127858482611f02565b9695505050505050565b6127998282611fc8565b6127d45760405162461bcd60e51b81526004018080602001828103825260218152602001806128276021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff1916905556fe4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373a2646970667358221220a167c5ca88cda6b6f9ccc9a1e7683ca1a626bfb5502aeea4cf9a6d426c9ee50064736f6c63430007060033
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.