Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 15 from a total of 15 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 20485992 | 241 days ago | IN | 0 ETH | 0.00015557 | ||||
Renounce Ownersh... | 20485359 | 241 days ago | IN | 0 ETH | 0.0002297 | ||||
Approve | 20485351 | 241 days ago | IN | 0 ETH | 0.00042292 | ||||
Set Max Tx Perce... | 20485350 | 241 days ago | IN | 0 ETH | 0.0005225 | ||||
Approve | 20485336 | 241 days ago | IN | 0 ETH | 0.00043063 | ||||
Approve | 20485330 | 241 days ago | IN | 0 ETH | 0.00075422 | ||||
Set Max Tx Perce... | 20485329 | 241 days ago | IN | 0 ETH | 0.00033839 | ||||
Approve | 20485255 | 241 days ago | IN | 0 ETH | 0.00080876 | ||||
Approve | 20485227 | 241 days ago | IN | 0 ETH | 0.00068231 | ||||
Set Max Tx Perce... | 20485213 | 241 days ago | IN | 0 ETH | 0.00046937 | ||||
Set Max Tx Perce... | 20485208 | 241 days ago | IN | 0 ETH | 0.00043891 | ||||
Approve | 20485206 | 241 days ago | IN | 0 ETH | 0.00070435 | ||||
Approve | 20485206 | 241 days ago | IN | 0 ETH | 0.0007975 | ||||
Open Trading | 20485204 | 241 days ago | IN | 0 ETH | 0.00066985 | ||||
Approve | 20479101 | 242 days ago | IN | 0 ETH | 0.00037763 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
CHEWDO
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-08-07 */ /** https://t.me/chewdoeth */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.26; 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; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } library Address { function isContract(address account) internal view returns (bool) { bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; 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"); (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); } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint256); 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(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); 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, uint256 value); event Transfer(address indexed from, address indexed to, uint256 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 (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 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 (uint256); function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); 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 (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function swap(uint256 amount0Out, uint256 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, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract CHEWDO is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromLimit; uint256 private constant MAX = ~uint256(0); uint256 private _tTotal = 200000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; string private _name = "CHEWDO"; string private _symbol = "GUM"; uint8 private _decimals = 9; IUniswapV2Router02 public immutable uniswapV2Router; address public immutable uniswapV2Pair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; uint256 public _maxBuyTxAmount = _tTotal.div(1000).mul(20); // 2% uint256 public _maxSellTxAmount = _tTotal.div(1000).mul(20); // 2% uint256 private numTokensSellToAddToLiquidity = _tTotal.div(1000).mul(3); // 0.3% uint256 public _maxWalletSize = _tTotal.div(1000).mul(20); // 2% event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap); event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity); modifier lockTheSwap() { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } bool public tradingOpen = false; bool private _tradingOpened = false; mapping (address => uint256) public _lastTrade; constructor() { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _isExcludedFromLimit[owner()] = true; _isExcludedFromLimit[address(this)] = true; emit Transfer(address(0), _msgSender(), _tTotal); } 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 _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _rOwned[account].div(_getRate()); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, 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 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 excludeFromLimit(address account) public onlyOwner { _isExcludedFromLimit[account] = true; } function includeInLimit(address account) public onlyOwner { _isExcludedFromLimit[account] = false; } function setNumTokensSellToAddToLiquidity(uint256 numTokens) external onlyOwner { numTokensSellToAddToLiquidity = numTokens; } function setMaxTxPercent(uint256 maxBuyTxPercent, uint256 maxSellTxPercent) external onlyOwner { _maxBuyTxAmount = _tTotal.mul(maxBuyTxPercent).div(10**3); _maxSellTxAmount = _tTotal.mul(maxSellTxPercent).div(10**3); } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner { swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } receive() external payable {} 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 _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) require(tradingOpen, "Trading not yet enabled."); //transfers disabled before openTrading uint256 contractTokenBalance = balanceOf(address(this)); if (contractTokenBalance >= _maxSellTxAmount) { contractTokenBalance = _maxSellTxAmount; } bool overMinTokenBalance = contractTokenBalance >= numTokensSellToAddToLiquidity; if (overMinTokenBalance && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled) { contractTokenBalance = numTokensSellToAddToLiquidity; swapAndLiquify(contractTokenBalance); } if (!_isExcludedFromLimit[from] && !_isExcludedFromLimit[to]) { if (from == uniswapV2Pair) { require(amount <= _maxBuyTxAmount, "Buy transfer amount exceeds the maxTxAmount."); } else if (to == uniswapV2Pair) { require(amount <= _maxSellTxAmount, "Sell transfer amount exceeds the maxTxAmount."); } else { require(amount <= _maxBuyTxAmount, "Transfer amount exceeds the maxTxAmount."); require(amount + balanceOf(to) <= _maxWalletSize, "Recipient exceeds max wallet size."); } } _tokenTransfer(from, to, amount); } function swapAndLiquify(uint256 tokens) private lockTheSwap { uint256 tokensToAddLiquidityWith = tokens / 2; uint256 toSwap = tokens - tokensToAddLiquidityWith; uint256 initialBalance = address(this).balance; swapTokensForEth(toSwap); uint256 deltaBalance = address(this).balance - initialBalance; uint256 ethToAddLiquidityWith = deltaBalance / 2; if (ethToAddLiquidityWith > 0) { addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith); } } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, address(this), block.timestamp ); } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { uint256 rAmount = tAmount.mul(_getRate()); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rAmount); emit Transfer(sender, recipient, tAmount); } function _getRate() private view returns (uint256) { return _rTotal.div(_tTotal); } function openTrading() external onlyOwner() { require(!_tradingOpened, "Trading is already open"); tradingOpen = true; _tradingOpened = true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minTokensBeforeSwap","type":"uint256"}],"name":"MinTokensBeforeSwapUpdated","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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_lastTrade","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxBuyTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxSellTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBuyTxPercent","type":"uint256"},{"internalType":"uint256","name":"maxSellTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"setNumTokensSellToAddToLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c06040526702c68af0bb140000600681905561001d905f19610493565b610028905f196104ba565b60075560408051808201909152600681526543484557444f60d01b60208201526009906100559082610565565b5060408051808201909152600381526247554d60e81b6020820152600a9061007d9082610565565b50600b805462ff00ff1916620100091790556006546100ab906014906100a5906103e8610377565b906103c7565b600c556006546100c4906014906100a5906103e8610377565b600d556006546100dd906003906100a5906103e8610377565b600e556006546100f6906014906100a5906103e8610377565b600f556010805461ffff1916905534801561010f575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600754335f9081526002602090815260409182902092909255805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a015592600480830193928290030181865afa1580156101b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d7919061061f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610222573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610246919061061f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610290573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b4919061061f565b6001600160a01b0390811660a0528116608052600160055f6102dd5f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff1995861617905530815260059092529020805490911660011790556103233390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60065460405161036991815260200190565b60405180910390a3506106a4565b5f6103be83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061044a60201b60201c565b90505b92915050565b5f825f036103d657505f6103c1565b5f6103e18385610645565b9050826103ee858361065c565b146103be5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b5f818361046a5760405162461bcd60e51b8152600401610441919061066f565b505f610476848661065c565b95945050505050565b634e487b7160e01b5f52601260045260245ffd5b5f826104a1576104a161047f565b500690565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103c1576103c16104a6565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806104f557607f821691505b60208210810361051357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561056057805f5260205f20601f840160051c8101602085101561053e5750805b601f840160051c820191505b8181101561055d575f815560010161054a565b50505b505050565b81516001600160401b0381111561057e5761057e6104cd565b6105928161058c84546104e1565b84610519565b6020601f8211600181146105c4575f83156105ad5750848201515b5f19600385901b1c1916600184901b17845561055d565b5f84815260208120601f198516915b828110156105f357878501518255602094850194600190920191016105d3565b508482101561061057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f6020828403121561062f575f80fd5b81516001600160a01b03811681146103be575f80fd5b80820281158282048414176103c1576103c16104a6565b5f8261066a5761066a61047f565b500490565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b60805160a0516118d06106fd5f395f818161032a01528181610cc401528181610d670152610e0c01525f818161022e0152818161120b015281816112c2015281816112fe0152818161137201526113cd01526118d05ff3fe608060405260043610610198575f3560e01c8063715018a6116100e7578063a9059cbb11610087578063cf4be39411610062578063cf4be3941461049e578063dd62ed3e146104b3578063f0f165af146104f7578063ffb54a9914610516575f80fd5b8063a9059cbb1461044c578063c49b9a801461046b578063c9567bf91461048a575f80fd5b806391d919a9116100c257806391d919a9146103cf57806395d89b41146103ee578063a457c2d714610402578063a87859f614610421575f80fd5b8063715018a61461038a5780638da5cb5b1461039e5780638f9a55c0146103ba575f80fd5b8063313ce567116101525780633f3cf56c1161012d5780633f3cf56c146102fa57806349bd5a5e146103195780634a74bb021461034c57806370a082311461036b575f80fd5b8063313ce567146102a557806333477327146102c657806339509351146102db575f80fd5b806306fdde03146101a3578063095ea7b3146101cd5780630bd3a7f9146101fc5780631694505e1461021d57806318160ddd1461026857806323b872dd14610286575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b506101b761052f565b6040516101c4919061154a565b60405180910390f35b3480156101d8575f80fd5b506101ec6101e7366004611596565b6105bf565b60405190151581526020016101c4565b348015610207575f80fd5b5061021b6102163660046115c0565b6105d5565b005b348015610228575f80fd5b506102507f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101c4565b348015610273575f80fd5b506006545b6040519081526020016101c4565b348015610291575f80fd5b506101ec6102a03660046115db565b61062a565b3480156102b0575f80fd5b50600b5460405160ff90911681526020016101c4565b3480156102d1575f80fd5b50610278600c5481565b3480156102e6575f80fd5b506101ec6102f5366004611596565b610691565b348015610305575f80fd5b5061021b610314366004611619565b6106c6565b348015610324575f80fd5b506102507f000000000000000000000000000000000000000000000000000000000000000081565b348015610357575f80fd5b50600b546101ec9062010000900460ff1681565b348015610376575f80fd5b506102786103853660046115c0565b61072f565b348015610395575f80fd5b5061021b610759565b3480156103a9575f80fd5b505f546001600160a01b0316610250565b3480156103c5575f80fd5b50610278600f5481565b3480156103da575f80fd5b5061021b6103e93660046115c0565b6107ca565b3480156103f9575f80fd5b506101b7610813565b34801561040d575f80fd5b506101ec61041c366004611596565b610822565b34801561042c575f80fd5b5061027861043b3660046115c0565b60116020525f908152604090205481565b348015610457575f80fd5b506101ec610466366004611596565b61086f565b348015610476575f80fd5b5061021b610485366004611639565b61087b565b348015610495575f80fd5b5061021b6108fa565b3480156104a9575f80fd5b50610278600d5481565b3480156104be575f80fd5b506102786104cd366004611658565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b348015610502575f80fd5b5061021b61051136600461168f565b61098c565b348015610521575f80fd5b506010546101ec9060ff1681565b60606009805461053e906116a6565b80601f016020809104026020016040519081016040528092919081815260200182805461056a906116a6565b80156105b55780601f1061058c576101008083540402835291602001916105b5565b820191905f5260205f20905b81548152906001019060200180831161059857829003601f168201915b5050505050905090565b5f6105cb3384846109ba565b5060015b92915050565b5f546001600160a01b031633146106075760405162461bcd60e51b81526004016105fe906116de565b60405180910390fd5b6001600160a01b03165f908152600560205260409020805460ff19166001179055565b5f610636848484610add565b61068784336106828560405180606001604052806028815260200161184e602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610f8f565b6109ba565b5060019392505050565b335f8181526004602090815260408083206001600160a01b038716845290915281205490916105cb9185906106829086610fc7565b5f546001600160a01b031633146106ef5760405162461bcd60e51b81526004016105fe906116de565b6107106103e861070a8460065461102c90919063ffffffff16565b906110aa565b600c55600654610728906103e89061070a908461102c565b600d555050565b5f6105cf61073b6110eb565b6001600160a01b0384165f90815260026020526040902054906110aa565b5f546001600160a01b031633146107825760405162461bcd60e51b81526004016105fe906116de565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107f35760405162461bcd60e51b81526004016105fe906116de565b6001600160a01b03165f908152600560205260409020805460ff19169055565b6060600a805461053e906116a6565b5f6105cb33846106828560405180606001604052806025815260200161187660259139335f9081526004602090815260408083206001600160a01b038d1684529091529020549190610f8f565b5f6105cb338484610add565b5f546001600160a01b031633146108a45760405162461bcd60e51b81526004016105fe906116de565b600b8054821515620100000262ff0000199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906108ef90831515815260200190565b60405180910390a150565b5f546001600160a01b031633146109235760405162461bcd60e51b81526004016105fe906116de565b601054610100900460ff161561097b5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105fe565b6010805461ffff1916610101179055565b5f546001600160a01b031633146109b55760405162461bcd60e51b81526004016105fe906116de565b600e55565b6001600160a01b038316610a1c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105fe565b6001600160a01b038216610a7d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105fe565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b415760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105fe565b6001600160a01b038216610ba35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105fe565b5f8111610c045760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105fe565b5f546001600160a01b03848116911614801590610c2e57505f546001600160a01b03838116911614155b15610c855760105460ff16610c855760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e000000000000000060448201526064016105fe565b5f610c8f3061072f565b9050600d548110610c9f5750600d545b600e5481108015908190610cbb5750600b54610100900460ff16155b8015610cf957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b8015610d0d5750600b5462010000900460ff165b15610d2057600e549150610d2082611108565b6001600160a01b0385165f9081526005602052604090205460ff16158015610d6057506001600160a01b0384165f9081526005602052604090205460ff16155b15610f7d577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603610e0a57600c54831115610e055760405162461bcd60e51b815260206004820152602c60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526b36b0bc2a3c20b6b7bab73a1760a11b60648201526084016105fe565b610f7d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603610eab57600d54831115610e055760405162461bcd60e51b815260206004820152602d60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526c1036b0bc2a3c20b6b7bab73a1760991b60648201526084016105fe565b600c54831115610f0e5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016105fe565b600f54610f1a8561072f565b610f249085611727565b1115610f7d5760405162461bcd60e51b815260206004820152602260248201527f526563697069656e742065786365656473206d61782077616c6c65742073697a604482015261329760f11b60648201526084016105fe565b610f8885858561117a565b5050505050565b5f8184841115610fb25760405162461bcd60e51b81526004016105fe919061154a565b505f610fbe848661173a565b95945050505050565b5f80610fd38385611727565b9050838110156110255760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105fe565b9392505050565b5f825f0361103b57505f6105cf565b5f611046838561174d565b9050826110538583611764565b146110255760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105fe565b5f61102583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061118a565b5f6111036006546007546110aa90919063ffffffff16565b905090565b600b805461ff0019166101001790555f611123600283611764565b90505f611130828461173a565b90504761113c826111b6565b5f611147824761173a565b90505f611155600283611764565b9050801561116757611167858261136c565b5050600b805461ff001916905550505050565b611185838383611442565b505050565b5f81836111aa5760405162461bcd60e51b81526004016105fe919061154a565b505f610fbe8486611764565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106111e9576111e9611783565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611265573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112899190611797565b8160018151811061129c5761129c611783565b60200260200101906001600160a01b031690816001600160a01b0316815250506112e7307f0000000000000000000000000000000000000000000000000000000000000000846109ba565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac9479061133b9085905f908690309042906004016117b2565b5f604051808303815f87803b158015611352575f80fd5b505af1158015611364573d5f803e3d5ffd5b505050505050565b611397307f0000000000000000000000000000000000000000000000000000000000000000846109ba565b60405163f305d71960e01b81523060048201819052602482018490525f60448301819052606483015260848201524260a48201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f305d71990839060c40160606040518083038185885af115801561141d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f889190611822565b5f61145561144e6110eb565b839061102c565b6001600160a01b0385165f9081526002602052604090205490915061147a9082611509565b6001600160a01b038086165f9081526002602052604080822093909355908516815220546114a89082610fc7565b6001600160a01b038085165f8181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114fb9086815260200190565b60405180910390a350505050565b5f61102583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f8f565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611593575f80fd5b50565b5f80604083850312156115a7575f80fd5b82356115b28161157f565b946020939093013593505050565b5f602082840312156115d0575f80fd5b81356110258161157f565b5f805f606084860312156115ed575f80fd5b83356115f88161157f565b925060208401356116088161157f565b929592945050506040919091013590565b5f806040838503121561162a575f80fd5b50508035926020909101359150565b5f60208284031215611649575f80fd5b81358015158114611025575f80fd5b5f8060408385031215611669575f80fd5b82356116748161157f565b915060208301356116848161157f565b809150509250929050565b5f6020828403121561169f575f80fd5b5035919050565b600181811c908216806116ba57607f821691505b6020821081036116d857634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156105cf576105cf611713565b818103818111156105cf576105cf611713565b80820281158282048414176105cf576105cf611713565b5f8261177e57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156117a7575f80fd5b81516110258161157f565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156118025783516001600160a01b03168352602093840193909201916001016117db565b50506001600160a01b039590951660608401525050608001529392505050565b5f805f60608486031215611834575f80fd5b505081516020830151604090930151909492935091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220675e495b458af8e491848782e9a5728b05b193f2dd7cea50ab9da0c598fcb96464736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610198575f3560e01c8063715018a6116100e7578063a9059cbb11610087578063cf4be39411610062578063cf4be3941461049e578063dd62ed3e146104b3578063f0f165af146104f7578063ffb54a9914610516575f80fd5b8063a9059cbb1461044c578063c49b9a801461046b578063c9567bf91461048a575f80fd5b806391d919a9116100c257806391d919a9146103cf57806395d89b41146103ee578063a457c2d714610402578063a87859f614610421575f80fd5b8063715018a61461038a5780638da5cb5b1461039e5780638f9a55c0146103ba575f80fd5b8063313ce567116101525780633f3cf56c1161012d5780633f3cf56c146102fa57806349bd5a5e146103195780634a74bb021461034c57806370a082311461036b575f80fd5b8063313ce567146102a557806333477327146102c657806339509351146102db575f80fd5b806306fdde03146101a3578063095ea7b3146101cd5780630bd3a7f9146101fc5780631694505e1461021d57806318160ddd1461026857806323b872dd14610286575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b506101b761052f565b6040516101c4919061154a565b60405180910390f35b3480156101d8575f80fd5b506101ec6101e7366004611596565b6105bf565b60405190151581526020016101c4565b348015610207575f80fd5b5061021b6102163660046115c0565b6105d5565b005b348015610228575f80fd5b506102507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016101c4565b348015610273575f80fd5b506006545b6040519081526020016101c4565b348015610291575f80fd5b506101ec6102a03660046115db565b61062a565b3480156102b0575f80fd5b50600b5460405160ff90911681526020016101c4565b3480156102d1575f80fd5b50610278600c5481565b3480156102e6575f80fd5b506101ec6102f5366004611596565b610691565b348015610305575f80fd5b5061021b610314366004611619565b6106c6565b348015610324575f80fd5b506102507f000000000000000000000000faec6aea435af3a2aba71d7dd9f824869f2f8e1481565b348015610357575f80fd5b50600b546101ec9062010000900460ff1681565b348015610376575f80fd5b506102786103853660046115c0565b61072f565b348015610395575f80fd5b5061021b610759565b3480156103a9575f80fd5b505f546001600160a01b0316610250565b3480156103c5575f80fd5b50610278600f5481565b3480156103da575f80fd5b5061021b6103e93660046115c0565b6107ca565b3480156103f9575f80fd5b506101b7610813565b34801561040d575f80fd5b506101ec61041c366004611596565b610822565b34801561042c575f80fd5b5061027861043b3660046115c0565b60116020525f908152604090205481565b348015610457575f80fd5b506101ec610466366004611596565b61086f565b348015610476575f80fd5b5061021b610485366004611639565b61087b565b348015610495575f80fd5b5061021b6108fa565b3480156104a9575f80fd5b50610278600d5481565b3480156104be575f80fd5b506102786104cd366004611658565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b348015610502575f80fd5b5061021b61051136600461168f565b61098c565b348015610521575f80fd5b506010546101ec9060ff1681565b60606009805461053e906116a6565b80601f016020809104026020016040519081016040528092919081815260200182805461056a906116a6565b80156105b55780601f1061058c576101008083540402835291602001916105b5565b820191905f5260205f20905b81548152906001019060200180831161059857829003601f168201915b5050505050905090565b5f6105cb3384846109ba565b5060015b92915050565b5f546001600160a01b031633146106075760405162461bcd60e51b81526004016105fe906116de565b60405180910390fd5b6001600160a01b03165f908152600560205260409020805460ff19166001179055565b5f610636848484610add565b61068784336106828560405180606001604052806028815260200161184e602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610f8f565b6109ba565b5060019392505050565b335f8181526004602090815260408083206001600160a01b038716845290915281205490916105cb9185906106829086610fc7565b5f546001600160a01b031633146106ef5760405162461bcd60e51b81526004016105fe906116de565b6107106103e861070a8460065461102c90919063ffffffff16565b906110aa565b600c55600654610728906103e89061070a908461102c565b600d555050565b5f6105cf61073b6110eb565b6001600160a01b0384165f90815260026020526040902054906110aa565b5f546001600160a01b031633146107825760405162461bcd60e51b81526004016105fe906116de565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107f35760405162461bcd60e51b81526004016105fe906116de565b6001600160a01b03165f908152600560205260409020805460ff19169055565b6060600a805461053e906116a6565b5f6105cb33846106828560405180606001604052806025815260200161187660259139335f9081526004602090815260408083206001600160a01b038d1684529091529020549190610f8f565b5f6105cb338484610add565b5f546001600160a01b031633146108a45760405162461bcd60e51b81526004016105fe906116de565b600b8054821515620100000262ff0000199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906108ef90831515815260200190565b60405180910390a150565b5f546001600160a01b031633146109235760405162461bcd60e51b81526004016105fe906116de565b601054610100900460ff161561097b5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105fe565b6010805461ffff1916610101179055565b5f546001600160a01b031633146109b55760405162461bcd60e51b81526004016105fe906116de565b600e55565b6001600160a01b038316610a1c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105fe565b6001600160a01b038216610a7d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105fe565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b415760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105fe565b6001600160a01b038216610ba35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105fe565b5f8111610c045760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105fe565b5f546001600160a01b03848116911614801590610c2e57505f546001600160a01b03838116911614155b15610c855760105460ff16610c855760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e000000000000000060448201526064016105fe565b5f610c8f3061072f565b9050600d548110610c9f5750600d545b600e5481108015908190610cbb5750600b54610100900460ff16155b8015610cf957507f000000000000000000000000faec6aea435af3a2aba71d7dd9f824869f2f8e146001600160a01b0316856001600160a01b031614155b8015610d0d5750600b5462010000900460ff165b15610d2057600e549150610d2082611108565b6001600160a01b0385165f9081526005602052604090205460ff16158015610d6057506001600160a01b0384165f9081526005602052604090205460ff16155b15610f7d577f000000000000000000000000faec6aea435af3a2aba71d7dd9f824869f2f8e146001600160a01b0316856001600160a01b031603610e0a57600c54831115610e055760405162461bcd60e51b815260206004820152602c60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526b36b0bc2a3c20b6b7bab73a1760a11b60648201526084016105fe565b610f7d565b7f000000000000000000000000faec6aea435af3a2aba71d7dd9f824869f2f8e146001600160a01b0316846001600160a01b031603610eab57600d54831115610e055760405162461bcd60e51b815260206004820152602d60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526c1036b0bc2a3c20b6b7bab73a1760991b60648201526084016105fe565b600c54831115610f0e5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016105fe565b600f54610f1a8561072f565b610f249085611727565b1115610f7d5760405162461bcd60e51b815260206004820152602260248201527f526563697069656e742065786365656473206d61782077616c6c65742073697a604482015261329760f11b60648201526084016105fe565b610f8885858561117a565b5050505050565b5f8184841115610fb25760405162461bcd60e51b81526004016105fe919061154a565b505f610fbe848661173a565b95945050505050565b5f80610fd38385611727565b9050838110156110255760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105fe565b9392505050565b5f825f0361103b57505f6105cf565b5f611046838561174d565b9050826110538583611764565b146110255760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105fe565b5f61102583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061118a565b5f6111036006546007546110aa90919063ffffffff16565b905090565b600b805461ff0019166101001790555f611123600283611764565b90505f611130828461173a565b90504761113c826111b6565b5f611147824761173a565b90505f611155600283611764565b9050801561116757611167858261136c565b5050600b805461ff001916905550505050565b611185838383611442565b505050565b5f81836111aa5760405162461bcd60e51b81526004016105fe919061154a565b505f610fbe8486611764565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106111e9576111e9611783565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611265573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112899190611797565b8160018151811061129c5761129c611783565b60200260200101906001600160a01b031690816001600160a01b0316815250506112e7307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846109ba565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac9479061133b9085905f908690309042906004016117b2565b5f604051808303815f87803b158015611352575f80fd5b505af1158015611364573d5f803e3d5ffd5b505050505050565b611397307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846109ba565b60405163f305d71960e01b81523060048201819052602482018490525f60448301819052606483015260848201524260a48201527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03169063f305d71990839060c40160606040518083038185885af115801561141d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f889190611822565b5f61145561144e6110eb565b839061102c565b6001600160a01b0385165f9081526002602052604090205490915061147a9082611509565b6001600160a01b038086165f9081526002602052604080822093909355908516815220546114a89082610fc7565b6001600160a01b038085165f8181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114fb9086815260200190565b60405180910390a350505050565b5f61102583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f8f565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611593575f80fd5b50565b5f80604083850312156115a7575f80fd5b82356115b28161157f565b946020939093013593505050565b5f602082840312156115d0575f80fd5b81356110258161157f565b5f805f606084860312156115ed575f80fd5b83356115f88161157f565b925060208401356116088161157f565b929592945050506040919091013590565b5f806040838503121561162a575f80fd5b50508035926020909101359150565b5f60208284031215611649575f80fd5b81358015158114611025575f80fd5b5f8060408385031215611669575f80fd5b82356116748161157f565b915060208301356116848161157f565b809150509250929050565b5f6020828403121561169f575f80fd5b5035919050565b600181811c908216806116ba57607f821691505b6020821081036116d857634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156105cf576105cf611713565b818103818111156105cf576105cf611713565b80820281158282048414176105cf576105cf611713565b5f8261177e57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156117a7575f80fd5b81516110258161157f565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156118025783516001600160a01b03168352602093840193909201916001016117db565b50506001600160a01b039590951660608401525050608001529392505050565b5f805f60608486031215611834575f80fd5b505081516020830151604090930151909492935091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220675e495b458af8e491848782e9a5728b05b193f2dd7cea50ab9da0c598fcb96464736f6c634300081a0033
Deployed Bytecode Sourcemap
13445:9011:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15587:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16434:161;;;;;;;;;;-1:-1:-1;16434:161:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;16434:161:0;945:187:1;17427:115:0;;;;;;;;;;-1:-1:-1;17427:115:0;;;;;:::i;:::-;;:::i;:::-;;14103:51;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1580:32:1;;;1562:51;;1550:2;1535:18;14103:51:0;1389:230:1;15864:95:0;;;;;;;;;;-1:-1:-1;15944:7:0;;15864:95;;;1770:25:1;;;1758:2;1743:18;15864:95:0;1624:177:1;16603:313:0;;;;;;;;;;-1:-1:-1;16603:313:0;;;;;:::i;:::-;;:::i;15773:83::-;;;;;;;;;;-1:-1:-1;15839:9:0;;15773:83;;15839:9;;;;2461:36:1;;2449:2;2434:18;15773:83:0;2319:184:1;14285:58:0;;;;;;;;;;;;;;;;16924:218;;;;;;;;;;-1:-1:-1;16924:218:0;;;;;:::i;:::-;;:::i;17820:241::-;;;;;;;;;;-1:-1:-1;17820:241:0;;;;;:::i;:::-;;:::i;14161:38::-;;;;;;;;;;;;;;;14236:40;;;;;;;;;;-1:-1:-1;14236:40:0;;;;;;;;;;;15967:133;;;;;;;;;;-1:-1:-1;15967:133:0;;;;;:::i;:::-;;:::i;5445:148::-;;;;;;;;;;;;;:::i;5231:79::-;;;;;;;;;;-1:-1:-1;5269:7:0;5296:6;-1:-1:-1;;;;;5296:6:0;5231:79;;14515:57;;;;;;;;;;;;;;;;17550:114;;;;;;;;;;-1:-1:-1;17550:114:0;;;;;:::i;:::-;;:::i;15678:87::-;;;;;;;;;;;;;:::i;17150:269::-;;;;;;;;;;-1:-1:-1;17150:269:0;;;;;:::i;:::-;;:::i;15014:46::-;;;;;;;;;;-1:-1:-1;15014:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;16108:167;;;;;;;;;;-1:-1:-1;16108:167:0;;;;;:::i;:::-;;:::i;18069:171::-;;;;;;;;;;-1:-1:-1;18069:171:0;;;;;:::i;:::-;;:::i;22278:175::-;;;;;;;;;;;;;:::i;14356:59::-;;;;;;;;;;;;;;;;16283:143;;;;;;;;;;-1:-1:-1;16283:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;16391:18:0;;;16364:7;16391:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16283:143;17672:140;;;;;;;;;;-1:-1:-1;17672:140:0;;;;;:::i;:::-;;:::i;14931:31::-;;;;;;;;;;-1:-1:-1;14931:31:0;;;;;;;;15587:83;15624:13;15657:5;15650:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15587:83;:::o;16434:161::-;16509:4;16526:39;2390:10;16549:7;16558:6;16526:8;:39::i;:::-;-1:-1:-1;16583:4:0;16434:161;;;;;:::o;17427:115::-;5358:6;;-1:-1:-1;;;;;5358:6:0;2390:10;5358:22;5350:67;;;;-1:-1:-1;;;5350:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;17498:29:0::1;;::::0;;;:20:::1;:29;::::0;;;;:36;;-1:-1:-1;;17498:36:0::1;17530:4;17498:36;::::0;;17427:115::o;16603:313::-;16701:4;16718:36;16728:6;16736:9;16747:6;16718:9;:36::i;:::-;16765:121;16774:6;2390:10;16796:89;16834:6;16796:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16796:19:0;;;;;;:11;:19;;;;;;;;2390:10;16796:33;;;;;;;;;;:37;:89::i;:::-;16765:8;:121::i;:::-;-1:-1:-1;16904:4:0;16603:313;;;;;:::o;16924:218::-;2390:10;17012:4;17061:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17061:34:0;;;;;;;;;;17012:4;;17029:83;;17052:7;;17061:50;;17100:10;17061:38;:50::i;17820:241::-;5358:6;;-1:-1:-1;;;;;5358:6:0;2390:10;5358:22;5350:67;;;;-1:-1:-1;;;5350:67:0;;;;;;;:::i;:::-;17944:39:::1;17977:5;17944:28;17956:15;17944:7;;:11;;:28;;;;:::i;:::-;:32:::0;::::1;:39::i;:::-;17926:15;:57:::0;18013:7:::1;::::0;:40:::1;::::0;18047:5:::1;::::0;18013:29:::1;::::0;18025:16;18013:11:::1;:29::i;:40::-;17994:16;:59:::0;-1:-1:-1;;17820:241:0:o;15967:133::-;16033:7;16060:32;16081:10;:8;:10::i;:::-;-1:-1:-1;;;;;16060:16:0;;;;;;:7;:16;;;;;;;:20;:32::i;5445:148::-;5358:6;;-1:-1:-1;;;;;5358:6:0;2390:10;5358:22;5350:67;;;;-1:-1:-1;;;5350:67:0;;;;;;;:::i;:::-;5552:1:::1;5536:6:::0;;5515:40:::1;::::0;-1:-1:-1;;;;;5536:6:0;;::::1;::::0;5515:40:::1;::::0;5552:1;;5515:40:::1;5583:1;5566:19:::0;;-1:-1:-1;;;;;;5566:19:0::1;::::0;;5445:148::o;17550:114::-;5358:6;;-1:-1:-1;;;;;5358:6:0;2390:10;5358:22;5350:67;;;;-1:-1:-1;;;5350:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17619:29:0::1;17651:5;17619:29:::0;;;:20:::1;:29;::::0;;;;:37;;-1:-1:-1;;17619:37:0::1;::::0;;17550:114::o;15678:87::-;15717:13;15750:7;15743:14;;;;;:::i;17150:269::-;17243:4;17260:129;2390:10;17283:7;17292:96;17331:15;17292:96;;;;;;;;;;;;;;;;;2390:10;17292:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17292:34:0;;;;;;;;;;;;:38;:96::i;16108:167::-;16186:4;16203:42;2390:10;16227:9;16238:6;16203:9;:42::i;18069:171::-;5358:6;;-1:-1:-1;;;;;5358:6:0;2390:10;5358:22;5350:67;;;;-1:-1:-1;;;5350:67:0;;;;;;;:::i;:::-;18146:21:::1;:32:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;18146:32:0;;::::1;;::::0;;18194:38:::1;::::0;::::1;::::0;::::1;::::0;18170:8;1110:14:1;1103:22;1085:41;;1073:2;1058:18;;945:187;18194:38:0::1;;;;;;;;18069:171:::0;:::o;22278:175::-;5358:6;;-1:-1:-1;;;;;5358:6:0;2390:10;5358:22;5350:67;;;;-1:-1:-1;;;5350:67:0;;;;;;;:::i;:::-;22342:14:::1;::::0;::::1;::::0;::::1;;;22341:15;22333:51;;;::::0;-1:-1:-1;;;22333:51:0;;4917:2:1;22333:51:0::1;::::0;::::1;4899:21:1::0;4956:2;4936:18;;;4929:30;4995:25;4975:18;;;4968:53;5038:18;;22333:51:0::1;4715:347:1::0;22333:51:0::1;22395:11;:18:::0;;-1:-1:-1;;22424:21:0;;;;;22278:175::o;17672:140::-;5358:6;;-1:-1:-1;;;;;5358:6:0;2390:10;5358:22;5350:67;;;;-1:-1:-1;;;5350:67:0;;;;;;;:::i;:::-;17763:29:::1;:41:::0;17672:140::o;18285:337::-;-1:-1:-1;;;;;18378:19:0;;18370:68;;;;-1:-1:-1;;;18370:68:0;;5269:2:1;18370:68:0;;;5251:21:1;5308:2;5288:18;;;5281:30;5347:34;5327:18;;;5320:62;-1:-1:-1;;;5398:18:1;;;5391:34;5442:19;;18370:68:0;5067:400:1;18370:68:0;-1:-1:-1;;;;;18457:21:0;;18449:68;;;;-1:-1:-1;;;18449:68:0;;5674:2:1;18449:68:0;;;5656:21:1;5713:2;5693:18;;;5686:30;5752:34;5732:18;;;5725:62;-1:-1:-1;;;5803:18:1;;;5796:32;5845:19;;18449:68:0;5472:398:1;18449:68:0;-1:-1:-1;;;;;18530:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18582:32;;1770:25:1;;;18582:32:0;;1743:18:1;18582:32:0;;;;;;;18285:337;;;:::o;18630:1638::-;-1:-1:-1;;;;;18718:18:0;;18710:68;;;;-1:-1:-1;;;18710:68:0;;6077:2:1;18710:68:0;;;6059:21:1;6116:2;6096:18;;;6089:30;6155:34;6135:18;;;6128:62;-1:-1:-1;;;6206:18:1;;;6199:35;6251:19;;18710:68:0;5875:401:1;18710:68:0;-1:-1:-1;;;;;18797:16:0;;18789:64;;;;-1:-1:-1;;;18789:64:0;;6483:2:1;18789:64:0;;;6465:21:1;6522:2;6502:18;;;6495:30;6561:34;6541:18;;;6534:62;-1:-1:-1;;;6612:18:1;;;6605:33;6655:19;;18789:64:0;6281:399:1;18789:64:0;18881:1;18872:6;:10;18864:64;;;;-1:-1:-1;;;18864:64:0;;6887:2:1;18864:64:0;;;6869:21:1;6926:2;6906:18;;;6899:30;6965:34;6945:18;;;6938:62;-1:-1:-1;;;7016:18:1;;;7009:39;7065:19;;18864:64:0;6685:405:1;18864:64:0;5269:7;5296:6;-1:-1:-1;;;;;18953:15:0;;;5296:6;;18953:15;;;;:32;;-1:-1:-1;5269:7:0;5296:6;-1:-1:-1;;;;;18972:13:0;;;5296:6;;18972:13;;18953:32;18949:86;;;18995:11;;;;18987:48;;;;-1:-1:-1;;;18987:48:0;;7297:2:1;18987:48:0;;;7279:21:1;7336:2;7316:18;;;7309:30;7375:26;7355:18;;;7348:54;7419:18;;18987:48:0;7095:348:1;18987:48:0;19088:28;19119:24;19137:4;19119:9;:24::i;:::-;19088:55;;19184:16;;19160:20;:40;19156:112;;-1:-1:-1;19240:16:0;;19156:112;19331:29;;19307:53;;;;;;;19375:40;;-1:-1:-1;19399:16:0;;;;;;;19398:17;19375:40;:65;;;;;19427:13;-1:-1:-1;;;;;19419:21:0;:4;-1:-1:-1;;;;;19419:21:0;;;19375:65;:90;;;;-1:-1:-1;19444:21:0;;;;;;;19375:90;19371:226;;;19505:29;;19482:52;;19549:36;19564:20;19549:14;:36::i;:::-;-1:-1:-1;;;;;19614:26:0;;;;;;:20;:26;;;;;;;;19613:27;:56;;;;-1:-1:-1;;;;;;19645:24:0;;;;;;:20;:24;;;;;;;;19644:25;19613:56;19609:607;;;19698:13;-1:-1:-1;;;;;19690:21:0;:4;-1:-1:-1;;;;;19690:21:0;;19686:519;;19750:15;;19740:6;:25;;19732:82;;;;-1:-1:-1;;;19732:82:0;;7650:2:1;19732:82:0;;;7632:21:1;7689:2;7669:18;;;7662:30;7728:34;7708:18;;;7701:62;-1:-1:-1;;;7779:18:1;;;7772:42;7831:19;;19732:82:0;7448:408:1;19732:82:0;19686:519;;;19846:13;-1:-1:-1;;;;;19840:19:0;:2;-1:-1:-1;;;;;19840:19:0;;19836:369;;19898:16;;19888:6;:26;;19880:84;;;;-1:-1:-1;;;19880:84:0;;8063:2:1;19880:84:0;;;8045:21:1;8102:2;8082:18;;;8075:30;8141:34;8121:18;;;8114:62;-1:-1:-1;;;8192:18:1;;;8185:43;8245:19;;19880:84:0;7861:409:1;19836:369:0;20023:15;;20013:6;:25;;20005:78;;;;-1:-1:-1;;;20005:78:0;;8477:2:1;20005:78:0;;;8459:21:1;8516:2;8496:18;;;8489:30;8555:34;8535:18;;;8528:62;-1:-1:-1;;;8606:18:1;;;8599:38;8654:19;;20005:78:0;8275:404:1;20005:78:0;20136:14;;20119:13;20129:2;20119:9;:13::i;:::-;20110:22;;:6;:22;:::i;:::-;:40;;20102:87;;;;-1:-1:-1;;;20102:87:0;;9148:2:1;20102:87:0;;;9130:21:1;9187:2;9167:18;;;9160:30;9226:34;9206:18;;;9199:62;-1:-1:-1;;;9277:18:1;;;9270:32;9319:19;;20102:87:0;8946:398:1;20102:87:0;20228:32;20243:4;20249:2;20253:6;20228:14;:32::i;:::-;18699:1569;;18630:1638;;;:::o;1153:192::-;1239:7;1275:12;1267:6;;;;1259:29;;;;-1:-1:-1;;;1259:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1299:9:0;1311:5;1315:1;1311;:5;:::i;:::-;1299:17;1153:192;-1:-1:-1;;;;;1153:192:0:o;820:181::-;878:7;;910:5;914:1;910;:5;:::i;:::-;898:17;;939:1;934;:6;;926:46;;;;-1:-1:-1;;;926:46:0;;9684:2:1;926:46:0;;;9666:21:1;9723:2;9703:18;;;9696:30;9762:29;9742:18;;;9735:57;9809:18;;926:46:0;9482:351:1;926:46:0;992:1;820:181;-1:-1:-1;;;820:181:0:o;1353:250::-;1411:7;1435:1;1440;1435:6;1431:47;;-1:-1:-1;1465:1:0;1458:8;;1431:47;1490:9;1502:5;1506:1;1502;:5;:::i;:::-;1490:17;-1:-1:-1;1535:1:0;1526:5;1530:1;1490:17;1526:5;:::i;:::-;:10;1518:56;;;;-1:-1:-1;;;1518:56:0;;10435:2:1;1518:56:0;;;10417:21:1;10474:2;10454:18;;;10447:30;10513:34;10493:18;;;10486:62;-1:-1:-1;;;10564:18:1;;;10557:31;10605:19;;1518:56:0;10233:397:1;1611:132:0;1669:7;1696:39;1700:1;1703;1696:39;;;;;;;;;;;;;;;;;:3;:39::i;22173:97::-;22215:7;22242:20;22254:7;;22242;;:11;;:20;;;;:::i;:::-;22235:27;;22173:97;:::o;20276:545::-;14845:16;:23;;-1:-1:-1;;14845:23:0;;;;;;20382:10:::1;20391:1;20382:6:::0;:10:::1;:::i;:::-;20347:45:::0;-1:-1:-1;20403:14:0::1;20420:33;20347:45:::0;20420:6;:33:::1;:::i;:::-;20403:50:::0;-1:-1:-1;20491:21:0::1;20525:24;20403:50:::0;20525:16:::1;:24::i;:::-;20562:20;20585:38;20609:14:::0;20585:21:::1;:38;:::i;:::-;20562:61:::0;-1:-1:-1;20634:29:0::1;20666:16;20681:1;20562:61:::0;20666:16:::1;:::i;:::-;20634:48:::0;-1:-1:-1;20699:25:0;;20695:119:::1;;20741:61;20754:24;20780:21;20741:12;:61::i;:::-;-1:-1:-1::0;;14891:16:0;:24;;-1:-1:-1;;14891:24:0;;;-1:-1:-1;;;;20276:545:0:o;21688:146::-;21782:44;21800:6;21808:9;21819:6;21782:17;:44::i;:::-;21688:146;;;:::o;1751:191::-;1837:7;1872:12;1865:5;1857:28;;;;-1:-1:-1;;;1857:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1896:9:0;1908:5;1912:1;1908;:5;:::i;20829:475::-;20919:16;;;20933:1;20919:16;;;;;;;;20895:21;;20919:16;;;;;;;;;;-1:-1:-1;20919:16:0;20895:40;;20964:4;20946;20951:1;20946:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;20946:23:0;;;-1:-1:-1;;;;;20946:23:0;;;;;20990:15;-1:-1:-1;;;;;20990:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20980:4;20985:1;20980:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;20980:32:0;;;-1:-1:-1;;;;;20980:32:0;;;;;21025:62;21042:4;21057:15;21075:11;21025:8;:62::i;:::-;21100:196;;-1:-1:-1;;;21100:196:0;;-1:-1:-1;;;;;21100:15:0;:66;;;;:196;;21181:11;;21207:1;;21223:4;;21250;;21270:15;;21100:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20884:420;20829:475;:::o;21312:368::-;21393:62;21410:4;21425:15;21443:11;21393:8;:62::i;:::-;21468:204;;-1:-1:-1;;;21468:204:0;;21540:4;21468:204;;;12422:51:1;;;12489:18;;;12482:34;;;21586:1:0;12532:18:1;;;12525:34;;;12575:18;;;12568:34;12618:19;;;12611:61;21646:15:0;12688:19:1;;;12681:35;21468:15:0;-1:-1:-1;;;;;21468:31:0;;;;21507:9;;12394:19:1;;21468:204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;21842:323::-;21940:15;21958:23;21970:10;:8;:10::i;:::-;21958:7;;:11;:23::i;:::-;-1:-1:-1;;;;;22012:15:0;;;;;;:7;:15;;;;;;21940:41;;-1:-1:-1;22012:28:0;;21940:41;22012:19;:28::i;:::-;-1:-1:-1;;;;;21994:15:0;;;;;;;:7;:15;;;;;;:46;;;;22072:18;;;;;;;:31;;22095:7;22072:22;:31::i;:::-;-1:-1:-1;;;;;22051:18:0;;;;;;;:7;:18;;;;;;;:52;;;;22121:36;;;;;;;;;;22149:7;1770:25:1;;1758:2;1743:18;;1624:177;22121:36:0;;;;;;;;21929:236;21842:323;;;:::o;1009:136::-;1067:7;1094:43;1098:1;1101;1094:43;;;;;;;;;;;;;;;;;:3;:43::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:367::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1137:247::-;1196:6;1249:2;1237:9;1228:7;1224:23;1220:32;1217:52;;;1265:1;1262;1255:12;1217:52;1304:9;1291:23;1323:31;1348:5;1323:31;:::i;1806:508::-;1883:6;1891;1899;1952:2;1940:9;1931:7;1927:23;1923:32;1920:52;;;1968:1;1965;1958:12;1920:52;2007:9;1994:23;2026:31;2051:5;2026:31;:::i;:::-;2076:5;-1:-1:-1;2133:2:1;2118:18;;2105:32;2146:33;2105:32;2146:33;:::i;:::-;1806:508;;2198:7;;-1:-1:-1;;;2278:2:1;2263:18;;;;2250:32;;1806:508::o;2508:346::-;2576:6;2584;2637:2;2625:9;2616:7;2612:23;2608:32;2605:52;;;2653:1;2650;2643:12;2605:52;-1:-1:-1;;2698:23:1;;;2818:2;2803:18;;;2790:32;;-1:-1:-1;2508:346:1:o;3067:273::-;3123:6;3176:2;3164:9;3155:7;3151:23;3147:32;3144:52;;;3192:1;3189;3182:12;3144:52;3231:9;3218:23;3284:5;3277:13;3270:21;3263:5;3260:32;3250:60;;3306:1;3303;3296:12;3345:388;3413:6;3421;3474:2;3462:9;3453:7;3449:23;3445:32;3442:52;;;3490:1;3487;3480:12;3442:52;3529:9;3516:23;3548:31;3573:5;3548:31;:::i;:::-;3598:5;-1:-1:-1;3655:2:1;3640:18;;3627:32;3668:33;3627:32;3668:33;:::i;:::-;3720:7;3710:17;;;3345:388;;;;;:::o;3738:226::-;3797:6;3850:2;3838:9;3829:7;3825:23;3821:32;3818:52;;;3866:1;3863;3856:12;3818:52;-1:-1:-1;3911:23:1;;3738:226;-1:-1:-1;3738:226:1:o;3969:380::-;4048:1;4044:12;;;;4091;;;4112:61;;4166:4;4158:6;4154:17;4144:27;;4112:61;4219:2;4211:6;4208:14;4188:18;4185:38;4182:161;;4265:10;4260:3;4256:20;4253:1;4246:31;4300:4;4297:1;4290:15;4328:4;4325:1;4318:15;4182:161;;3969:380;;;:::o;4354:356::-;4556:2;4538:21;;;4575:18;;;4568:30;4634:34;4629:2;4614:18;;4607:62;4701:2;4686:18;;4354:356::o;8684:127::-;8745:10;8740:3;8736:20;8733:1;8726:31;8776:4;8773:1;8766:15;8800:4;8797:1;8790:15;8816:125;8881:9;;;8902:10;;;8899:36;;;8915:18;;:::i;9349:128::-;9416:9;;;9437:11;;;9434:37;;;9451:18;;:::i;9838:168::-;9911:9;;;9942;;9959:15;;;9953:22;;9939:37;9929:71;;9980:18;;:::i;10011:217::-;10051:1;10077;10067:132;;10121:10;10116:3;10112:20;10109:1;10102:31;10156:4;10153:1;10146:15;10184:4;10181:1;10174:15;10067:132;-1:-1:-1;10213:9:1;;10011:217::o;10767:127::-;10828:10;10823:3;10819:20;10816:1;10809:31;10859:4;10856:1;10849:15;10883:4;10880:1;10873:15;10899:251;10969:6;11022:2;11010:9;11001:7;10997:23;10993:32;10990:52;;;11038:1;11035;11028:12;10990:52;11070:9;11064:16;11089:31;11114:5;11089:31;:::i;11155:959::-;11417:4;11465:3;11454:9;11450:19;11496:6;11485:9;11478:25;11539:6;11534:2;11523:9;11519:18;11512:34;11582:3;11577:2;11566:9;11562:18;11555:31;11606:6;11641;11635:13;11672:6;11664;11657:22;11710:3;11699:9;11695:19;11688:26;;11749:2;11741:6;11737:15;11723:29;;11770:1;11780:195;11794:6;11791:1;11788:13;11780:195;;;11859:13;;-1:-1:-1;;;;;11855:39:1;11843:52;;11924:2;11950:15;;;;11915:12;;;;11891:1;11809:9;11780:195;;;-1:-1:-1;;;;;;;12031:32:1;;;;12026:2;12011:18;;12004:60;-1:-1:-1;;12095:3:1;12080:19;12073:35;11992:3;11155:959;-1:-1:-1;;;11155:959:1:o;12727:456::-;12815:6;12823;12831;12884:2;12872:9;12863:7;12859:23;12855:32;12852:52;;;12900:1;12897;12890:12;12852:52;-1:-1:-1;;12945:16:1;;13051:2;13036:18;;13030:25;13147:2;13132:18;;;13126:25;12945:16;;13030:25;;-1:-1:-1;13126:25:1;12727:456;-1:-1:-1;12727:456:1:o
Swarm Source
ipfs://675e495b458af8e491848782e9a5728b05b193f2dd7cea50ab9da0c598fcb964
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.