ERC-20
Overview
Max Total Supply
100,000,000 CANDY
Holders
31
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
807,144.568923293799474583 CANDYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Candy
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
/** Website: https://www.candytoken.app/ Twitter: https://twitter.com/candyerc20 Telegram: https://t.me/candyerc20 Docs: https://docs.candytoken.app */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; import "../IERC20.sol"; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } 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; // assert(a == b * c + a % b); // There is no case in which this doesn't hold 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; } } library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require( address(this).balance >= amount, "Address: insufficient balance" ); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{value: amount}(""); require( success, "Address: unable to send value, recipient may have reverted" ); } function functionCall( address target, bytes memory data ) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue( target, data, value, "Address: low-level call with value failed" ); } function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require( address(this).balance >= value, "Address: insufficient balance for call" ); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue( address target, bytes memory data, uint256 weiValue, string memory errorMessage ) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{value: weiValue}( data ); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { 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 waiveOwnership() 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 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 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 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 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 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 IStaking { function deposit(address _address, uint amount) external; } contract Candy is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; // Stake IStaking public stake; // Burn Stats uint256 public totalBurned = 0; uint256 public totalBurnRewards = 0; uint256 public burnCapDivisor = 10; // Divisor for burn reward cap per tx uint256 public burnSub1EthCap = 100000000000000000; // cap in gwei if rewards < 1 Eth string private _name = "TRICK OR TREAT"; string private _symbol = "CANDY"; uint8 private _decimals = 18; mapping(address => uint256) _balances; mapping(address => mapping(address => uint256)) private _allowances; address payable private devMarketingWallet; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; uint256 public _buyJackpotFees = 10; uint256 public _buyDevFees = 5; uint256 public _buyBurnFees = 10; uint256 public _sellJackpotFees = 10; uint256 public _sellDevFees = 5; uint256 public _sellBurnFees = 10; uint256 public _jackpotShares = 2; uint256 public _devShares = 1; uint256 public _burnShares = 2; uint256 public _totalDistributionShares = 5; uint256 public _totalTaxIfBuying = 25; uint256 public _totalTaxIfSelling = 25; uint public buyCount = 0; // Fees / MaxWallet / TxLimit exemption mappings mapping(address => bool) public checkExcludedFromFees; mapping(address => bool) public checkWalletLimitExcept; mapping(address => bool) public checkTxLimitExcept; mapping(address => bool) public checkMarketPair; // Supply / Max Tx tokenomics uint256 private _totalSupply = 100 * 10 ** 6 * 10 ** 18; uint256 public _maxTxAmount = 2 * 10 ** 6 * 10 ** 18; uint256 public _walletMax = 2 * 10 ** 6 * 10 ** 18; uint256 private minimumTokensBeforeSwap = 2 * 10 ** 5 * 10 ** 18; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; // Swap and liquify flags (for taxes) bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; bool public enableTrading; // events & modifiers event BurnedTokensForEth( address account, uint256 burnAmount, uint256 ethRecievedAmount ); event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens(uint256 amountIn, address[] path); event SwapTokensForETH(uint256 amountIn, address[] path); modifier lockTheSwap() { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor(address _stakingAddress) { devMarketingWallet = payable(msg.sender); stake = IStaking(_stakingAddress); uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); uniswapPair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); _approve(address(this), address(uniswapV2Router), _totalSupply); _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; checkExcludedFromFees[owner()] = true; checkExcludedFromFees[address(this)] = true; checkExcludedFromFees[_stakingAddress] = true; _totalTaxIfBuying = _buyJackpotFees.add(_buyDevFees).add(_buyBurnFees); _totalTaxIfSelling = _sellJackpotFees.add(_sellDevFees).add( _sellBurnFees ); _totalDistributionShares = _jackpotShares.add(_devShares).add( _burnShares ); checkWalletLimitExcept[owner()] = true; checkWalletLimitExcept[address(uniswapPair)] = true; checkWalletLimitExcept[address(this)] = true; checkWalletLimitExcept[address(stake)] = true; checkTxLimitExcept[owner()] = true; checkTxLimitExcept[address(this)] = true; checkMarketPair[address(uniswapPair)] = true; _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); } 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; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance( address owner, address spender ) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance( address spender, uint256 addedValue ) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue) ); return true; } 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; } function approve( address spender, uint256 amount ) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } 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); } function addMarketPair(address account) public onlyOwner { checkMarketPair[account] = true; } function setcheckTxLimitExcept( address holder, bool exempt ) external onlyOwner { checkTxLimitExcept[holder] = exempt; } function setcheckExcludedFromFees( address account, bool newValue ) public onlyOwner { checkExcludedFromFees[account] = newValue; } function setDistributionSettings( uint256 newLiquidityShare, uint256 newDevShare, uint256 newBurnShare ) external onlyOwner { _jackpotShares = newLiquidityShare; _devShares = newDevShare; _burnShares = newBurnShare; _totalDistributionShares = _jackpotShares.add(_devShares).add( _burnShares ); } function adjustMaxTxAmount(uint256 maxTxAmount) external onlyOwner { require( maxTxAmount <= (100 * 10 ** 6 * 10 ** 18), "Max wallet should be less" ); _maxTxAmount = maxTxAmount; } function enableDisableWalletLimit(bool newValue) external onlyOwner { checkWalletLimit = newValue; } function setcheckWalletLimitExcept( address holder, bool exempt ) external onlyOwner { checkWalletLimitExcept[holder] = exempt; } function setWalletLimit(uint256 newLimit) external onlyOwner { _walletMax = newLimit; } function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner { minimumTokensBeforeSwap = newLimit; } function setDevMarketingWallet(address newAddress) external onlyOwner { devMarketingWallet = payable(newAddress); } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner { swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function setSwapAndLiquifyByLimitOnly(bool newValue) public onlyOwner { swapAndLiquifyByLimitOnly = newValue; } function openTrading() external onlyOwner { require(!enableTrading, "trading opened"); addLiquidity(balanceOf(address(this)), address(this).balance); enableTrading = true; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function transferToAddressETH( address payable recipient, uint256 amount ) private { recipient.transfer(amount); } // msg.sender burns tokens and recieve uniswap rate TAX FREE, instead of selling. function burnForEth(uint256 amount) public returns (bool) { require(balanceOf(_msgSender()) >= amount, "not enough funds to burn"); address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); uint[] memory a = uniswapV2Router.getAmountsOut(amount, path); uint256 cap; if (address(this).balance <= 1 ether) { cap = burnSub1EthCap; } else { cap = address(this).balance / burnCapDivisor; } require(a[a.length - 1] <= cap, "amount greater than cap"); require( address(this).balance >= a[a.length - 1], "not enough funds in contract" ); transferToAddressETH(_msgSender(), a[a.length - 1]); _burn(_msgSender(), amount); totalBurnRewards += a[a.length - 1]; totalBurned += amount; emit BurnedTokensForEth(_msgSender(), amount, a[a.length - 1]); return true; } function transfer( address recipient, uint256 amount ) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } 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"); if ((recipient == address(this)) && (enableTrading)) { recipient = address(stake); stake.deposit(sender, amount); } if (inSwapAndLiquify) { _basicTransfer(sender, recipient, amount); } else { if (!checkTxLimitExcept[sender] && !checkTxLimitExcept[recipient]) { require( amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount." ); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if ( overMinimumTokenBalance && !inSwapAndLiquify && !checkMarketPair[sender] && swapAndLiquifyEnabled ) { if (swapAndLiquifyByLimitOnly && enableTrading) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify( amount < contractTokenBalance ? amount : contractTokenBalance ); } _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); uint256 finalAmount = (checkExcludedFromFees[sender] || checkExcludedFromFees[recipient]) ? amount : takeFee(sender, recipient, amount); if (!enableTrading) finalAmount = takeFee(sender, recipient, amount); if (checkWalletLimit && !checkWalletLimitExcept[recipient]) require(balanceOf(recipient).add(finalAmount) <= _walletMax); _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); } } function _basicTransfer( address sender, address recipient, uint256 amount ) internal returns (bool) { _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { if (!enableTrading) return; uint256 ethBalanceBeforeSwap = address(this).balance; swapTokensForEth(tAmount); uint256 amountReceived = address(this).balance.sub( ethBalanceBeforeSwap ); uint256 amountETHJackpot = amountReceived.mul(_jackpotShares).div( _totalDistributionShares ); uint256 amountETHDev = amountReceived.mul(_devShares).div( _totalDistributionShares ); if (amountETHJackpot > 0) transferToAddressETH(payable(address(stake)), amountETHJackpot); if (amountETHDev > 0) transferToAddressETH(devMarketingWallet, amountETHDev); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), // The contract block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner(), block.timestamp ); } function takeFee( address sender, address recipient, uint256 amount ) internal returns (uint256) { uint256 feeAmount = 0; if (checkMarketPair[sender]) { feeAmount = amount.mul(buyCount > 20 ? 5 : _totalTaxIfBuying).div( 100 ); buyCount = buyCount.add(1); } else if (checkMarketPair[recipient]) { feeAmount = amount.mul(buyCount > 20 ? 5 : _totalTaxIfSelling).div( 100 ); } if (feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } function getStats() public view returns (uint256, uint256, uint256) { return (totalBurned, totalBurnRewards, address(this).balance); } function swapBack() external onlyOwner { owner().call{value: address(this).balance}(""); } receive() external payable {} fallback() external payable {} }
pragma solidity ^0.8.19; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); }
{ "remappings": [ "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "lib/forge-std:ds-test/=lib/forge-std/lib/ds-test/src/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "paris", "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_stakingAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"burnAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethRecievedAmount","type":"uint256"}],"name":"BurnedTokensForEth","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"_burnShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyBurnFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyDevFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyJackpotFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_jackpotShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellBurnFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDevFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellJackpotFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"adjustMaxTxAmount","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":"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":"burnCapDivisor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnForEth","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnSub1EthCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"checkExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"checkMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"checkTxLimitExcept","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"checkWalletLimitExcept","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStats","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setDevMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newDevShare","type":"uint256"},{"internalType":"uint256","name":"newBurnShare","type":"uint256"}],"name":"setDistributionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyByLimitOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setcheckExcludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setcheckTxLimitExcept","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setcheckWalletLimitExcept","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stake","outputs":[{"internalType":"contract IStaking","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurnRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurned","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":"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":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60006003819055600455600a60055567016345785d8a000060065560e0604052600e60a09081526d15149250d2c813d488151491505560921b60c0526007906200004a90826200080f565b5060408051808201909152600581526443414e445960d81b60208201526008906200007690826200080f565b5060098054601260ff19909116811790915561dead608052600a600d8190556005600e819055600f829055601082905560118190559155600260138190556001601455601555601655601960178190556018819055600090556a52b7d2dcc80cd2e4000000601e556a01a784379d99db42000000601f819055602055692a5a058fc295ed0000006021556023805462ffffff60a81b19166201000160a81b1790553480156200012457600080fd5b50604051620033ed380380620033ed8339810160408190526200014791620008db565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c8054336001600160a01b0319918216179091556002805482166001600160a01b03841617905560228054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200020b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002319190620008db565b6001600160a01b031663c9c6539630602260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000294573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ba9190620008db565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000308573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032e9190620008db565b602380546001600160a01b0319166001600160a01b03928316179055602254601e546200035f9230921690620005d2565b601e54306000908152600b602090815260408083206022546001600160a01b03168452909152812091909155600190601a90620003a46000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152601a909352818320805485166001908117909155908516835291208054909216179055600f54600e54600d546200041a9291620004139190620006fe565b90620006fe565b601755601254601154601054620004389291620004139190620006fe565b601855601554601454601354620004569291620004139190620006fe565b6016556001601b6000620004726000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560235482168152601b9093528183208054851660019081179091553084528284208054861682179055600254909116835290822080549093168117909255601c90620004f46000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152601c84528281208054861660019081179091556023549092168152601d909352908220805490931617909155601e5490600a90620005603390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601e54604051620005c391815260200190565b60405180910390a35062000928565b6001600160a01b0383166200063a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166200069d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000631565b6001600160a01b038381166000818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000806200070d838562000906565b905083811015620007615760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000631565b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200079557607f821691505b602082108103620007b657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200080a57600081815260208120601f850160051c81016020861015620007e55750805b601f850160051c820191505b818110156200080657828155600101620007f1565b5050505b505050565b81516001600160401b038111156200082b576200082b6200076a565b62000843816200083c845462000780565b84620007bc565b602080601f8311600181146200087b5760008415620008625750858301515b600019600386901b1c1916600185901b17855562000806565b600085815260208120601f198616915b82811015620008ac578886015182559484019460019091019084016200088b565b5085821015620008cb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620008ee57600080fd5b81516001600160a01b03811681146200076157600080fd5b808201808211156200076457634e487b7160e01b600052601160045260246000fd5b608051612aa26200094b6000396000818161048e0152610c8f0152612aa26000f3fe6080604052600436106103815760003560e01c806382eefb43116101cf578063c59d484711610101578063e207a92b1161009a578063f872858a1161006c578063f872858a14610aad578063fabf706314610ace578063fb34a33614610afe578063fe47e0c914610b1457005b8063e207a92b14610a37578063f0cd1dac14610a57578063f1d5f51714610a6d578063f2fde38b14610a8d57005b8063ca703075116100d3578063ca703075146109a4578063d89135cd146109ba578063da00097d146109d0578063dd62ed3e146109f157005b8063c59d484714610910578063c78a789b1461093f578063c816841b1461096f578063c9567bf91461098f57005b8063a08e671f11610173578063a9059cbb11610145578063a9059cbb14610890578063af254b72146108b0578063c2d4640e146108d0578063c49b9a80146108f057005b8063a08e671f14610824578063a40dcda31461083a578063a457c2d714610850578063a5d69d1f1461087057005b80638e223341116101ac5780638e223341146107c45780638f03aad5146107da578063914eb66a146107fa57806395d89b411461080f57005b806382eefb431461076f5780638a8c523c146107855780638da5cb5b146107a657005b80633d98b9af116102b35780635e2524551161024c57806374e8414e1161021e57806374e8414e1461070d5780637b3a3ec61461072d5780637d1db4a514610743578063807c2d9c1461075957005b80635e2524551461068c578063667b511c146106a25780636ac5eeee146106c257806370a08231146106d757005b80634f1c2aa4116102855780634f1c2aa4146105f6578063526012e81461060c57806355324fa91461063c57806357e6adcb1461066c57005b80633d98b9af146105935780633f251688146105a95780634a728e24146105bf5780634a74bb02146105d557005b80632b112e491161032557806332cd6bcb116102f757806332cd6bcb1461051d57806339509351146105335780633a4b66f1146105535780633b97084a1461057357005b80632b112e49146104b05780632cdae5cb146104c5578063313ce567146104e557806331eca57e1461050757005b806318160ddd1161035e57806318160ddd1461041d57806323b872dd1461043c5780632563ae831461045c57806327c8f8351461047c57005b806306fdde031461038a578063095ea7b3146103b55780631694505e146103e557005b3661038857005b005b34801561039657600080fd5b5061039f610b2a565b6040516103ac9190612572565b60405180910390f35b3480156103c157600080fd5b506103d56103d03660046125d8565b610bbc565b60405190151581526020016103ac565b3480156103f157600080fd5b50602254610405906001600160a01b031681565b6040516001600160a01b0390911681526020016103ac565b34801561042957600080fd5b50601e545b6040519081526020016103ac565b34801561044857600080fd5b506103d5610457366004612604565b610bd3565b34801561046857600080fd5b5061038861047736600461265a565b610c3c565b34801561048857600080fd5b506104057f000000000000000000000000000000000000000000000000000000000000000081565b3480156104bc57600080fd5b5061042e610c8d565b3480156104d157600080fd5b506103886104e0366004612675565b610cd7565b3480156104f157600080fd5b5060095460405160ff90911681526020016103ac565b34801561051357600080fd5b5061042e60065481565b34801561052957600080fd5b5061042e600d5481565b34801561053f57600080fd5b506103d561054e3660046125d8565b610d2c565b34801561055f57600080fd5b50600254610405906001600160a01b031681565b34801561057f57600080fd5b5061038861058e3660046126aa565b610d62565b34801561059f57600080fd5b5061042e60125481565b3480156105b557600080fd5b5061042e60145481565b3480156105cb57600080fd5b5061042e600e5481565b3480156105e157600080fd5b506023546103d590600160a81b900460ff1681565b34801561060257600080fd5b5061042e60155481565b34801561061857600080fd5b506103d56106273660046126c3565b601b6020526000908152604090205460ff1681565b34801561064857600080fd5b506103d56106573660046126c3565b601d6020526000908152604090205460ff1681565b34801561067857600080fd5b50610388610687366004612675565b610d91565b34801561069857600080fd5b5061042e600f5481565b3480156106ae57600080fd5b506103886106bd366004612675565b610de6565b3480156106ce57600080fd5b50610388610e3b565b3480156106e357600080fd5b5061042e6106f23660046126c3565b6001600160a01b03166000908152600a602052604090205490565b34801561071957600080fd5b506103886107283660046126c3565b610ec5565b34801561073957600080fd5b5061042e60055481565b34801561074f57600080fd5b5061042e601f5481565b34801561076557600080fd5b5061042e60205481565b34801561077b57600080fd5b5061042e60185481565b34801561079157600080fd5b506023546103d590600160c01b900460ff1681565b3480156107b257600080fd5b506000546001600160a01b0316610405565b3480156107d057600080fd5b5061042e60135481565b3480156107e657600080fd5b506103886107f53660046126aa565b610f11565b34801561080657600080fd5b50610388610f9b565b34801561081b57600080fd5b5061039f61100f565b34801561083057600080fd5b5061042e60165481565b34801561084657600080fd5b5061042e60115481565b34801561085c57600080fd5b506103d561086b3660046125d8565b61101e565b34801561087c57600080fd5b5061038861088b36600461265a565b61106d565b34801561089c57600080fd5b506103d56108ab3660046125d8565b6110b5565b3480156108bc57600080fd5b506103d56108cb3660046126aa565b6110c2565b3480156108dc57600080fd5b506103886108eb3660046126e0565b611492565b3480156108fc57600080fd5b5061038861090b36600461265a565b6114e7565b34801561091c57600080fd5b5060035460045447604080519384526020840192909252908201526060016103ac565b34801561094b57600080fd5b506103d561095a3660046126c3565b601c6020526000908152604090205460ff1681565b34801561097b57600080fd5b50602354610405906001600160a01b031681565b34801561099b57600080fd5b50610388611569565b3480156109b057600080fd5b5061042e60195481565b3480156109c657600080fd5b5061042e60035481565b3480156109dc57600080fd5b506023546103d590600160b01b900460ff1681565b3480156109fd57600080fd5b5061042e610a0c36600461270c565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b348015610a4357600080fd5b50610388610a523660046126c3565b61160d565b348015610a6357600080fd5b5061042e60175481565b348015610a7957600080fd5b50610388610a883660046126aa565b61165b565b348015610a9957600080fd5b50610388610aa83660046126c3565b61168a565b348015610ab957600080fd5b506023546103d590600160b81b900460ff1681565b348015610ada57600080fd5b506103d5610ae93660046126c3565b601a6020526000908152604090205460ff1681565b348015610b0a57600080fd5b5061042e60045481565b348015610b2057600080fd5b5061042e60105481565b606060078054610b3990612745565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6590612745565b8015610bb25780601f10610b8757610100808354040283529160200191610bb2565b820191906000526020600020905b815481529060010190602001808311610b9557829003601f168201915b5050505050905090565b6000610bc9338484611774565b5060015b92915050565b6000610be0848484611899565b610c328433610c2d85604051806060016040528060288152602001612a00602891396001600160a01b038a166000908152600b602090815260408083203384529091529020549190611d20565b611774565b5060019392505050565b6000546001600160a01b03163314610c6f5760405162461bcd60e51b8152600401610c669061277f565b60405180910390fd5b60238054911515600160b81b0260ff60b81b19909216919091179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166000908152600a6020526040812054601e54610cd291611d5a565b905090565b6000546001600160a01b03163314610d015760405162461bcd60e51b8152600401610c669061277f565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b336000818152600b602090815260408083206001600160a01b03871684529091528120549091610bc9918590610c2d9086611da3565b6000546001600160a01b03163314610d8c5760405162461bcd60e51b8152600401610c669061277f565b602155565b6000546001600160a01b03163314610dbb5760405162461bcd60e51b8152600401610c669061277f565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e105760405162461bcd60e51b8152600401610c669061277f565b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e655760405162461bcd60e51b8152600401610c669061277f565b6000546001600160a01b03166001600160a01b03164760405160006040518083038185875af1925050503d8060008114610ebb576040519150601f19603f3d011682016040523d82523d6000602084013e505050565b606091505b505050565b6000546001600160a01b03163314610eef5760405162461bcd60e51b8152600401610c669061277f565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610f3b5760405162461bcd60e51b8152600401610c669061277f565b6a52b7d2dcc80cd2e4000000811115610f965760405162461bcd60e51b815260206004820152601960248201527f4d61782077616c6c65742073686f756c64206265206c657373000000000000006044820152606401610c66565b601f55565b6000546001600160a01b03163314610fc55760405162461bcd60e51b8152600401610c669061277f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b606060088054610b3990612745565b6000610bc93384610c2d85604051806060016040528060258152602001612a4860259139336000908152600b602090815260408083206001600160a01b038d1684529091529020549190611d20565b6000546001600160a01b031633146110975760405162461bcd60e51b8152600401610c669061277f565b60238054911515600160b01b0260ff60b01b19909216919091179055565b6000610bc9338484611899565b6000816110ce336106f2565b101561111c5760405162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f7567682066756e647320746f206275726e00000000000000006044820152606401610c66565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611151576111516127ca565b6001600160a01b03928316602091820292909201810191909152602254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ce91906127e0565b816001815181106111e1576111e16127ca565b6001600160a01b03928316602091820292909201015260225460405163d06ca61f60e01b8152600092919091169063d06ca61f906112259087908690600401612841565b600060405180830381865afa158015611242573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261126a9190810190612862565b90506000670de0b6b3a764000047116112865750600654611296565b6005546112939047612936565b90505b8082600184516112a69190612958565b815181106112b6576112b66127ca565b6020026020010151111561130c5760405162461bcd60e51b815260206004820152601760248201527f616d6f756e742067726561746572207468616e206361700000000000000000006044820152606401610c66565b816001835161131b9190612958565b8151811061132b5761132b6127ca565b60200260200101514710156113825760405162461bcd60e51b815260206004820152601c60248201527f6e6f7420656e6f7567682066756e647320696e20636f6e7472616374000000006044820152606401610c66565b6113b23383600185516113959190612958565b815181106113a5576113a56127ca565b6020026020010151611e02565b6113bc3386611e38565b81600183516113cb9190612958565b815181106113db576113db6127ca565b6020026020010151600460008282546113f4919061296b565b92505081905550846003600082825461140d919061296b565b909155507f6ca5c7c2d43ebd8c6d3049382038bb2df58288440912f41fcd488a779ed943819050338684600186516114459190612958565b81518110611455576114556127ca565b602090810291909101810151604080516001600160a01b0390951685529184019290925282015260600160405180910390a1506001949350505050565b6000546001600160a01b031633146114bc5760405162461bcd60e51b8152600401610c669061277f565b6013839055601482905560158190556114df816114d98585611da3565b90611da3565b601655505050565b6000546001600160a01b031633146115115760405162461bcd60e51b8152600401610c669061277f565b60238054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061155e90831515815260200190565b60405180910390a150565b6000546001600160a01b031633146115935760405162461bcd60e51b8152600401610c669061277f565b602354600160c01b900460ff16156115de5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99c81bdc195b995960921b6044820152606401610c66565b306000908152600a60205260409020546115f89047611f6c565b6023805460ff60c01b1916600160c01b179055565b6000546001600160a01b031633146116375760405162461bcd60e51b8152600401610c669061277f565b6001600160a01b03166000908152601d60205260409020805460ff19166001179055565b6000546001600160a01b031633146116855760405162461bcd60e51b8152600401610c669061277f565b602055565b6000546001600160a01b031633146116b45760405162461bcd60e51b8152600401610c669061277f565b6001600160a01b0381166117195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c66565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166117d65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c66565b6001600160a01b0382166118375760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c66565b6001600160a01b038381166000818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166118fd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c66565b6001600160a01b03821661195f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c66565b6001600160a01b038216301480156119805750602354600160c01b900460ff165b156119ef576002546040516311f9fbc960e21b81526001600160a01b03858116600483015260248201849052909116925082906347e7ef2490604401600060405180830381600087803b1580156119d657600080fd5b505af11580156119ea573d6000803e3d6000fd5b505050505b602354600160a01b900460ff1615611a1257611a0c838383612041565b50505050565b6001600160a01b0383166000908152601c602052604090205460ff16158015611a5457506001600160a01b0382166000908152601c602052604090205460ff16155b15611abc57601f54811115611abc5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610c66565b306000908152600a602052604090205460215481108015908190611aea5750602354600160a01b900460ff16155b8015611b0f57506001600160a01b0385166000908152601d602052604090205460ff16155b8015611b245750602354600160a81b900460ff165b15611b6c57602354600160b01b900460ff168015611b4b5750602354600160c01b900460ff165b15611b565760215491505b611b6c828410611b665782612115565b83612115565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0388166000908152600a9091529190912054611bbe918590611d20565b6001600160a01b0386166000908152600a6020908152604080832093909355601a90529081205460ff1680611c0b57506001600160a01b0385166000908152601a602052604090205460ff165b611c1f57611c1a8686866121e2565b611c21565b835b602354909150600160c01b900460ff16611c4357611c408686866121e2565b90505b602354600160b81b900460ff168015611c7557506001600160a01b0385166000908152601b602052604090205460ff16155b15611cab57602054611ca0826114d9886001600160a01b03166000908152600a602052604090205490565b1115611cab57600080fd5b6001600160a01b0385166000908152600a6020526040902054611cce9082611da3565b6001600160a01b038087166000818152600a60205260409081902093909355915190881690600080516020612a2883398151915290611d109085815260200190565b60405180910390a3505050505050565b60008184841115611d445760405162461bcd60e51b8152600401610c669190612572565b506000611d518486612958565b95945050505050565b6000611d9c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d20565b9392505050565b600080611db0838561296b565b905083811015611d9c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c66565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610ec0573d6000803e3d6000fd5b6001600160a01b038216611e985760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610c66565b6001600160a01b0382166000908152600a602052604090205481811015611f0c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610c66565b6001600160a01b0383166000908152600a602052604081208383039055601e8054849290611f3b908490612958565b90915550506040518281526000906001600160a01b03851690600080516020612a288339815191529060200161188c565b602254611f849030906001600160a01b031684611774565b6022546001600160a01b031663f305d719823085600080611fad6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015612015573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061203a919061297e565b5050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600a90915291822054612092918490611d20565b6001600160a01b038086166000908152600a602052604080822093909355908516815220546120c19083611da3565b6001600160a01b038085166000818152600a60205260409081902093909355915190861690600080516020612a28833981519152906121039086815260200190565b60405180910390a35060019392505050565b6023805460ff60a01b1916600160a01b1790819055600160c01b900460ff16156121d25747612143826122f2565b600061214f4783611d5a565b9050600061217460165461216e6013548561248590919063ffffffff16565b90612507565b9050600061219360165461216e6014548661248590919063ffffffff16565b905081156121b1576002546121b1906001600160a01b031683611e02565b80156121cd57600c546121cd906001600160a01b031682611e02565b505050505b506023805460ff60a01b19169055565b6001600160a01b0383166000908152601d6020526040812054819060ff161561224257612229606461216e60146019541161221f57601754612222565b60055b8690612485565b60195490915061223a906001611da3565b601955612280565b6001600160a01b0384166000908152601d602052604090205460ff16156122805761227d606461216e60146019541161221f57601854612222565b90505b80156122e857306000908152600a60205260409020546122a09082611da3565b306000818152600a6020526040908190209290925590516001600160a01b03871690600080516020612a28833981519152906122df9085815260200190565b60405180910390a35b611d518382611d5a565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612327576123276127ca565b6001600160a01b03928316602091820292909201810191909152602254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a491906127e0565b816001815181106123b7576123b76127ca565b6001600160a01b0392831660209182029290920101526022546123dd9130911684611774565b60225460405163791ac94760e01b81526001600160a01b039091169063791ac947906124169085906000908690309042906004016129ac565b600060405180830381600087803b15801561243057600080fd5b505af1158015612444573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612479929190612841565b60405180910390a15050565b60008260000361249757506000610bcd565b60006124a383856129e8565b9050826124b08583612936565b14611d9c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c66565b6000611d9c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836125655760405162461bcd60e51b8152600401610c669190612572565b506000611d518486612936565b600060208083528351808285015260005b8181101561259f57858101830151858201604001528201612583565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146125d557600080fd5b50565b600080604083850312156125eb57600080fd5b82356125f6816125c0565b946020939093013593505050565b60008060006060848603121561261957600080fd5b8335612624816125c0565b92506020840135612634816125c0565b929592945050506040919091013590565b8035801515811461265557600080fd5b919050565b60006020828403121561266c57600080fd5b611d9c82612645565b6000806040838503121561268857600080fd5b8235612693816125c0565b91506126a160208401612645565b90509250929050565b6000602082840312156126bc57600080fd5b5035919050565b6000602082840312156126d557600080fd5b8135611d9c816125c0565b6000806000606084860312156126f557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561271f57600080fd5b823561272a816125c0565b9150602083013561273a816125c0565b809150509250929050565b600181811c9082168061275957607f821691505b60208210810361277957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000602082840312156127f257600080fd5b8151611d9c816125c0565b600081518084526020808501945080840160005b838110156128365781516001600160a01b031687529582019590820190600101612811565b509495945050505050565b82815260406020820152600061285a60408301846127fd565b949350505050565b6000602080838503121561287557600080fd5b825167ffffffffffffffff8082111561288d57600080fd5b818501915085601f8301126128a157600080fd5b8151818111156128b3576128b36127b4565b8060051b604051601f19603f830116810181811085821117156128d8576128d86127b4565b6040529182528482019250838101850191888311156128f657600080fd5b938501935b82851015612914578451845293850193928501926128fb565b98975050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008261295357634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610bcd57610bcd612920565b80820180821115610bcd57610bcd612920565b60008060006060848603121561299357600080fd5b8351925060208401519150604084015190509250925092565b85815284602082015260a0604082015260006129cb60a08301866127fd565b6001600160a01b0394909416606083015250608001529392505050565b8082028115828204841417610bcd57610bcd61292056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220cf929460cb3883fb65e7d159730a4b606547ed8a5f4dc67cfbe70f5274930bec64736f6c6343000813003300000000000000000000000044f737a29ee507d2c1c4604426eefa5f424a2d71
Deployed Bytecode
0x6080604052600436106103815760003560e01c806382eefb43116101cf578063c59d484711610101578063e207a92b1161009a578063f872858a1161006c578063f872858a14610aad578063fabf706314610ace578063fb34a33614610afe578063fe47e0c914610b1457005b8063e207a92b14610a37578063f0cd1dac14610a57578063f1d5f51714610a6d578063f2fde38b14610a8d57005b8063ca703075116100d3578063ca703075146109a4578063d89135cd146109ba578063da00097d146109d0578063dd62ed3e146109f157005b8063c59d484714610910578063c78a789b1461093f578063c816841b1461096f578063c9567bf91461098f57005b8063a08e671f11610173578063a9059cbb11610145578063a9059cbb14610890578063af254b72146108b0578063c2d4640e146108d0578063c49b9a80146108f057005b8063a08e671f14610824578063a40dcda31461083a578063a457c2d714610850578063a5d69d1f1461087057005b80638e223341116101ac5780638e223341146107c45780638f03aad5146107da578063914eb66a146107fa57806395d89b411461080f57005b806382eefb431461076f5780638a8c523c146107855780638da5cb5b146107a657005b80633d98b9af116102b35780635e2524551161024c57806374e8414e1161021e57806374e8414e1461070d5780637b3a3ec61461072d5780637d1db4a514610743578063807c2d9c1461075957005b80635e2524551461068c578063667b511c146106a25780636ac5eeee146106c257806370a08231146106d757005b80634f1c2aa4116102855780634f1c2aa4146105f6578063526012e81461060c57806355324fa91461063c57806357e6adcb1461066c57005b80633d98b9af146105935780633f251688146105a95780634a728e24146105bf5780634a74bb02146105d557005b80632b112e491161032557806332cd6bcb116102f757806332cd6bcb1461051d57806339509351146105335780633a4b66f1146105535780633b97084a1461057357005b80632b112e49146104b05780632cdae5cb146104c5578063313ce567146104e557806331eca57e1461050757005b806318160ddd1161035e57806318160ddd1461041d57806323b872dd1461043c5780632563ae831461045c57806327c8f8351461047c57005b806306fdde031461038a578063095ea7b3146103b55780631694505e146103e557005b3661038857005b005b34801561039657600080fd5b5061039f610b2a565b6040516103ac9190612572565b60405180910390f35b3480156103c157600080fd5b506103d56103d03660046125d8565b610bbc565b60405190151581526020016103ac565b3480156103f157600080fd5b50602254610405906001600160a01b031681565b6040516001600160a01b0390911681526020016103ac565b34801561042957600080fd5b50601e545b6040519081526020016103ac565b34801561044857600080fd5b506103d5610457366004612604565b610bd3565b34801561046857600080fd5b5061038861047736600461265a565b610c3c565b34801561048857600080fd5b506104057f000000000000000000000000000000000000000000000000000000000000dead81565b3480156104bc57600080fd5b5061042e610c8d565b3480156104d157600080fd5b506103886104e0366004612675565b610cd7565b3480156104f157600080fd5b5060095460405160ff90911681526020016103ac565b34801561051357600080fd5b5061042e60065481565b34801561052957600080fd5b5061042e600d5481565b34801561053f57600080fd5b506103d561054e3660046125d8565b610d2c565b34801561055f57600080fd5b50600254610405906001600160a01b031681565b34801561057f57600080fd5b5061038861058e3660046126aa565b610d62565b34801561059f57600080fd5b5061042e60125481565b3480156105b557600080fd5b5061042e60145481565b3480156105cb57600080fd5b5061042e600e5481565b3480156105e157600080fd5b506023546103d590600160a81b900460ff1681565b34801561060257600080fd5b5061042e60155481565b34801561061857600080fd5b506103d56106273660046126c3565b601b6020526000908152604090205460ff1681565b34801561064857600080fd5b506103d56106573660046126c3565b601d6020526000908152604090205460ff1681565b34801561067857600080fd5b50610388610687366004612675565b610d91565b34801561069857600080fd5b5061042e600f5481565b3480156106ae57600080fd5b506103886106bd366004612675565b610de6565b3480156106ce57600080fd5b50610388610e3b565b3480156106e357600080fd5b5061042e6106f23660046126c3565b6001600160a01b03166000908152600a602052604090205490565b34801561071957600080fd5b506103886107283660046126c3565b610ec5565b34801561073957600080fd5b5061042e60055481565b34801561074f57600080fd5b5061042e601f5481565b34801561076557600080fd5b5061042e60205481565b34801561077b57600080fd5b5061042e60185481565b34801561079157600080fd5b506023546103d590600160c01b900460ff1681565b3480156107b257600080fd5b506000546001600160a01b0316610405565b3480156107d057600080fd5b5061042e60135481565b3480156107e657600080fd5b506103886107f53660046126aa565b610f11565b34801561080657600080fd5b50610388610f9b565b34801561081b57600080fd5b5061039f61100f565b34801561083057600080fd5b5061042e60165481565b34801561084657600080fd5b5061042e60115481565b34801561085c57600080fd5b506103d561086b3660046125d8565b61101e565b34801561087c57600080fd5b5061038861088b36600461265a565b61106d565b34801561089c57600080fd5b506103d56108ab3660046125d8565b6110b5565b3480156108bc57600080fd5b506103d56108cb3660046126aa565b6110c2565b3480156108dc57600080fd5b506103886108eb3660046126e0565b611492565b3480156108fc57600080fd5b5061038861090b36600461265a565b6114e7565b34801561091c57600080fd5b5060035460045447604080519384526020840192909252908201526060016103ac565b34801561094b57600080fd5b506103d561095a3660046126c3565b601c6020526000908152604090205460ff1681565b34801561097b57600080fd5b50602354610405906001600160a01b031681565b34801561099b57600080fd5b50610388611569565b3480156109b057600080fd5b5061042e60195481565b3480156109c657600080fd5b5061042e60035481565b3480156109dc57600080fd5b506023546103d590600160b01b900460ff1681565b3480156109fd57600080fd5b5061042e610a0c36600461270c565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b348015610a4357600080fd5b50610388610a523660046126c3565b61160d565b348015610a6357600080fd5b5061042e60175481565b348015610a7957600080fd5b50610388610a883660046126aa565b61165b565b348015610a9957600080fd5b50610388610aa83660046126c3565b61168a565b348015610ab957600080fd5b506023546103d590600160b81b900460ff1681565b348015610ada57600080fd5b506103d5610ae93660046126c3565b601a6020526000908152604090205460ff1681565b348015610b0a57600080fd5b5061042e60045481565b348015610b2057600080fd5b5061042e60105481565b606060078054610b3990612745565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6590612745565b8015610bb25780601f10610b8757610100808354040283529160200191610bb2565b820191906000526020600020905b815481529060010190602001808311610b9557829003601f168201915b5050505050905090565b6000610bc9338484611774565b5060015b92915050565b6000610be0848484611899565b610c328433610c2d85604051806060016040528060288152602001612a00602891396001600160a01b038a166000908152600b602090815260408083203384529091529020549190611d20565b611774565b5060019392505050565b6000546001600160a01b03163314610c6f5760405162461bcd60e51b8152600401610c669061277f565b60405180910390fd5b60238054911515600160b81b0260ff60b81b19909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b03166000908152600a6020526040812054601e54610cd291611d5a565b905090565b6000546001600160a01b03163314610d015760405162461bcd60e51b8152600401610c669061277f565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b336000818152600b602090815260408083206001600160a01b03871684529091528120549091610bc9918590610c2d9086611da3565b6000546001600160a01b03163314610d8c5760405162461bcd60e51b8152600401610c669061277f565b602155565b6000546001600160a01b03163314610dbb5760405162461bcd60e51b8152600401610c669061277f565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e105760405162461bcd60e51b8152600401610c669061277f565b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e655760405162461bcd60e51b8152600401610c669061277f565b6000546001600160a01b03166001600160a01b03164760405160006040518083038185875af1925050503d8060008114610ebb576040519150601f19603f3d011682016040523d82523d6000602084013e505050565b606091505b505050565b6000546001600160a01b03163314610eef5760405162461bcd60e51b8152600401610c669061277f565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610f3b5760405162461bcd60e51b8152600401610c669061277f565b6a52b7d2dcc80cd2e4000000811115610f965760405162461bcd60e51b815260206004820152601960248201527f4d61782077616c6c65742073686f756c64206265206c657373000000000000006044820152606401610c66565b601f55565b6000546001600160a01b03163314610fc55760405162461bcd60e51b8152600401610c669061277f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b606060088054610b3990612745565b6000610bc93384610c2d85604051806060016040528060258152602001612a4860259139336000908152600b602090815260408083206001600160a01b038d1684529091529020549190611d20565b6000546001600160a01b031633146110975760405162461bcd60e51b8152600401610c669061277f565b60238054911515600160b01b0260ff60b01b19909216919091179055565b6000610bc9338484611899565b6000816110ce336106f2565b101561111c5760405162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f7567682066756e647320746f206275726e00000000000000006044820152606401610c66565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611151576111516127ca565b6001600160a01b03928316602091820292909201810191909152602254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ce91906127e0565b816001815181106111e1576111e16127ca565b6001600160a01b03928316602091820292909201015260225460405163d06ca61f60e01b8152600092919091169063d06ca61f906112259087908690600401612841565b600060405180830381865afa158015611242573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261126a9190810190612862565b90506000670de0b6b3a764000047116112865750600654611296565b6005546112939047612936565b90505b8082600184516112a69190612958565b815181106112b6576112b66127ca565b6020026020010151111561130c5760405162461bcd60e51b815260206004820152601760248201527f616d6f756e742067726561746572207468616e206361700000000000000000006044820152606401610c66565b816001835161131b9190612958565b8151811061132b5761132b6127ca565b60200260200101514710156113825760405162461bcd60e51b815260206004820152601c60248201527f6e6f7420656e6f7567682066756e647320696e20636f6e7472616374000000006044820152606401610c66565b6113b23383600185516113959190612958565b815181106113a5576113a56127ca565b6020026020010151611e02565b6113bc3386611e38565b81600183516113cb9190612958565b815181106113db576113db6127ca565b6020026020010151600460008282546113f4919061296b565b92505081905550846003600082825461140d919061296b565b909155507f6ca5c7c2d43ebd8c6d3049382038bb2df58288440912f41fcd488a779ed943819050338684600186516114459190612958565b81518110611455576114556127ca565b602090810291909101810151604080516001600160a01b0390951685529184019290925282015260600160405180910390a1506001949350505050565b6000546001600160a01b031633146114bc5760405162461bcd60e51b8152600401610c669061277f565b6013839055601482905560158190556114df816114d98585611da3565b90611da3565b601655505050565b6000546001600160a01b031633146115115760405162461bcd60e51b8152600401610c669061277f565b60238054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061155e90831515815260200190565b60405180910390a150565b6000546001600160a01b031633146115935760405162461bcd60e51b8152600401610c669061277f565b602354600160c01b900460ff16156115de5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99c81bdc195b995960921b6044820152606401610c66565b306000908152600a60205260409020546115f89047611f6c565b6023805460ff60c01b1916600160c01b179055565b6000546001600160a01b031633146116375760405162461bcd60e51b8152600401610c669061277f565b6001600160a01b03166000908152601d60205260409020805460ff19166001179055565b6000546001600160a01b031633146116855760405162461bcd60e51b8152600401610c669061277f565b602055565b6000546001600160a01b031633146116b45760405162461bcd60e51b8152600401610c669061277f565b6001600160a01b0381166117195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c66565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166117d65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c66565b6001600160a01b0382166118375760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c66565b6001600160a01b038381166000818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166118fd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c66565b6001600160a01b03821661195f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c66565b6001600160a01b038216301480156119805750602354600160c01b900460ff165b156119ef576002546040516311f9fbc960e21b81526001600160a01b03858116600483015260248201849052909116925082906347e7ef2490604401600060405180830381600087803b1580156119d657600080fd5b505af11580156119ea573d6000803e3d6000fd5b505050505b602354600160a01b900460ff1615611a1257611a0c838383612041565b50505050565b6001600160a01b0383166000908152601c602052604090205460ff16158015611a5457506001600160a01b0382166000908152601c602052604090205460ff16155b15611abc57601f54811115611abc5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610c66565b306000908152600a602052604090205460215481108015908190611aea5750602354600160a01b900460ff16155b8015611b0f57506001600160a01b0385166000908152601d602052604090205460ff16155b8015611b245750602354600160a81b900460ff165b15611b6c57602354600160b01b900460ff168015611b4b5750602354600160c01b900460ff165b15611b565760215491505b611b6c828410611b665782612115565b83612115565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0388166000908152600a9091529190912054611bbe918590611d20565b6001600160a01b0386166000908152600a6020908152604080832093909355601a90529081205460ff1680611c0b57506001600160a01b0385166000908152601a602052604090205460ff165b611c1f57611c1a8686866121e2565b611c21565b835b602354909150600160c01b900460ff16611c4357611c408686866121e2565b90505b602354600160b81b900460ff168015611c7557506001600160a01b0385166000908152601b602052604090205460ff16155b15611cab57602054611ca0826114d9886001600160a01b03166000908152600a602052604090205490565b1115611cab57600080fd5b6001600160a01b0385166000908152600a6020526040902054611cce9082611da3565b6001600160a01b038087166000818152600a60205260409081902093909355915190881690600080516020612a2883398151915290611d109085815260200190565b60405180910390a3505050505050565b60008184841115611d445760405162461bcd60e51b8152600401610c669190612572565b506000611d518486612958565b95945050505050565b6000611d9c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d20565b9392505050565b600080611db0838561296b565b905083811015611d9c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c66565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610ec0573d6000803e3d6000fd5b6001600160a01b038216611e985760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610c66565b6001600160a01b0382166000908152600a602052604090205481811015611f0c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610c66565b6001600160a01b0383166000908152600a602052604081208383039055601e8054849290611f3b908490612958565b90915550506040518281526000906001600160a01b03851690600080516020612a288339815191529060200161188c565b602254611f849030906001600160a01b031684611774565b6022546001600160a01b031663f305d719823085600080611fad6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015612015573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061203a919061297e565b5050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600a90915291822054612092918490611d20565b6001600160a01b038086166000908152600a602052604080822093909355908516815220546120c19083611da3565b6001600160a01b038085166000818152600a60205260409081902093909355915190861690600080516020612a28833981519152906121039086815260200190565b60405180910390a35060019392505050565b6023805460ff60a01b1916600160a01b1790819055600160c01b900460ff16156121d25747612143826122f2565b600061214f4783611d5a565b9050600061217460165461216e6013548561248590919063ffffffff16565b90612507565b9050600061219360165461216e6014548661248590919063ffffffff16565b905081156121b1576002546121b1906001600160a01b031683611e02565b80156121cd57600c546121cd906001600160a01b031682611e02565b505050505b506023805460ff60a01b19169055565b6001600160a01b0383166000908152601d6020526040812054819060ff161561224257612229606461216e60146019541161221f57601754612222565b60055b8690612485565b60195490915061223a906001611da3565b601955612280565b6001600160a01b0384166000908152601d602052604090205460ff16156122805761227d606461216e60146019541161221f57601854612222565b90505b80156122e857306000908152600a60205260409020546122a09082611da3565b306000818152600a6020526040908190209290925590516001600160a01b03871690600080516020612a28833981519152906122df9085815260200190565b60405180910390a35b611d518382611d5a565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612327576123276127ca565b6001600160a01b03928316602091820292909201810191909152602254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a491906127e0565b816001815181106123b7576123b76127ca565b6001600160a01b0392831660209182029290920101526022546123dd9130911684611774565b60225460405163791ac94760e01b81526001600160a01b039091169063791ac947906124169085906000908690309042906004016129ac565b600060405180830381600087803b15801561243057600080fd5b505af1158015612444573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612479929190612841565b60405180910390a15050565b60008260000361249757506000610bcd565b60006124a383856129e8565b9050826124b08583612936565b14611d9c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c66565b6000611d9c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836125655760405162461bcd60e51b8152600401610c669190612572565b506000611d518486612936565b600060208083528351808285015260005b8181101561259f57858101830151858201604001528201612583565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146125d557600080fd5b50565b600080604083850312156125eb57600080fd5b82356125f6816125c0565b946020939093013593505050565b60008060006060848603121561261957600080fd5b8335612624816125c0565b92506020840135612634816125c0565b929592945050506040919091013590565b8035801515811461265557600080fd5b919050565b60006020828403121561266c57600080fd5b611d9c82612645565b6000806040838503121561268857600080fd5b8235612693816125c0565b91506126a160208401612645565b90509250929050565b6000602082840312156126bc57600080fd5b5035919050565b6000602082840312156126d557600080fd5b8135611d9c816125c0565b6000806000606084860312156126f557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561271f57600080fd5b823561272a816125c0565b9150602083013561273a816125c0565b809150509250929050565b600181811c9082168061275957607f821691505b60208210810361277957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000602082840312156127f257600080fd5b8151611d9c816125c0565b600081518084526020808501945080840160005b838110156128365781516001600160a01b031687529582019590820190600101612811565b509495945050505050565b82815260406020820152600061285a60408301846127fd565b949350505050565b6000602080838503121561287557600080fd5b825167ffffffffffffffff8082111561288d57600080fd5b818501915085601f8301126128a157600080fd5b8151818111156128b3576128b36127b4565b8060051b604051601f19603f830116810181811085821117156128d8576128d86127b4565b6040529182528482019250838101850191888311156128f657600080fd5b938501935b82851015612914578451845293850193928501926128fb565b98975050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008261295357634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610bcd57610bcd612920565b80820180821115610bcd57610bcd612920565b60008060006060848603121561299357600080fd5b8351925060208401519150604084015190509250925092565b85815284602082015260a0604082015260006129cb60a08301866127fd565b6001600160a01b0394909416606083015250608001529392505050565b8082028115828204841417610bcd57610bcd61292056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220cf929460cb3883fb65e7d159730a4b606547ed8a5f4dc67cfbe70f5274930bec64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000044f737a29ee507d2c1c4604426eefa5f424a2d71
-----Decoded View---------------
Arg [0] : _stakingAddress (address): 0x44F737A29eE507d2C1c4604426eeFa5F424A2d71
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000044f737a29ee507d2c1c4604426eefa5f424a2d71
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.