More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 45 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Manual Send | 16216919 | 617 days ago | IN | 0 ETH | 0.00045562 | ||||
Approve | 16027012 | 644 days ago | IN | 0 ETH | 0.00095728 | ||||
Approve | 16026072 | 644 days ago | IN | 0 ETH | 0.00100055 | ||||
Approve | 16026044 | 644 days ago | IN | 0 ETH | 0.00139812 | ||||
Approve | 16026043 | 644 days ago | IN | 0 ETH | 0.00120065 | ||||
Approve | 16025943 | 644 days ago | IN | 0 ETH | 0.00129866 | ||||
Approve | 16025688 | 644 days ago | IN | 0 ETH | 0.00069352 | ||||
Approve | 16025681 | 644 days ago | IN | 0 ETH | 0.00102528 | ||||
Approve | 16025677 | 644 days ago | IN | 0 ETH | 0.00106901 | ||||
Renounce Ownersh... | 16025661 | 644 days ago | IN | 0 ETH | 0.0003393 | ||||
Set Wallet Limit | 16025657 | 644 days ago | IN | 0 ETH | 0.00044079 | ||||
Approve | 16025650 | 644 days ago | IN | 0 ETH | 0.00074905 | ||||
Approve | 16025647 | 644 days ago | IN | 0 ETH | 0.00070881 | ||||
Approve | 16025644 | 644 days ago | IN | 0 ETH | 0.00133358 | ||||
Approve | 16025641 | 644 days ago | IN | 0 ETH | 0.0007926 | ||||
Approve | 16025636 | 644 days ago | IN | 0 ETH | 0.00071518 | ||||
Approve | 16025635 | 644 days ago | IN | 0 ETH | 0.00104724 | ||||
Approve | 16025633 | 644 days ago | IN | 0 ETH | 0.0005564 | ||||
Approve | 16025633 | 644 days ago | IN | 0 ETH | 0.0005564 | ||||
Approve | 16025633 | 644 days ago | IN | 0 ETH | 0.00066721 | ||||
Approve | 16025633 | 644 days ago | IN | 0 ETH | 0.00066721 | ||||
Approve | 16025633 | 644 days ago | IN | 0 ETH | 0.00069051 | ||||
Approve | 16025633 | 644 days ago | IN | 0 ETH | 0.00066721 | ||||
Approve | 16025633 | 644 days ago | IN | 0 ETH | 0.00066721 | ||||
Approve | 16025633 | 644 days ago | IN | 0 ETH | 0.00079993 |
Latest 19 internal transactions
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
16216919 | 617 days ago | 0.03265091 ETH | ||||
16035696 | 643 days ago | 0.00806402 ETH | ||||
16026029 | 644 days ago | 0.01356958 ETH | ||||
16025766 | 644 days ago | 0.0110173 ETH | ||||
16025766 | 644 days ago | 0.0110173 ETH | ||||
16025731 | 644 days ago | 0.05570854 ETH | ||||
16025731 | 644 days ago | 0.01557487 ETH | ||||
16025729 | 644 days ago | 0.04013367 ETH | ||||
16025669 | 644 days ago | 0.0743788 ETH | ||||
16025669 | 644 days ago | 0.03528007 ETH | ||||
16025653 | 644 days ago | 0.03909873 ETH | ||||
16025652 | 644 days ago | 0.08822296 ETH | ||||
16025652 | 644 days ago | 0.04345672 ETH | ||||
16025652 | 644 days ago | 0.04476623 ETH | ||||
16025652 | 644 days ago | 0.05031925 ETH | ||||
16025652 | 644 days ago | 0.05031925 ETH | ||||
16025647 | 644 days ago | 0.09046227 ETH | ||||
16025647 | 644 days ago | 0.0560407 ETH | ||||
16025631 | 644 days ago | 0.03442156 ETH |
Loading...
Loading
Contract Name:
WCF
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-11-22 */ /** Official Telegram: https://t.me/OfficialWorldCupFlokiERC OFFICIAL TWITTER PAGE: https://twitter.com/WCF_ERC */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.11; 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; } } 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); } 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 RenounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface 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; } contract WCF is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name ="World Cup Floki"; string private _symbol = "WCF"; uint8 private _decimals = 9; address payable private taxWallet1 = payable(0x1fb308295c40a595675bbe39DdeF965AA94371FB); address payable private taxWallet2 = payable(0x1fb308295c40a595675bbe39DdeF965AA94371FB); address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public checkExcludedFromFees; mapping (address => bool) public checkWalletLimitExcept; mapping (address => bool) public checkTxLimitExcept; mapping (address => bool) public checkMarketPair; uint256 public _buyLiquidityFees = 0; uint256 public _buyMarketingFees = 10; uint256 public _buyDevelopmentFees = 0; uint256 public _sellLiquidityFees = 0; uint256 public _sellMarketingFees = 30; uint256 public _sellDevelopmentFees = 0; uint256 public _liquidityShares = 0; uint256 public _marketingShares = 10; uint256 public _developmentShares = 0; uint256 public _totalTaxIfBuying = 10; uint256 public _totalTaxIfSelling = 30; uint256 public _totalDistributionShares = 10; uint256 private _totalSupply = 1_000_000_000 * 10**9; uint256 public _maxTxAmount = _totalSupply; uint256 public _walletMax = _totalSupply*2/100; uint256 private minimumTokensBeforeSwap = _totalSupply*5/1000; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; 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 () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; checkExcludedFromFees[owner()] = true; checkExcludedFromFees[address(this)] = true; checkWalletLimitExcept[owner()] = true; checkWalletLimitExcept[address(uniswapPair)] = true; checkWalletLimitExcept[address(this)] = true; checkTxLimitExcept[owner()] = true; checkTxLimitExcept[address(this)] = true; checkMarketPair[address(uniswapPair)] = true; _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } 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) private { 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 setBuyFee(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newDevelopmentTax) external onlyOwner() { _buyLiquidityFees = newLiquidityTax; _buyMarketingFees = newMarketingTax; _buyDevelopmentFees = newDevelopmentTax; _totalTaxIfBuying = _buyLiquidityFees.add(_buyMarketingFees).add(_buyDevelopmentFees); require (_totalTaxIfBuying <= 10); } function setSellFee(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newDevelopmentTax) external onlyOwner() { _sellLiquidityFees = newLiquidityTax; _sellMarketingFees = newMarketingTax; _sellDevelopmentFees = newDevelopmentTax; _totalTaxIfSelling = _sellLiquidityFees.add(_sellMarketingFees).add(_sellDevelopmentFees); require (_totalTaxIfSelling <= 20); } function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare, uint256 newDevelopmentShare) external onlyOwner() { _liquidityShares = newLiquidityShare; _marketingShares = newMarketingShare; _developmentShares = newDevelopmentShare; _totalDistributionShares = _liquidityShares.add(_marketingShares).add(_developmentShares); } function adjustMaxTxAmount(uint256 maxTxAmount) external onlyOwner() { require(maxTxAmount >= _totalSupply/100, "Max wallet should be more or equal to 1%"); _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 settaxWallet1(address newAddress) external onlyOwner() { taxWallet1 = payable(newAddress); } function settaxWallet2(address newAddress) external onlyOwner() { taxWallet2 = payable(newAddress); } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner { swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function setSwapAndLiquifyByLimitOnly(bool newValue) public onlyOwner { swapAndLiquifyByLimitOnly = newValue; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function manualSend() external { transferToAddressETH(taxWallet1, address(this).balance); } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} 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) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if(inSwapAndLiquify) { return _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 (contractTokenBalance >= minimumTokensBeforeSwap*2) contractTokenBalance = minimumTokensBeforeSwap*2; if (overMinimumTokenBalance && !inSwapAndLiquify && !checkMarketPair[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (checkExcludedFromFees[sender] || checkExcludedFromFees[recipient]) ? amount : 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); return true; } } 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 { swapTokensForEth(tAmount); uint256 amountETHMarketing = address(this).balance; if(amountETHMarketing > 50000000000000000) transferToAddressETH(taxWallet1, amountETHMarketing); } 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 takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(checkMarketPair[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(checkMarketPair[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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"},{"inputs":[],"name":"RenounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyDevelopmentFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_developmentShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShares","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":"_sellDevelopmentFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFees","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":[{"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":"getCirculatingSupply","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":"manualSend","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":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newDevelopmentTax","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"internalType":"uint256","name":"newDevelopmentShare","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":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newDevelopmentTax","type":"uint256"}],"name":"setSellFee","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":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"settaxWallet1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"settaxWallet2","outputs":[],"stateMutability":"nonpayable","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e0604052600f60a08190526e576f726c642043757020466c6f6b6960881b60c090815262000032916002919062000523565b50604080518082019091526003808252622ba1a360e91b60209092019182526200005d918162000523565b5060048054741fb308295c40a595675bbe39ddef965aa94371fb096001600160a81b0319909116179055600580546001600160a01b031916731fb308295c40a595675bbe39ddef965aa94371fb17905561dead6080526000600c819055600a600d819055600e829055600f829055601e60108190556011839055601283905560138290556014929092556015819055601691909155601755670de0b6b3a76400006018819055601981905560649062000118906002620005c9565b620001249190620005f7565b601a556103e860185460056200013b9190620005c9565b620001479190620005f7565b601b55601d805462ffffff60a81b19166201000160a81b1790553480156200016e57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000208573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022e91906200061a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200027c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a291906200061a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031691906200061a565b601d80546001600160a01b039283166001600160a01b031991821617909155601c80549284169290911682179055601854306000908152600760209081526040808320948352939052918220556001906008906200037c6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526008909252812080549092166001908117909255600990620003d56000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601d549091168152600990925280822080548416600190811790915530835290822080549093168117909255600a90620004456000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600a8452828120805486166001908117909155601d549092168152600b90935290822080549093161790915560185490600690620004b13390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6018546040516200051491815260200190565b60405180910390a35062000689565b82805462000531906200064c565b90600052602060002090601f016020900481019282620005555760008555620005a0565b82601f106200057057805160ff1916838001178555620005a0565b82800160010185558215620005a0579182015b82811115620005a057825182559160200191906001019062000583565b50620005ae929150620005b2565b5090565b5b80821115620005ae5760008155600101620005b3565b6000816000190483118215151615620005f257634e487b7160e01b600052601160045260246000fd5b500290565b6000826200061557634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200062d57600080fd5b81516001600160a01b03811681146200064557600080fd5b9392505050565b600181811c908216806200066157607f821691505b602082108114156200068357634e487b7160e01b600052602260045260246000fd5b50919050565b6080516121ec620006ac600039600081816104c60152610cc501526121ec6000f3fe6080604052600436106103545760003560e01c806370a08231116101c6578063c2d4640e116100f7578063e207a92b11610095578063f2fde38b1161006f578063f2fde38b146109c9578063f4293890146109e9578063f872858a146109fe578063fabf706314610a1f57600080fd5b8063e207a92b14610973578063f0cd1dac14610993578063f1d5f517146109a957600080fd5b8063c816841b116100d1578063c816841b146108d6578063d76e26a3146108f6578063da00097d1461090c578063dd62ed3e1461092d57600080fd5b8063c2d4640e14610866578063c49b9a8014610886578063c78a789b146108a657600080fd5b80639e3fa32311610164578063a5d69d1f1161013e578063a5d69d1f146107f0578063a9059cbb14610810578063b6c3af3414610830578063bbaa7d441461084657600080fd5b80639e3fa323146107a4578063a08e671f146107ba578063a457c2d7146107d057600080fd5b806382eefb43116101a057806382eefb431461073b5780638da5cb5b146107515780638f03aad51461076f57806395d89b411461078f57600080fd5b806370a08231146106d95780637d1db4a51461070f578063807c2d9c1461072557600080fd5b80632f0a5fd4116102a0578063565cec381161023e578063661b6e3611610218578063661b6e3614610678578063667b511c1461068e5780636e4ee811146106ae578063705f9d74146106c357600080fd5b8063565cec381461062c57806357e6adcb14610642578063646d47001461066257600080fd5b80633b97084a1161027a5780633b97084a1461058b5780634a74bb02146105ab578063526012e8146105cc57806355324fa9146105fc57600080fd5b80632f0a5fd414610533578063313ce56714610549578063395093511461056b57600080fd5b806323b872dd1161030d57806327c8f835116102e757806327c8f835146104b45780632b112e49146104e85780632cdae5cb146104fd5780632df671091461051d57600080fd5b806323b872dd1461045457806325519cf2146104745780632563ae831461049457600080fd5b806306fdde0314610360578063095ea7b31461038b5780630fe1203c146103bb5780631694505e146103dd57806318160ddd146104155780631d865c301461043457600080fd5b3661035b57005b600080fd5b34801561036c57600080fd5b50610375610a4f565b6040516103829190611dc5565b60405180910390f35b34801561039757600080fd5b506103ab6103a6366004611e32565b610ae1565b6040519015158152602001610382565b3480156103c757600080fd5b506103db6103d6366004611e5e565b610af8565b005b3480156103e957600080fd5b50601c546103fd906001600160a01b031681565b6040516001600160a01b039091168152602001610382565b34801561042157600080fd5b506018545b604051908152602001610382565b34801561044057600080fd5b506103db61044f366004611e7b565b610b53565b34801561046057600080fd5b506103ab61046f366004611ea7565b610bb7565b34801561048057600080fd5b506103db61048f366004611e7b565b610c22565b3480156104a057600080fd5b506103db6104af366004611efd565b610c7b565b3480156104c057600080fd5b506103fd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f457600080fd5b50610426610cc3565b34801561050957600080fd5b506103db610518366004611f18565b610d0d565b34801561052957600080fd5b50610426600d5481565b34801561053f57600080fd5b50610426600f5481565b34801561055557600080fd5b5060045460405160ff9091168152602001610382565b34801561057757600080fd5b506103ab610586366004611e32565b610d62565b34801561059757600080fd5b506103db6105a6366004611f4d565b610d98565b3480156105b757600080fd5b50601d546103ab90600160a81b900460ff1681565b3480156105d857600080fd5b506103ab6105e7366004611e5e565b60096020526000908152604090205460ff1681565b34801561060857600080fd5b506103ab610617366004611e5e565b600b6020526000908152604090205460ff1681565b34801561063857600080fd5b5061042660135481565b34801561064e57600080fd5b506103db61065d366004611f18565b610dc7565b34801561066e57600080fd5b5061042660115481565b34801561068457600080fd5b5061042660105481565b34801561069a57600080fd5b506103db6106a9366004611f18565b610e1c565b3480156106ba57600080fd5b506103db610e71565b3480156106cf57600080fd5b50610426600e5481565b3480156106e557600080fd5b506104266106f4366004611e5e565b6001600160a01b031660009081526006602052604090205490565b34801561071b57600080fd5b5061042660195481565b34801561073157600080fd5b50610426601a5481565b34801561074757600080fd5b5061042660165481565b34801561075d57600080fd5b506000546001600160a01b03166103fd565b34801561077b57600080fd5b506103db61078a366004611f4d565b610ee5565b34801561079b57600080fd5b50610375610f83565b3480156107b057600080fd5b5061042660125481565b3480156107c657600080fd5b5061042660175481565b3480156107dc57600080fd5b506103ab6107eb366004611e32565b610f92565b3480156107fc57600080fd5b506103db61080b366004611efd565b610fe1565b34801561081c57600080fd5b506103ab61082b366004611e32565b611029565b34801561083c57600080fd5b50610426600c5481565b34801561085257600080fd5b506103db610861366004611e5e565b611036565b34801561087257600080fd5b506103db610881366004611e7b565b611082565b34801561089257600080fd5b506103db6108a1366004611efd565b6110d1565b3480156108b257600080fd5b506103ab6108c1366004611e5e565b600a6020526000908152604090205460ff1681565b3480156108e257600080fd5b50601d546103fd906001600160a01b031681565b34801561090257600080fd5b5061042660145481565b34801561091857600080fd5b50601d546103ab90600160b01b900460ff1681565b34801561093957600080fd5b50610426610948366004611f66565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561097f57600080fd5b506103db61098e366004611e5e565b611153565b34801561099f57600080fd5b5061042660155481565b3480156109b557600080fd5b506103db6109c4366004611f4d565b6111a1565b3480156109d557600080fd5b506103db6109e4366004611e5e565b6111d0565b3480156109f557600080fd5b506103db6112ba565b348015610a0a57600080fd5b50601d546103ab90600160b81b900460ff1681565b348015610a2b57600080fd5b506103ab610a3a366004611e5e565b60086020526000908152604090205460ff1681565b606060028054610a5e90611f9f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8a90611f9f565b8015610ad75780601f10610aac57610100808354040283529160200191610ad7565b820191906000526020600020905b815481529060010190602001808311610aba57829003601f168201915b5050505050905090565b6000610aee3384846112d7565b5060015b92915050565b6000546001600160a01b03163314610b2b5760405162461bcd60e51b8152600401610b2290611fda565b60405180910390fd5b600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b03163314610b7d5760405162461bcd60e51b8152600401610b2290611fda565b600f83905560108290556011819055610ba081610b9a85856113fb565b906113fb565b601681905560141015610bb257600080fd5b505050565b6000610bc484848461145a565b50610c178433610c128560405180606001604052806028815260200161216a602891396001600160a01b038a166000908152600760209081526040808320338452909152902054919061184c565b6112d7565b5060015b9392505050565b6000546001600160a01b03163314610c4c5760405162461bcd60e51b8152600401610b2290611fda565b600c839055600d829055600e819055610c6981610b9a85856113fb565b6015819055600a1015610bb257600080fd5b6000546001600160a01b03163314610ca55760405162461bcd60e51b8152600401610b2290611fda565b601d8054911515600160b81b0260ff60b81b19909216919091179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600090815260066020526040812054601854610d0891611886565b905090565b6000546001600160a01b03163314610d375760405162461bcd60e51b8152600401610b2290611fda565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b3360008181526007602090815260408083206001600160a01b03871684529091528120549091610aee918590610c1290866113fb565b6000546001600160a01b03163314610dc25760405162461bcd60e51b8152600401610b2290611fda565b601b55565b6000546001600160a01b03163314610df15760405162461bcd60e51b8152600401610b2290611fda565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e465760405162461bcd60e51b8152600401610b2290611fda565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e9b5760405162461bcd60e51b8152600401610b2290611fda565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610f0f5760405162461bcd60e51b8152600401610b2290611fda565b6064601854610f1e9190612025565b811015610f7e5760405162461bcd60e51b815260206004820152602860248201527f4d61782077616c6c65742073686f756c64206265206d6f7265206f7220657175604482015267616c20746f20312560c01b6064820152608401610b22565b601955565b606060038054610a5e90611f9f565b6000610aee3384610c1285604051806060016040528060258152602001612192602591393360009081526007602090815260408083206001600160a01b038d168452909152902054919061184c565b6000546001600160a01b0316331461100b5760405162461bcd60e51b8152600401610b2290611fda565b601d8054911515600160b01b0260ff60b01b19909216919091179055565b6000610c1733848461145a565b6000546001600160a01b031633146110605760405162461bcd60e51b8152600401610b2290611fda565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146110ac5760405162461bcd60e51b8152600401610b2290611fda565b6012839055601382905560148190556110c981610b9a85856113fb565b601755505050565b6000546001600160a01b031633146110fb5760405162461bcd60e51b8152600401610b2290611fda565b601d8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061114890831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461117d5760405162461bcd60e51b8152600401610b2290611fda565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6000546001600160a01b031633146111cb5760405162461bcd60e51b8152600401610b2290611fda565b601a55565b6000546001600160a01b031633146111fa5760405162461bcd60e51b8152600401610b2290611fda565b6001600160a01b03811661125f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b22565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6004546112d59061010090046001600160a01b0316476118c8565b565b6001600160a01b0383166113395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b22565b6001600160a01b03821661139a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b22565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000806114088385612047565b905083811015610c1b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b22565b60006001600160a01b0384166114c05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b22565b6001600160a01b0383166115225760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b22565b601d54600160a01b900460ff16156115465761153f8484846118fe565b9050610c1b565b6001600160a01b0384166000908152600a602052604090205460ff1615801561158857506001600160a01b0383166000908152600a602052604090205460ff16155b156115f0576019548211156115f05760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610b22565b30600090815260066020526040902054601b54808210159061161390600261205f565b821061162a57601b5461162790600261205f565b91505b8080156116415750601d54600160a01b900460ff16155b801561166657506001600160a01b0386166000908152600b602052604090205460ff16155b801561167b5750601d54600160a81b900460ff165b156116a157601d54600160b01b900460ff161561169857601b5491505b6116a1826119e4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600690915291909120546116f391869061184c565b6001600160a01b038716600090815260066020908152604080832093909355600890529081205460ff168061174057506001600160a01b03861660009081526008602052604090205460ff165b6117545761174f878787611a3c565b611756565b845b601d54909150600160b81b900460ff16801561178b57506001600160a01b03861660009081526009602052604090205460ff16155b156117c157601a546117b682610b9a896001600160a01b031660009081526006602052604090205490565b11156117c157600080fd5b6001600160a01b0386166000908152600660205260409020546117e490826113fb565b6001600160a01b0380881660008181526006602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118389085815260200190565b60405180910390a360019350505050610c1b565b600081848411156118705760405162461bcd60e51b8152600401610b229190611dc5565b50600061187d848661207e565b95945050505050565b6000610c1b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061184c565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610bb2573d6000803e3d6000fd5b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461194f91849061184c565b6001600160a01b03808616600090815260066020526040808220939093559085168152205461197e90836113fb565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119d29086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b179055611a0081611b48565b4766b1a2bc2ec50000811115611a2b57600454611a2b9061010090046001600160a01b0316826118c8565b5050601d805460ff60a01b19169055565b6001600160a01b0383166000908152600b6020526040812054819060ff1615611a8657611a7f6064611a7960155486611cdb90919063ffffffff16565b90611d5a565b9050611ac4565b6001600160a01b0384166000908152600b602052604090205460ff1615611ac457611ac16064611a7960165486611cdb90919063ffffffff16565b90505b8015611b3e5730600090815260066020526040902054611ae490826113fb565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b359085815260200190565b60405180910390a35b61187d8382611886565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b7d57611b7d612095565b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611bd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfa91906120ab565b81600181518110611c0d57611c0d612095565b6001600160a01b039283166020918202929092010152601c54611c3391309116846112d7565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c6c90859060009086903090429060040161210c565b600060405180830381600087803b158015611c8657600080fd5b505af1158015611c9a573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611ccf929190612148565b60405180910390a15050565b600082611cea57506000610af2565b6000611cf6838561205f565b905082611d038583612025565b14610c1b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b22565b6000610c1b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183611db85760405162461bcd60e51b8152600401610b229190611dc5565b50600061187d8486612025565b600060208083528351808285015260005b81811015611df257858101830151858201604001528201611dd6565b81811115611e04576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114611e2f57600080fd5b50565b60008060408385031215611e4557600080fd5b8235611e5081611e1a565b946020939093013593505050565b600060208284031215611e7057600080fd5b8135610c1b81611e1a565b600080600060608486031215611e9057600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215611ebc57600080fd5b8335611ec781611e1a565b92506020840135611ed781611e1a565b929592945050506040919091013590565b80358015158114611ef857600080fd5b919050565b600060208284031215611f0f57600080fd5b610c1b82611ee8565b60008060408385031215611f2b57600080fd5b8235611f3681611e1a565b9150611f4460208401611ee8565b90509250929050565b600060208284031215611f5f57600080fd5b5035919050565b60008060408385031215611f7957600080fd5b8235611f8481611e1a565b91506020830135611f9481611e1a565b809150509250929050565b600181811c90821680611fb357607f821691505b60208210811415611fd457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261204257634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561205a5761205a61200f565b500190565b60008160001904831182151516156120795761207961200f565b500290565b6000828210156120905761209061200f565b500390565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156120bd57600080fd5b8151610c1b81611e1a565b600081518084526020808501945080840160005b838110156121015781516001600160a01b0316875295820195908201906001016120dc565b509495945050505050565b85815284602082015260a06040820152600061212b60a08301866120c8565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061216160408301846120c8565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201e11ccd3207a0213d6c5ad554a64a7de8d3bb3494045ab749a4333f95754c86964736f6c634300080b0033
Deployed Bytecode
0x6080604052600436106103545760003560e01c806370a08231116101c6578063c2d4640e116100f7578063e207a92b11610095578063f2fde38b1161006f578063f2fde38b146109c9578063f4293890146109e9578063f872858a146109fe578063fabf706314610a1f57600080fd5b8063e207a92b14610973578063f0cd1dac14610993578063f1d5f517146109a957600080fd5b8063c816841b116100d1578063c816841b146108d6578063d76e26a3146108f6578063da00097d1461090c578063dd62ed3e1461092d57600080fd5b8063c2d4640e14610866578063c49b9a8014610886578063c78a789b146108a657600080fd5b80639e3fa32311610164578063a5d69d1f1161013e578063a5d69d1f146107f0578063a9059cbb14610810578063b6c3af3414610830578063bbaa7d441461084657600080fd5b80639e3fa323146107a4578063a08e671f146107ba578063a457c2d7146107d057600080fd5b806382eefb43116101a057806382eefb431461073b5780638da5cb5b146107515780638f03aad51461076f57806395d89b411461078f57600080fd5b806370a08231146106d95780637d1db4a51461070f578063807c2d9c1461072557600080fd5b80632f0a5fd4116102a0578063565cec381161023e578063661b6e3611610218578063661b6e3614610678578063667b511c1461068e5780636e4ee811146106ae578063705f9d74146106c357600080fd5b8063565cec381461062c57806357e6adcb14610642578063646d47001461066257600080fd5b80633b97084a1161027a5780633b97084a1461058b5780634a74bb02146105ab578063526012e8146105cc57806355324fa9146105fc57600080fd5b80632f0a5fd414610533578063313ce56714610549578063395093511461056b57600080fd5b806323b872dd1161030d57806327c8f835116102e757806327c8f835146104b45780632b112e49146104e85780632cdae5cb146104fd5780632df671091461051d57600080fd5b806323b872dd1461045457806325519cf2146104745780632563ae831461049457600080fd5b806306fdde0314610360578063095ea7b31461038b5780630fe1203c146103bb5780631694505e146103dd57806318160ddd146104155780631d865c301461043457600080fd5b3661035b57005b600080fd5b34801561036c57600080fd5b50610375610a4f565b6040516103829190611dc5565b60405180910390f35b34801561039757600080fd5b506103ab6103a6366004611e32565b610ae1565b6040519015158152602001610382565b3480156103c757600080fd5b506103db6103d6366004611e5e565b610af8565b005b3480156103e957600080fd5b50601c546103fd906001600160a01b031681565b6040516001600160a01b039091168152602001610382565b34801561042157600080fd5b506018545b604051908152602001610382565b34801561044057600080fd5b506103db61044f366004611e7b565b610b53565b34801561046057600080fd5b506103ab61046f366004611ea7565b610bb7565b34801561048057600080fd5b506103db61048f366004611e7b565b610c22565b3480156104a057600080fd5b506103db6104af366004611efd565b610c7b565b3480156104c057600080fd5b506103fd7f000000000000000000000000000000000000000000000000000000000000dead81565b3480156104f457600080fd5b50610426610cc3565b34801561050957600080fd5b506103db610518366004611f18565b610d0d565b34801561052957600080fd5b50610426600d5481565b34801561053f57600080fd5b50610426600f5481565b34801561055557600080fd5b5060045460405160ff9091168152602001610382565b34801561057757600080fd5b506103ab610586366004611e32565b610d62565b34801561059757600080fd5b506103db6105a6366004611f4d565b610d98565b3480156105b757600080fd5b50601d546103ab90600160a81b900460ff1681565b3480156105d857600080fd5b506103ab6105e7366004611e5e565b60096020526000908152604090205460ff1681565b34801561060857600080fd5b506103ab610617366004611e5e565b600b6020526000908152604090205460ff1681565b34801561063857600080fd5b5061042660135481565b34801561064e57600080fd5b506103db61065d366004611f18565b610dc7565b34801561066e57600080fd5b5061042660115481565b34801561068457600080fd5b5061042660105481565b34801561069a57600080fd5b506103db6106a9366004611f18565b610e1c565b3480156106ba57600080fd5b506103db610e71565b3480156106cf57600080fd5b50610426600e5481565b3480156106e557600080fd5b506104266106f4366004611e5e565b6001600160a01b031660009081526006602052604090205490565b34801561071b57600080fd5b5061042660195481565b34801561073157600080fd5b50610426601a5481565b34801561074757600080fd5b5061042660165481565b34801561075d57600080fd5b506000546001600160a01b03166103fd565b34801561077b57600080fd5b506103db61078a366004611f4d565b610ee5565b34801561079b57600080fd5b50610375610f83565b3480156107b057600080fd5b5061042660125481565b3480156107c657600080fd5b5061042660175481565b3480156107dc57600080fd5b506103ab6107eb366004611e32565b610f92565b3480156107fc57600080fd5b506103db61080b366004611efd565b610fe1565b34801561081c57600080fd5b506103ab61082b366004611e32565b611029565b34801561083c57600080fd5b50610426600c5481565b34801561085257600080fd5b506103db610861366004611e5e565b611036565b34801561087257600080fd5b506103db610881366004611e7b565b611082565b34801561089257600080fd5b506103db6108a1366004611efd565b6110d1565b3480156108b257600080fd5b506103ab6108c1366004611e5e565b600a6020526000908152604090205460ff1681565b3480156108e257600080fd5b50601d546103fd906001600160a01b031681565b34801561090257600080fd5b5061042660145481565b34801561091857600080fd5b50601d546103ab90600160b01b900460ff1681565b34801561093957600080fd5b50610426610948366004611f66565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561097f57600080fd5b506103db61098e366004611e5e565b611153565b34801561099f57600080fd5b5061042660155481565b3480156109b557600080fd5b506103db6109c4366004611f4d565b6111a1565b3480156109d557600080fd5b506103db6109e4366004611e5e565b6111d0565b3480156109f557600080fd5b506103db6112ba565b348015610a0a57600080fd5b50601d546103ab90600160b81b900460ff1681565b348015610a2b57600080fd5b506103ab610a3a366004611e5e565b60086020526000908152604090205460ff1681565b606060028054610a5e90611f9f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8a90611f9f565b8015610ad75780601f10610aac57610100808354040283529160200191610ad7565b820191906000526020600020905b815481529060010190602001808311610aba57829003601f168201915b5050505050905090565b6000610aee3384846112d7565b5060015b92915050565b6000546001600160a01b03163314610b2b5760405162461bcd60e51b8152600401610b2290611fda565b60405180910390fd5b600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b03163314610b7d5760405162461bcd60e51b8152600401610b2290611fda565b600f83905560108290556011819055610ba081610b9a85856113fb565b906113fb565b601681905560141015610bb257600080fd5b505050565b6000610bc484848461145a565b50610c178433610c128560405180606001604052806028815260200161216a602891396001600160a01b038a166000908152600760209081526040808320338452909152902054919061184c565b6112d7565b5060015b9392505050565b6000546001600160a01b03163314610c4c5760405162461bcd60e51b8152600401610b2290611fda565b600c839055600d829055600e819055610c6981610b9a85856113fb565b6015819055600a1015610bb257600080fd5b6000546001600160a01b03163314610ca55760405162461bcd60e51b8152600401610b2290611fda565b601d8054911515600160b81b0260ff60b81b19909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316600090815260066020526040812054601854610d0891611886565b905090565b6000546001600160a01b03163314610d375760405162461bcd60e51b8152600401610b2290611fda565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b3360008181526007602090815260408083206001600160a01b03871684529091528120549091610aee918590610c1290866113fb565b6000546001600160a01b03163314610dc25760405162461bcd60e51b8152600401610b2290611fda565b601b55565b6000546001600160a01b03163314610df15760405162461bcd60e51b8152600401610b2290611fda565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e465760405162461bcd60e51b8152600401610b2290611fda565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e9b5760405162461bcd60e51b8152600401610b2290611fda565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610f0f5760405162461bcd60e51b8152600401610b2290611fda565b6064601854610f1e9190612025565b811015610f7e5760405162461bcd60e51b815260206004820152602860248201527f4d61782077616c6c65742073686f756c64206265206d6f7265206f7220657175604482015267616c20746f20312560c01b6064820152608401610b22565b601955565b606060038054610a5e90611f9f565b6000610aee3384610c1285604051806060016040528060258152602001612192602591393360009081526007602090815260408083206001600160a01b038d168452909152902054919061184c565b6000546001600160a01b0316331461100b5760405162461bcd60e51b8152600401610b2290611fda565b601d8054911515600160b01b0260ff60b01b19909216919091179055565b6000610c1733848461145a565b6000546001600160a01b031633146110605760405162461bcd60e51b8152600401610b2290611fda565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146110ac5760405162461bcd60e51b8152600401610b2290611fda565b6012839055601382905560148190556110c981610b9a85856113fb565b601755505050565b6000546001600160a01b031633146110fb5760405162461bcd60e51b8152600401610b2290611fda565b601d8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061114890831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461117d5760405162461bcd60e51b8152600401610b2290611fda565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6000546001600160a01b031633146111cb5760405162461bcd60e51b8152600401610b2290611fda565b601a55565b6000546001600160a01b031633146111fa5760405162461bcd60e51b8152600401610b2290611fda565b6001600160a01b03811661125f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b22565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6004546112d59061010090046001600160a01b0316476118c8565b565b6001600160a01b0383166113395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b22565b6001600160a01b03821661139a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b22565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000806114088385612047565b905083811015610c1b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b22565b60006001600160a01b0384166114c05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b22565b6001600160a01b0383166115225760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b22565b601d54600160a01b900460ff16156115465761153f8484846118fe565b9050610c1b565b6001600160a01b0384166000908152600a602052604090205460ff1615801561158857506001600160a01b0383166000908152600a602052604090205460ff16155b156115f0576019548211156115f05760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610b22565b30600090815260066020526040902054601b54808210159061161390600261205f565b821061162a57601b5461162790600261205f565b91505b8080156116415750601d54600160a01b900460ff16155b801561166657506001600160a01b0386166000908152600b602052604090205460ff16155b801561167b5750601d54600160a81b900460ff165b156116a157601d54600160b01b900460ff161561169857601b5491505b6116a1826119e4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600690915291909120546116f391869061184c565b6001600160a01b038716600090815260066020908152604080832093909355600890529081205460ff168061174057506001600160a01b03861660009081526008602052604090205460ff165b6117545761174f878787611a3c565b611756565b845b601d54909150600160b81b900460ff16801561178b57506001600160a01b03861660009081526009602052604090205460ff16155b156117c157601a546117b682610b9a896001600160a01b031660009081526006602052604090205490565b11156117c157600080fd5b6001600160a01b0386166000908152600660205260409020546117e490826113fb565b6001600160a01b0380881660008181526006602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118389085815260200190565b60405180910390a360019350505050610c1b565b600081848411156118705760405162461bcd60e51b8152600401610b229190611dc5565b50600061187d848661207e565b95945050505050565b6000610c1b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061184c565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610bb2573d6000803e3d6000fd5b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461194f91849061184c565b6001600160a01b03808616600090815260066020526040808220939093559085168152205461197e90836113fb565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119d29086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b179055611a0081611b48565b4766b1a2bc2ec50000811115611a2b57600454611a2b9061010090046001600160a01b0316826118c8565b5050601d805460ff60a01b19169055565b6001600160a01b0383166000908152600b6020526040812054819060ff1615611a8657611a7f6064611a7960155486611cdb90919063ffffffff16565b90611d5a565b9050611ac4565b6001600160a01b0384166000908152600b602052604090205460ff1615611ac457611ac16064611a7960165486611cdb90919063ffffffff16565b90505b8015611b3e5730600090815260066020526040902054611ae490826113fb565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b359085815260200190565b60405180910390a35b61187d8382611886565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b7d57611b7d612095565b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611bd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfa91906120ab565b81600181518110611c0d57611c0d612095565b6001600160a01b039283166020918202929092010152601c54611c3391309116846112d7565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c6c90859060009086903090429060040161210c565b600060405180830381600087803b158015611c8657600080fd5b505af1158015611c9a573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611ccf929190612148565b60405180910390a15050565b600082611cea57506000610af2565b6000611cf6838561205f565b905082611d038583612025565b14610c1b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b22565b6000610c1b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183611db85760405162461bcd60e51b8152600401610b229190611dc5565b50600061187d8486612025565b600060208083528351808285015260005b81811015611df257858101830151858201604001528201611dd6565b81811115611e04576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114611e2f57600080fd5b50565b60008060408385031215611e4557600080fd5b8235611e5081611e1a565b946020939093013593505050565b600060208284031215611e7057600080fd5b8135610c1b81611e1a565b600080600060608486031215611e9057600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215611ebc57600080fd5b8335611ec781611e1a565b92506020840135611ed781611e1a565b929592945050506040919091013590565b80358015158114611ef857600080fd5b919050565b600060208284031215611f0f57600080fd5b610c1b82611ee8565b60008060408385031215611f2b57600080fd5b8235611f3681611e1a565b9150611f4460208401611ee8565b90509250929050565b600060208284031215611f5f57600080fd5b5035919050565b60008060408385031215611f7957600080fd5b8235611f8481611e1a565b91506020830135611f9481611e1a565b809150509250929050565b600181811c90821680611fb357607f821691505b60208210811415611fd457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261204257634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561205a5761205a61200f565b500190565b60008160001904831182151516156120795761207961200f565b500290565b6000828210156120905761209061200f565b500390565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156120bd57600080fd5b8151610c1b81611e1a565b600081518084526020808501945080840160005b838110156121015781516001600160a01b0316875295820195908201906001016120dc565b509495945050505050565b85815284602082015260a06040820152600061212b60a08301866120c8565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061216160408301846120c8565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201e11ccd3207a0213d6c5ad554a64a7de8d3bb3494045ab749a4333f95754c86964736f6c634300080b0033
Deployed Bytecode Sourcemap
14354:12822:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17748:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18914:161;;;;;;;;;;-1:-1:-1;18914:161:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;18914:161:0;1072:187:1;21819:115:0;;;;;;;;;;-1:-1:-1;21819:115:0;;;;;:::i;:::-;;:::i;:::-;;16021:41;;;;;;;;;;-1:-1:-1;16021:41:0;;;;-1:-1:-1;;;;;16021:41:0;;;;;;-1:-1:-1;;;;;1707:32:1;;;1689:51;;1677:2;1662:18;16021:41:0;1516:230:1;18025:100:0;;;;;;;;;;-1:-1:-1;18105:12:0;;18025:100;;;1897:25:1;;;1885:2;1870:18;18025:100:0;1751:177:1;20256:418:0;;;;;;;;;;-1:-1:-1;20256:418:0;;;;;:::i;:::-;;:::i;23033:313::-;;;;;;;;;;-1:-1:-1;23033:313:0;;;;;:::i;:::-;;:::i;19839:409::-;;;;;;;;;;-1:-1:-1;19839:409:0;;;;;:::i;:::-;;:::i;21307:113::-;;;;;;;;;;-1:-1:-1;21307:113:0;;;;;:::i;:::-;;:::i;14788:81::-;;;;;;;;;;;;;;;22381:128;;;;;;;;;;;;;:::i;19688:143::-;;;;;;;;;;-1:-1:-1;19688:143:0;;;;;:::i;:::-;;:::i;15290:37::-;;;;;;;;;;;;;;;;15379;;;;;;;;;;;;;;;;17934:83;;;;;;;;;;-1:-1:-1;18000:9:0;;17934:83;;18000:9;;;;3735:36:1;;3723:2;3708:18;17934:83:0;3593:184:1;18411:218:0;;;;;;;;;;-1:-1:-1;18411:218:0;;;;;:::i;:::-;;:::i;21687:124::-;;;;;;;;;;-1:-1:-1;21687:124:0;;;;;:::i;:::-;;:::i;16136:40::-;;;;;;;;;;-1:-1:-1;16136:40:0;;;;-1:-1:-1;;;16136:40:0;;;;;;15070:55;;;;;;;;;;-1:-1:-1;15070:55:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15190:48;;;;;;;;;;-1:-1:-1;15190:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15558:36;;;;;;;;;;;;;;;;21428:141;;;;;;;;;;-1:-1:-1;21428:141:0;;;;;:::i;:::-;;:::i;15468:39::-;;;;;;;;;;;;;;;;15423:38;;;;;;;;;;;;;;;;19543:133;;;;;;;;;;-1:-1:-1;19543:133:0;;;;;:::i;:::-;;:::i;6115:148::-;;;;;;;;;;;;;:::i;15334:38::-;;;;;;;;;;;;;;;;18133:119;;;;;;;;;;-1:-1:-1;18133:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;18226:18:0;18199:7;18226:18;;;:9;:18;;;;;;;18133:119;15848:42;;;;;;;;;;;;;;;;15897:46;;;;;;;;;;;;;;;;15691:38;;;;;;;;;;;;;;;;5890:79;;;;;;;;;;-1:-1:-1;5928:7:0;5955:6;-1:-1:-1;;;;;5955:6:0;5890:79;;21090:209;;;;;;;;;;-1:-1:-1;21090:209:0;;;;;:::i;:::-;;:::i;17839:87::-;;;;;;;;;;;;;:::i;15516:35::-;;;;;;;;;;;;;;;;15736:44;;;;;;;;;;;;;;;;18637:269;;;;;;;;;;-1:-1:-1;18637:269:0;;;;;:::i;:::-;;:::i;22244:125::-;;;;;;;;;;-1:-1:-1;22244:125:0;;;;;:::i;:::-;;:::i;22858:167::-;;;;;;;;;;-1:-1:-1;22858:167:0;;;;;:::i;:::-;;:::i;15247:36::-;;;;;;;;;;;;;;;;21942:115;;;;;;;;;;-1:-1:-1;21942:115:0;;;;;:::i;:::-;;:::i;20686:392::-;;;;;;;;;;-1:-1:-1;20686:392:0;;;;;:::i;:::-;;:::i;22065:171::-;;;;;;;;;;-1:-1:-1;22065:171:0;;;;;:::i;:::-;;:::i;15132:51::-;;;;;;;;;;-1:-1:-1;15132:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16069:26;;;;;;;;;;-1:-1:-1;16069:26:0;;;;-1:-1:-1;;;;;16069:26:0;;;15601:37;;;;;;;;;;;;;;;;16183:45;;;;;;;;;;-1:-1:-1;16183:45:0;;;;-1:-1:-1;;;16183:45:0;;;;;;18260:143;;;;;;;;;;-1:-1:-1;18260:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;18368:18:0;;;18341:7;18368:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;18260:143;19428:107;;;;;;;;;;-1:-1:-1;19428:107:0;;;;;:::i;:::-;;:::i;15647:37::-;;;;;;;;;;;;;;;;21577:102;;;;;;;;;;-1:-1:-1;21577:102:0;;;;;:::i;:::-;;:::i;6271:244::-;;;;;;;;;;-1:-1:-1;6271:244:0;;;;;:::i;:::-;;:::i;22651:105::-;;;;;;;;;;;;;:::i;16235:35::-;;;;;;;;;;-1:-1:-1;16235:35:0;;;;-1:-1:-1;;;16235:35:0;;;;;;15009:54;;;;;;;;;;-1:-1:-1;15009:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17748:83;17785:13;17818:5;17811:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17748:83;:::o;18914:161::-;18989:4;19006:39;320:10;19029:7;19038:6;19006:8;:39::i;:::-;-1:-1:-1;19063:4:0;18914:161;;;;;:::o;21819:115::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;;;;;;;;;21894:10:::1;:32:::0;;-1:-1:-1;;;;;21894:32:0;;::::1;;;-1:-1:-1::0;;;;;;21894:32:0;;::::1;::::0;;;::::1;::::0;;21819:115::o;20256:418::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;20385:18:::1;:36:::0;;;20432:18:::1;:36:::0;;;20479:20:::1;:40:::0;;;20553:68:::1;20502:17:::0;20553:42:::1;20406:15:::0;20453;20553:22:::1;:42::i;:::-;:46:::0;::::1;:68::i;:::-;20532:18;:89:::0;;;20663:2:::1;-1:-1:-1::0;20641:24:0::1;20632:34;;;::::0;::::1;;20256:418:::0;;;:::o;23033:313::-;23131:4;23148:36;23158:6;23166:9;23177:6;23148:9;:36::i;:::-;-1:-1:-1;23195:121:0;23204:6;320:10;23226:89;23264:6;23226:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23226:19:0;;;;;;:11;:19;;;;;;;;320:10;23226:33;;;;;;;;;;:37;:89::i;:::-;23195:8;:121::i;:::-;-1:-1:-1;23334:4:0;23033:313;;;;;;:::o;19839:409::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;19967:17:::1;:35:::0;;;20013:17:::1;:35:::0;;;20059:19:::1;:39:::0;;;20131:65:::1;20081:17:::0;20131:40:::1;19987:15:::0;20033;20131:21:::1;:40::i;:65::-;20111:17;:85:::0;;;20237:2:::1;-1:-1:-1::0;20216:23:0::1;20207:33;;;::::0;::::1;21307:113:::0;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;21385:16:::1;:27:::0;;;::::1;;-1:-1:-1::0;;;21385:27:0::1;-1:-1:-1::0;;;;21385:27:0;;::::1;::::0;;;::::1;::::0;;21307:113::o;22381:128::-;22488:11;-1:-1:-1;;;;;18226:18:0;22434:7;18226:18;;;:9;:18;;;;;;22461:12;;:40;;:16;:40::i;:::-;22454:47;;22381:128;:::o;19688:143::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19782:30:0;;;::::1;;::::0;;;:21:::1;:30;::::0;;;;:41;;-1:-1:-1;;19782:41:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19688:143::o;18411:218::-;320:10;18499:4;18548:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18548:34:0;;;;;;;;;;18499:4;;18516:83;;18539:7;;18548:50;;18587:10;18548:38;:50::i;21687:124::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;21769:23:::1;:34:::0;21687:124::o;21428:141::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21522:30:0;;;::::1;;::::0;;;:22:::1;:30;::::0;;;;:39;;-1:-1:-1;;21522:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21428:141::o;19543:133::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19633:26:0;;;::::1;;::::0;;;:18:::1;:26;::::0;;;;:35;;-1:-1:-1;;19633:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19543:133::o;6115:148::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;6222:1:::1;6206:6:::0;;6185:40:::1;::::0;-1:-1:-1;;;;;6206:6:0;;::::1;::::0;6185:40:::1;::::0;6222:1;;6185:40:::1;6253:1;6236:19:::0;;-1:-1:-1;;;;;;6236:19:0::1;::::0;;6115:148::o;21090:209::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;21206:3:::1;21193:12;;:16;;;;:::i;:::-;21178:11;:31;;21170:84;;;::::0;-1:-1:-1;;;21170:84:0;;5662:2:1;21170:84:0::1;::::0;::::1;5644:21:1::0;5701:2;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;-1:-1:-1;;;5791:18:1;;;5784:38;5839:19;;21170:84:0::1;5460:404:1::0;21170:84:0::1;21265:12;:26:::0;21090:209::o;17839:87::-;17878:13;17911:7;17904:14;;;;;:::i;18637:269::-;18730:4;18747:129;320:10;18770:7;18779:96;18818:15;18779:96;;;;;;;;;;;;;;;;;320:10;18779:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18779:34:0;;;;;;;;;;;;:38;:96::i;22244:125::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;22325:25:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;22325:36:0::1;-1:-1:-1::0;;;;22325:36:0;;::::1;::::0;;;::::1;::::0;;22244:125::o;22858:167::-;22936:4;22953:42;320:10;22977:9;22988:6;22953:9;:42::i;21942:115::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;22017:10:::1;:32:::0;;-1:-1:-1;;;;;;22017:32:0::1;-1:-1:-1::0;;;;;22017:32:0;;;::::1;::::0;;;::::1;::::0;;21942:115::o;20686:392::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;20834:16:::1;:36:::0;;;20881:16:::1;:36:::0;;;20928:18:::1;:40:::0;;;21008:62:::1;20949:19:::0;21008:38:::1;20853:17:::0;20900;21008:20:::1;:38::i;:62::-;20981:24;:89:::0;-1:-1:-1;;;20686:392:0:o;22065:171::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;22142:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;22142:32:0::1;-1:-1:-1::0;;;;22142:32:0;;::::1;;::::0;;22190:38:::1;::::0;::::1;::::0;::::1;::::0;22166:8;1237:14:1;1230:22;1212:41;;1200:2;1185:18;;1072:187;22190:38:0::1;;;;;;;;22065:171:::0;:::o;19428:107::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19496:24:0::1;;::::0;;;:15:::1;:24;::::0;;;;:31;;-1:-1:-1;;19496:31:0::1;19523:4;19496:31;::::0;;19428:107::o;21577:102::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;21649:10:::1;:22:::0;21577:102::o;6271:244::-;6024:6;;-1:-1:-1;;;;;6024:6:0;320:10;6024:22;6016:67;;;;-1:-1:-1;;;6016:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6360:22:0;::::1;6352:73;;;::::0;-1:-1:-1;;;6352:73:0;;6071:2:1;6352:73:0::1;::::0;::::1;6053:21:1::0;6110:2;6090:18;;;6083:30;6149:34;6129:18;;;6122:62;-1:-1:-1;;;6200:18:1;;;6193:36;6246:19;;6352:73:0::1;5869:402:1::0;6352:73:0::1;6462:6;::::0;;6441:38:::1;::::0;-1:-1:-1;;;;;6441:38:0;;::::1;::::0;6462:6;::::1;::::0;6441:38:::1;::::0;::::1;6490:6;:17:::0;;-1:-1:-1;;;;;;6490:17:0::1;-1:-1:-1::0;;;;;6490:17:0;;;::::1;::::0;;;::::1;::::0;;6271:244::o;22651:105::-;22714:10;;22693:55;;22714:10;;;-1:-1:-1;;;;;22714:10:0;22726:21;22693:20;:55::i;:::-;22651:105::o;19083:337::-;-1:-1:-1;;;;;19176:19:0;;19168:68;;;;-1:-1:-1;;;19168:68:0;;6478:2:1;19168:68:0;;;6460:21:1;6517:2;6497:18;;;6490:30;6556:34;6536:18;;;6529:62;-1:-1:-1;;;6607:18:1;;;6600:34;6651:19;;19168:68:0;6276:400:1;19168:68:0;-1:-1:-1;;;;;19255:21:0;;19247:68;;;;-1:-1:-1;;;19247:68:0;;6883:2:1;19247:68:0;;;6865:21:1;6922:2;6902:18;;;6895:30;6961:34;6941:18;;;6934:62;-1:-1:-1;;;7012:18:1;;;7005:32;7054:19;;19247:68:0;6681:398:1;19247:68:0;-1:-1:-1;;;;;19328:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;19380:32;;1897:25:1;;;19380:32:0;;1870:18:1;19380:32:0;;;;;;;19083:337;;;:::o;1292:181::-;1350:7;;1382:5;1386:1;1382;:5;:::i;:::-;1370:17;;1411:1;1406;:6;;1398:46;;;;-1:-1:-1;;;1398:46:0;;7419:2:1;1398:46:0;;;7401:21:1;7458:2;7438:18;;;7431:30;7497:29;7477:18;;;7470:57;7544:18;;1398:46:0;7217:351:1;23354:1862:0;23441:4;-1:-1:-1;;;;;23468:20:0;;23460:70;;;;-1:-1:-1;;;23460:70:0;;7775:2:1;23460:70:0;;;7757:21:1;7814:2;7794:18;;;7787:30;7853:34;7833:18;;;7826:62;-1:-1:-1;;;7904:18:1;;;7897:35;7949:19;;23460:70:0;7573:401:1;23460:70:0;-1:-1:-1;;;;;23549:23:0;;23541:71;;;;-1:-1:-1;;;23541:71:0;;8181:2:1;23541:71:0;;;8163:21:1;8220:2;8200:18;;;8193:30;8259:34;8239:18;;;8232:62;-1:-1:-1;;;8310:18:1;;;8303:33;8353:19;;23541:71:0;7979:399:1;23541:71:0;23628:16;;-1:-1:-1;;;23628:16:0;;;;23625:1584;;;23678:41;23693:6;23701:9;23712:6;23678:14;:41::i;:::-;23671:48;;;;23625:1584;-1:-1:-1;;;;;23775:26:0;;;;;;:18;:26;;;;;;;;23774:27;:61;;;;-1:-1:-1;;;;;;23806:29:0;;;;;;:18;:29;;;;;;;;23805:30;23774:61;23771:176;;;23874:12;;23864:6;:22;;23856:75;;;;-1:-1:-1;;;23856:75:0;;8585:2:1;23856:75:0;;;8567:21:1;8624:2;8604:18;;;8597:30;8663:34;8643:18;;;8636:62;-1:-1:-1;;;8714:18:1;;;8707:38;8762:19;;23856:75:0;8383:404:1;23856:75:0;24024:4;23975:28;18226:18;;;:9;:18;;;;;;24100:23;;24076:47;;;;;24166:25;;24190:1;24166:25;:::i;:::-;24142:20;:49;24138:120;;24233:23;;:25;;24257:1;24233:25;:::i;:::-;24210:48;;24138:120;24291:23;:44;;;;-1:-1:-1;24319:16:0;;-1:-1:-1;;;24319:16:0;;;;24318:17;24291:44;:72;;;;-1:-1:-1;;;;;;24340:23:0;;;;;;:15;:23;;;;;;;;24339:24;24291:72;:97;;;;-1:-1:-1;24367:21:0;;-1:-1:-1;;;24367:21:0;;;;24291:97;24287:308;;;24426:25;;-1:-1:-1;;;24426:25:0;;;;24423:97;;;24497:23;;24474:46;;24423:97;24539:36;24554:20;24539:14;:36::i;:::-;24631:53;;;;;;;;;;;-1:-1:-1;;;24631:53:0;;;;;;;;-1:-1:-1;;;;;24631:17:0;;-1:-1:-1;24631:17:0;;;:9;:17;;;;;;;;:53;;24653:6;;24631:21;:53::i;:::-;-1:-1:-1;;;;;24611:17:0;;;;;;:9;:17;;;;;;;;:73;;;;24724:21;:29;;;;;;;;;:65;;-1:-1:-1;;;;;;24757:32:0;;;;;;:21;:32;;;;;;;;24724:65;24723:156;;24845:34;24853:6;24861:9;24872:6;24845:7;:34::i;:::-;24723:156;;;24836:6;24723:156;24899:16;;24701:178;;-1:-1:-1;;;;24899:16:0;;;;:54;;;;-1:-1:-1;;;;;;24920:33:0;;;;;;:22;:33;;;;;;;;24919:34;24899:54;24896:136;;;25021:10;;24980:37;25005:11;24980:20;24990:9;-1:-1:-1;;;;;18226:18:0;18199:7;18226:18;;;:9;:18;;;;;;;18133:119;24980:37;:51;;24972:60;;;;;;-1:-1:-1;;;;;25072:20:0;;;;;;:9;:20;;;;;;:37;;25097:11;25072:24;:37::i;:::-;-1:-1:-1;;;;;25049:20:0;;;;;;;:9;:20;;;;;;;:60;;;;25131:40;;;;;;;;;;25159:11;1897:25:1;;1885:2;1870:18;;1751:177;25131:40:0;;;;;;;;25193:4;25186:11;;;;;;;1625:192;1711:7;1747:12;1739:6;;;;1731:29;;;;-1:-1:-1;;;1731:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1771:9:0;1783:5;1787:1;1783;:5;:::i;:::-;1771:17;1625:192;-1:-1:-1;;;;;1625:192:0:o;1481:136::-;1539:7;1566:43;1570:1;1573;1566:43;;;;;;;;;;;;;;;;;:3;:43::i;22517:126::-;22609:26;;-1:-1:-1;;;;;22609:18:0;;;:26;;;;;22628:6;;22609:26;;;;22628:6;22609:18;:26;;;;;;;;;;;;;;;;;;;25224:330;25354:53;;;;;;;;;;;-1:-1:-1;;;25354:53:0;;;;;;;;-1:-1:-1;;;;;25354:17:0;;25317:4;25354:17;;;:9;:17;;;;;;;:53;;25376:6;;25354:21;:53::i;:::-;-1:-1:-1;;;;;25334:17:0;;;;;;;:9;:17;;;;;;:73;;;;25441:20;;;;;;;:32;;25466:6;25441:24;:32::i;:::-;-1:-1:-1;;;;;25418:20:0;;;;;;;:9;:20;;;;;;;:55;;;;25489:35;;;;;;;;;;25517:6;1897:25:1;;1885:2;1870:18;;1751:177;25489:35:0;;;;;;;;-1:-1:-1;25542:4:0;25224:330;;;;;:::o;25562:291::-;16693:16;:23;;-1:-1:-1;;;;16693:23:0;-1:-1:-1;;;16693:23:0;;;25636:25:::1;25653:7:::0;25636:16:::1;:25::i;:::-;25701:21;25759:17;25738:38:::0;::::1;25735:108;;;25812:10;::::0;25791:52:::1;::::0;25812:10:::1;::::0;::::1;-1:-1:-1::0;;;;;25812:10:0::1;25824:18:::0;25791:20:::1;:52::i;:::-;-1:-1:-1::0;;16739:16:0;:24;;-1:-1:-1;;;;16739:24:0;;;25562:291::o;26539:628::-;-1:-1:-1;;;;;26700:23:0;;26625:7;26700:23;;;:15;:23;;;;;;26625:7;;26700:23;;26697:229;;;26752:38;26786:3;26752:29;26763:17;;26752:6;:10;;:29;;;;:::i;:::-;:33;;:38::i;:::-;26740:50;;26697:229;;;-1:-1:-1;;;;;26820:26:0;;;;;;:15;:26;;;;;;;;26817:109;;;26875:39;26910:3;26875:30;26886:18;;26875:6;:10;;:30;;;;:::i;:39::-;26863:51;;26817:109;26949:13;;26946:173;;27024:4;27006:24;;;;:9;:24;;;;;;:39;;27035:9;27006:28;:39::i;:::-;26997:4;26979:24;;;;:9;:24;;;;;;;:66;;;;27065:42;;-1:-1:-1;;;;;27065:42:0;;;;;;;27097:9;1897:25:1;;1885:2;1870:18;;1751:177;27065:42:0;;;;;;;;26946:173;27138:21;:6;27149:9;27138:10;:21::i;25865:666::-;26015:16;;;26029:1;26015:16;;;;;;;;25991:21;;26015:16;;;;;;;;;;-1:-1:-1;26015:16:0;25991:40;;26060:4;26042;26047:1;26042:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;26042:23:0;;;:7;;;;;;;;;;:23;;;;26086:15;;:22;;;-1:-1:-1;;;26086:22:0;;;;:15;;;;;:20;;:22;;;;;26042:7;;26086:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26076:4;26081:1;26076:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;26076:32:0;;;:7;;;;;;;;;:32;26153:15;;26121:62;;26138:4;;26153:15;26171:11;26121:8;:62::i;:::-;26222:15;;:240;;-1:-1:-1;;;26222:240:0;;-1:-1:-1;;;;;26222:15:0;;;;:66;;:240;;26303:11;;26222:15;;26373:4;;26400;;26436:15;;26222:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26488:35;26505:11;26518:4;26488:35;;;;;;;:::i;:::-;;;;;;;;25920:611;25865:666;:::o;1825:250::-;1883:7;1907:6;1903:47;;-1:-1:-1;1937:1:0;1930:8;;1903:47;1962:9;1974:5;1978:1;1974;:5;:::i;:::-;1962:17;-1:-1:-1;2007:1:0;1998:5;2002:1;1962:17;1998:5;:::i;:::-;:10;1990:56;;;;-1:-1:-1;;;1990:56:0;;11207:2:1;1990:56:0;;;11189:21:1;11246:2;11226:18;;;11219:30;11285:34;11265:18;;;11258:62;-1:-1:-1;;;11336:18:1;;;11329:31;11377:19;;1990:56:0;11005:397:1;2083:132:0;2141:7;2168:39;2172:1;2175;2168:39;;;;;;;;;;;;;;;;;2309:7;2344:12;2337:5;2329:28;;;;-1:-1:-1;;;2329:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2368:9:0;2380:5;2384:1;2380;:5;:::i;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:315::-;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1264:247::-;1323:6;1376:2;1364:9;1355:7;1351:23;1347:32;1344:52;;;1392:1;1389;1382:12;1344:52;1431:9;1418:23;1450:31;1475:5;1450:31;:::i;1933:316::-;2010:6;2018;2026;2079:2;2067:9;2058:7;2054:23;2050:32;2047:52;;;2095:1;2092;2085:12;2047:52;-1:-1:-1;;2118:23:1;;;2188:2;2173:18;;2160:32;;-1:-1:-1;2239:2:1;2224:18;;;2211:32;;1933:316;-1:-1:-1;1933:316:1:o;2254:456::-;2331:6;2339;2347;2400:2;2388:9;2379:7;2375:23;2371:32;2368:52;;;2416:1;2413;2406:12;2368:52;2455:9;2442:23;2474:31;2499:5;2474:31;:::i;:::-;2524:5;-1:-1:-1;2581:2:1;2566:18;;2553:32;2594:33;2553:32;2594:33;:::i;:::-;2254:456;;2646:7;;-1:-1:-1;;;2700:2:1;2685:18;;;;2672:32;;2254:456::o;2715:160::-;2780:20;;2836:13;;2829:21;2819:32;;2809:60;;2865:1;2862;2855:12;2809:60;2715:160;;;:::o;2880:180::-;2936:6;2989:2;2977:9;2968:7;2964:23;2960:32;2957:52;;;3005:1;3002;2995:12;2957:52;3028:26;3044:9;3028:26;:::i;3273:315::-;3338:6;3346;3399:2;3387:9;3378:7;3374:23;3370:32;3367:52;;;3415:1;3412;3405:12;3367:52;3454:9;3441:23;3473:31;3498:5;3473:31;:::i;:::-;3523:5;-1:-1:-1;3547:35:1;3578:2;3563:18;;3547:35;:::i;:::-;3537:45;;3273:315;;;;;:::o;3782:180::-;3841:6;3894:2;3882:9;3873:7;3869:23;3865:32;3862:52;;;3910:1;3907;3900:12;3862:52;-1:-1:-1;3933:23:1;;3782:180;-1:-1:-1;3782:180:1:o;3967:388::-;4035:6;4043;4096:2;4084:9;4075:7;4071:23;4067:32;4064:52;;;4112:1;4109;4102:12;4064:52;4151:9;4138:23;4170:31;4195:5;4170:31;:::i;:::-;4220:5;-1:-1:-1;4277:2:1;4262:18;;4249:32;4290:33;4249:32;4290:33;:::i;:::-;4342:7;4332:17;;;3967:388;;;;;:::o;4360:380::-;4439:1;4435:12;;;;4482;;;4503:61;;4557:4;4549:6;4545:17;4535:27;;4503:61;4610:2;4602:6;4599:14;4579:18;4576:38;4573:161;;;4656:10;4651:3;4647:20;4644:1;4637:31;4691:4;4688:1;4681:15;4719:4;4716:1;4709:15;4573:161;;4360:380;;;:::o;4745:356::-;4947:2;4929:21;;;4966:18;;;4959:30;5025:34;5020:2;5005:18;;4998:62;5092:2;5077:18;;4745:356::o;5106:127::-;5167:10;5162:3;5158:20;5155:1;5148:31;5198:4;5195:1;5188:15;5222:4;5219:1;5212:15;5238:217;5278:1;5304;5294:132;;5348:10;5343:3;5339:20;5336:1;5329:31;5383:4;5380:1;5373:15;5411:4;5408:1;5401:15;5294:132;-1:-1:-1;5440:9:1;;5238:217::o;7084:128::-;7124:3;7155:1;7151:6;7148:1;7145:13;7142:39;;;7161:18;;:::i;:::-;-1:-1:-1;7197:9:1;;7084:128::o;8792:168::-;8832:7;8898:1;8894;8890:6;8886:14;8883:1;8880:21;8875:1;8868:9;8861:17;8857:45;8854:71;;;8905:18;;:::i;:::-;-1:-1:-1;8945:9:1;;8792:168::o;8965:125::-;9005:4;9033:1;9030;9027:8;9024:34;;;9038:18;;:::i;:::-;-1:-1:-1;9075:9:1;;8965:125::o;9227:127::-;9288:10;9283:3;9279:20;9276:1;9269:31;9319:4;9316:1;9309:15;9343:4;9340:1;9333:15;9359:251;9429:6;9482:2;9470:9;9461:7;9457:23;9453:32;9450:52;;;9498:1;9495;9488:12;9450:52;9530:9;9524:16;9549:31;9574:5;9549:31;:::i;9615:461::-;9668:3;9706:5;9700:12;9733:6;9728:3;9721:19;9759:4;9788:2;9783:3;9779:12;9772:19;;9825:2;9818:5;9814:14;9846:1;9856:195;9870:6;9867:1;9864:13;9856:195;;;9935:13;;-1:-1:-1;;;;;9931:39:1;9919:52;;9991:12;;;;10026:15;;;;9967:1;9885:9;9856:195;;;-1:-1:-1;10067:3:1;;9615:461;-1:-1:-1;;;;;9615:461:1:o;10081:582::-;10380:6;10369:9;10362:25;10423:6;10418:2;10407:9;10403:18;10396:34;10466:3;10461:2;10450:9;10446:18;10439:31;10343:4;10487:57;10539:3;10528:9;10524:19;10516:6;10487:57;:::i;:::-;-1:-1:-1;;;;;10580:32:1;;;;10575:2;10560:18;;10553:60;-1:-1:-1;10644:3:1;10629:19;10622:35;10479:65;10081:582;-1:-1:-1;;;10081:582:1:o;10668:332::-;10875:6;10864:9;10857:25;10918:2;10913;10902:9;10898:18;10891:30;10838:4;10938:56;10990:2;10979:9;10975:18;10967:6;10938:56;:::i;:::-;10930:64;10668:332;-1:-1:-1;;;;10668:332:1:o
Swarm Source
ipfs://1e11ccd3207a0213d6c5ad554a64a7de8d3bb3494045ab749a4333f95754c869
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.