More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 35 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 20627516 | 157 days ago | IN | 0 ETH | 0.00012433 | ||||
Approve | 20313444 | 201 days ago | IN | 0 ETH | 0.00133226 | ||||
Approve | 20313396 | 201 days ago | IN | 0 ETH | 0.00131362 | ||||
Approve | 20313288 | 201 days ago | IN | 0 ETH | 0.00124389 | ||||
Approve | 20313278 | 201 days ago | IN | 0 ETH | 0.0013564 | ||||
Renounce Ownersh... | 20313263 | 201 days ago | IN | 0 ETH | 0.00053798 | ||||
Approve | 20313261 | 201 days ago | IN | 0 ETH | 0.0012568 | ||||
Update Sell Fees | 20313259 | 201 days ago | IN | 0 ETH | 0.00092355 | ||||
Update Buy Fees | 20313256 | 201 days ago | IN | 0 ETH | 0.00090813 | ||||
Transfer | 20313254 | 201 days ago | IN | 0 ETH | 0.00119423 | ||||
Approve | 20313241 | 201 days ago | IN | 0 ETH | 0.00136765 | ||||
Approve | 20313241 | 201 days ago | IN | 0 ETH | 0.00136765 | ||||
Approve | 20313237 | 201 days ago | IN | 0 ETH | 0.00137207 | ||||
Approve | 20313237 | 201 days ago | IN | 0 ETH | 0.00137207 | ||||
Approve | 20313237 | 201 days ago | IN | 0 ETH | 0.00137207 | ||||
Approve | 20313237 | 201 days ago | IN | 0 ETH | 0.00137207 | ||||
Approve | 20313237 | 201 days ago | IN | 0 ETH | 0.00137207 | ||||
Update Sell Fees | 20313234 | 201 days ago | IN | 0 ETH | 0.00112899 | ||||
Update Buy Fees | 20313233 | 201 days ago | IN | 0 ETH | 0.00105819 | ||||
Approve | 20313230 | 201 days ago | IN | 0 ETH | 0.00143598 | ||||
Approve | 20313230 | 201 days ago | IN | 0 ETH | 0.00143598 | ||||
Approve | 20313230 | 201 days ago | IN | 0 ETH | 0.00143598 | ||||
Approve | 20313222 | 201 days ago | IN | 0 ETH | 0.00152538 | ||||
Approve | 20313222 | 201 days ago | IN | 0 ETH | 0.00152538 | ||||
Approve | 20313222 | 201 days ago | IN | 0 ETH | 0.00152538 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Ethponzi
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-15 */ // SPDX-License-Identifier: MIT /* Website: https://ethponzi.net Telegram: https://t.me/ethponzi Twitter: https://x.com/ethponzio Dapp: https://dapp.ethponzi.net Docs: https://docs.ethponzi.net The biggest Ponzi game on the Ethereum Blockchain. How does the game work: ------------------------------------------- - After the Ponzipot is filled with 5 ETH from $PONZIO Token taxes, a 15-minute countdown starts. - Players can buy Entry Tickets to take shares from the Ponzipot. - The last Entry Ticket bought before the countdown reaches zero wins 50% of the Ponzipot. - The remaining 50% of the Ponzipot will be evenly split among all players who have bought Entry Tickets. ------------------------------------------- - Each Entry Ticket costs 0.01 ETH. (Goes to the Ponzipot) - Each Entry Ticket bought extends the countdown timer by 1 Minute. ------------------------------------------- - For every 1,000 $PONZIO Tokens (which is equivalent to 0.1% of the total supply) a player holds, their Entry Tickets will count twice while calculating their share of the Ponzipot. */ pragma solidity 0.8.25; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } 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); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } 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 burn(address to) external returns (uint256 amount0, uint256 amount1); 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 IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract Ethponzi is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable uniswapV2Router; address public immutable uniswapV2Pair; address public constant deadAddress = address(0xdead); bool private swapping; address payable public marketingWallet; address payable public devWallet; uint256 private maxTransactionAmount; uint256 private swapTokensAtAmount; uint256 private maxWallet; bool private limitsInEffect = true; bool private tradingActive = false; bool private swapEnabled = false; // Anti-bot and anti-whale mappings and variables mapping(address => uint256) private _holderLastTransferTimestamp; // to hold last Transfers temporarily during launch bool public transferDelayEnabled = true; uint256 public buyTotalFees; uint256 public buyMarketingFee; uint256 public buyDevFee; uint256 public sellTotalFees; uint256 public sellMarketingFee; uint256 public sellDevFee; uint256 private tokensForMarketing; uint256 private tokensForDev; mapping(address => bool) private _isExcludedFromFees; mapping(uint256 => uint256) private swapInBlock; mapping(address => bool) private _isExcludedMaxTransactionAmount; // store addresses that a automatic market maker pairs. Any transfer *to* these addresses // could be subject to a maximum transfer amount mapping(address => bool) public automatedMarketMakerPairs; event UpdateUniswapV2Router( address indexed newAddress, address indexed oldAddress ); event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); constructor() ERC20("Ethponzi", "PONZIO") { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); excludeFromMaxTransaction(address(_uniswapV2Router), true); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); uint256 _buyMarketingFee = 15; uint256 _buyDevFee = 10; uint256 _sellMarketingFee = 15; uint256 _sellDevFee = 15; uint256 totalSupply = 1_000_000 * 1e18; maxTransactionAmount = 25_000 * 1e18; // 2.5% from total supply maxTransactionAmountTxn maxWallet = 25_000 * 1e18; // 2.5% from total supply maxWallet swapTokensAtAmount = (totalSupply * 10) / 10_000; // 0.1% from total supply buyMarketingFee = _buyMarketingFee; buyDevFee = _buyDevFee; buyTotalFees = buyMarketingFee + buyDevFee; sellMarketingFee = _sellMarketingFee; sellDevFee = _sellDevFee; sellTotalFees = sellMarketingFee + sellDevFee; marketingWallet = payable(0x694FBfA27ad70dcbBF1b53bCbf2e54Cc974d4377); devWallet = payable(0xc17ef390449EAcD34cD6363f82100F78053f1945); // exclude from paying fees or having max transaction amount excludeFromFees(owner(), true); excludeFromFees(marketingWallet, true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(marketingWallet, true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); /* _mint is an internal function in ERC20.sol that is only called here, and CANNOT be called ever again */ _mint(msg.sender, totalSupply); } receive() external payable {} // once opened, can never be turned off function openTrading() external onlyOwner { tradingActive = true; swapEnabled = true; } // remove limits after token is stable function removeLimits() external onlyOwner returns (bool) { limitsInEffect = false; return true; } function excludeFromMaxTransaction(address updAds, bool isEx) private onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function updateBuyFees( uint256 _marketingFee, uint256 _devFee ) external onlyOwner { buyMarketingFee = _marketingFee; buyDevFee = _devFee; buyTotalFees = buyMarketingFee + buyDevFee; require(buyTotalFees <= 35, "Must keep fees at 35% or less"); } function updateSellFees( uint256 _marketingFee, uint256 _devFee ) external onlyOwner { sellMarketingFee = _marketingFee; sellDevFee = _devFee; sellTotalFees = sellMarketingFee + sellDevFee; require(sellTotalFees <= 35, "Must keep fees at 35% or less"); } function excludeFromFees(address account, bool excluded) private onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require( pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs" ); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function isExcludedFromFees(address account) private view returns (bool) { return _isExcludedFromFees[account]; } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } uint256 blockNum = block.number; if (limitsInEffect) { if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping ) { if (!tradingActive) { require( _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active." ); } // at launch if the transfer delay is enabled, ensure the block timestamps for purchasers is set -- during launch. if (transferDelayEnabled) { if ( to != owner() && to != address(uniswapV2Router) && to != address(uniswapV2Pair) ) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } // buy if ( automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require( amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount." ); require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } // sell else if ( automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from] ) { require( amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount." ); } else if (!_isExcludedMaxTransactionAmount[to]) { require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( canSwap && swapEnabled && !swapping && (swapInBlock[blockNum] < 2) && !automatedMarketMakerPairs[from] && automatedMarketMakerPairs[to] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { swapping = true; swapBack(); ++swapInBlock[blockNum]; swapping = false; } bool takeFee = !swapping; // if any account belongs to _isExcludedFromFee account then remove the fee if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; // only take fees on buys/sells, do not take on wallet transfers if (takeFee) { // on sell if (automatedMarketMakerPairs[to] && sellTotalFees > 0) { fees = amount.mul(sellTotalFees).div(100); tokensForDev += (fees * sellDevFee) / sellTotalFees; tokensForMarketing += (fees * sellMarketingFee) / sellTotalFees; } // on buy else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) { fees = amount.mul(buyTotalFees).div(100); tokensForDev += (fees * buyDevFee) / buyTotalFees; tokensForMarketing += (fees * buyMarketingFee) / buyTotalFees; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } 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), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(uniswapV2Router), tokenAmount); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable deadAddress, block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = tokensForMarketing + tokensForDev; if (contractBalance == 0 || totalTokensToSwap == 0) { return; } if (contractBalance > swapTokensAtAmount * 10) { contractBalance = swapTokensAtAmount * 10; } uint256 amountToSwapForETH = contractBalance; uint256 initialETHBalance = address(this).balance; swapTokensForEth(amountToSwapForETH); uint256 ethBalance = address(this).balance.sub(initialETHBalance); uint256 ethForDev = ethBalance.mul(tokensForDev).div(totalTokensToSwap); tokensForMarketing = 0; tokensForDev = 0; devWallet.transfer(ethForDev); marketingWallet.transfer(address(this).balance); } }
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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","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":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c0604052600b805462ffffff19166001908117909155600d805460ff1916909117905534801561002e575f80fd5b5060405180604001604052806008815260200167457468706f6e7a6960c01b81525060405180604001604052806006815260200165504f4e5a494f60d01b815250816003908161007e91906106cf565b50600461008b82826106cf565b5050506100a461009f61039460201b60201c565b610398565b737a250d5630b4cf539739df2c5dacb4c659f2488d6100c48160016103e9565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561010c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610130919061078e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561017b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019f919061078e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156101e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020d919061078e565b6001600160a01b031660a08190526102269060016103e9565b60a05161023490600161045f565b69054b40b1f852bda000006008819055600a908155600f90818069d3c21bcecceda100000061271061026682866107cf565b61027091906107ec565b600955600f8590556010849055610287848661080b565b600e556012839055601382905561029e828461080b565b601155600680546001600160a01b031990811673694fbfa27ad70dcbbf1b53bcbf2e54cc974d4377179091556007805490911673c17ef390449eacd34cd6363f82100f78053f19451790556103056102fe6005546001600160a01b031690565b60016104b2565b60065461031c906001600160a01b031660016104b2565b6103273060016104b2565b61033461dead60016104b2565b6103506103496005546001600160a01b031690565b60016103e9565b600654610367906001600160a01b031660016103e9565b6103723060016103e9565b61037f61dead60016103e9565b6103893382610557565b50505050505061081e565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6005546001600160a01b031633146104355760405162461bcd60e51b815260206004820181905260248201525f805160206123ec83398151915260448201526064015b60405180910390fd5b6001600160a01b03919091165f908152601860205260409020805460ff1916911515919091179055565b6001600160a01b0382165f81815260196020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b031633146104f95760405162461bcd60e51b815260206004820181905260248201525f805160206123ec833981519152604482015260640161042c565b6001600160a01b0382165f81815260166020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b0382166105ad5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161042c565b8060025f8282546105be919061080b565b90915550506001600160a01b0382165f90815260208190526040812080548392906105ea90849061080b565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061066057607f821691505b60208210810361067e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561063357805f5260205f20601f840160051c810160208510156106a95750805b601f840160051c820191505b818110156106c8575f81556001016106b5565b5050505050565b81516001600160401b038111156106e8576106e8610638565b6106fc816106f6845461064c565b84610684565b602080601f83116001811461072f575f84156107185750858301515b5f19600386901b1c1916600185901b178555610786565b5f85815260208120601f198616915b8281101561075d5788860151825594840194600190910190840161073e565b508582101561077a57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121561079e575f80fd5b81516001600160a01b03811681146107b4575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107e6576107e66107bb565b92915050565b5f8261080657634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156107e6576107e66107bb565b60805160a051611b836108695f395f818161030b0152818161089f0152610c9101525f818161025301528181610c530152818161166e0152818161172501526117610152611b835ff3fe6080604052600436106101bd575f3560e01c806375f0a874116100f25780639c3b4fdc11610092578063c876d0b911610062578063c876d0b9146104ec578063c9567bf914610505578063d85ba06314610519578063dd62ed3e1461052e575f80fd5b80639c3b4fdc14610475578063a0d82dc51461048a578063a9059cbb1461049f578063b62496f5146104be575f80fd5b80638ea5220f116100cd5780638ea5220f1461040e578063921369131461042d57806395d89b41146104425780639a7a23d614610456575f80fd5b806375f0a874146103bd5780637bce5a04146103dc5780638da5cb5b146103f1575f80fd5b8063313ce5671161015d5780636a486a8e116101385780636a486a8e1461034c57806370a0823114610361578063715018a614610395578063751039fc146103a9575f80fd5b8063313ce567146102df57806349bd5a5e146102fa57806366ca9b831461032d575f80fd5b80631694505e116101985780631694505e1461024257806318160ddd1461028d57806323b872dd146102ab57806327c8f835146102ca575f80fd5b806302dbd8f8146101c857806306fdde03146101e9578063095ea7b314610213575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e23660046117da565b610572565b005b3480156101f4575f80fd5b506101fd610612565b60405161020a91906117fa565b60405180910390f35b34801561021e575f80fd5b5061023261022d366004611846565b6106a2565b604051901515815260200161020a565b34801561024d575f80fd5b506102757f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161020a565b348015610298575f80fd5b506002545b60405190815260200161020a565b3480156102b6575f80fd5b506102326102c5366004611870565b6106b8565b3480156102d5575f80fd5b5061027561dead81565b3480156102ea575f80fd5b506040516012815260200161020a565b348015610305575f80fd5b506102757f000000000000000000000000000000000000000000000000000000000000000081565b348015610338575f80fd5b506101e76103473660046117da565b610760565b348015610357575f80fd5b5061029d60115481565b34801561036c575f80fd5b5061029d61037b3660046118ae565b6001600160a01b03165f9081526020819052604090205490565b3480156103a0575f80fd5b506101e76107f3565b3480156103b4575f80fd5b50610232610828565b3480156103c8575f80fd5b50600654610275906001600160a01b031681565b3480156103e7575f80fd5b5061029d600f5481565b3480156103fc575f80fd5b506005546001600160a01b0316610275565b348015610419575f80fd5b50600754610275906001600160a01b031681565b348015610438575f80fd5b5061029d60125481565b34801561044d575f80fd5b506101fd610864565b348015610461575f80fd5b506101e76104703660046118c9565b610873565b348015610480575f80fd5b5061029d60105481565b348015610495575f80fd5b5061029d60135481565b3480156104aa575f80fd5b506102326104b9366004611846565b61094e565b3480156104c9575f80fd5b506102326104d83660046118ae565b60196020525f908152604090205460ff1681565b3480156104f7575f80fd5b50600d546102329060ff1681565b348015610510575f80fd5b506101e761095a565b348015610524575f80fd5b5061029d600e5481565b348015610539575f80fd5b5061029d610548366004611904565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6005546001600160a01b031633146105a55760405162461bcd60e51b815260040161059c90611930565b60405180910390fd5b601282905560138190556105b98183611979565b60118190556023101561060e5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420333525206f72206c657373000000604482015260640161059c565b5050565b6060600380546106219061198c565b80601f016020809104026020016040519081016040528092919081815260200182805461064d9061198c565b80156106985780601f1061066f57610100808354040283529160200191610698565b820191905f5260205f20905b81548152906001019060200180831161067b57829003601f168201915b5050505050905090565b5f6106ae338484610997565b5060015b92915050565b5f6106c4848484610aba565b6001600160a01b0384165f908152600160209081526040808320338452909152902054828110156107485760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161059c565b6107558533858403610997565b506001949350505050565b6005546001600160a01b0316331461078a5760405162461bcd60e51b815260040161059c90611930565b600f829055601081905561079e8183611979565b600e8190556023101561060e5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420333525206f72206c657373000000604482015260640161059c565b6005546001600160a01b0316331461081d5760405162461bcd60e51b815260040161059c90611930565b6108265f6112f2565b565b6005545f906001600160a01b031633146108545760405162461bcd60e51b815260040161059c90611930565b50600b805460ff19169055600190565b6060600480546106219061198c565b6005546001600160a01b0316331461089d5760405162461bcd60e51b815260040161059c90611930565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036109445760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161059c565b61060e8282611343565b5f6106ae338484610aba565b6005546001600160a01b031633146109845760405162461bcd60e51b815260040161059c90611930565b600b805462ffff00191662010100179055565b6001600160a01b0383166109f95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161059c565b6001600160a01b038216610a5a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161059c565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ae05760405162461bcd60e51b815260040161059c906119c4565b6001600160a01b038216610b065760405162461bcd60e51b815260040161059c90611a09565b805f03610b1d57610b1883835f611396565b505050565b600b54439060ff1615610fd1576005546001600160a01b03858116911614801590610b5657506005546001600160a01b03848116911614155b8015610b6a57506001600160a01b03831615155b8015610b8157506001600160a01b03831661dead14155b8015610b975750600554600160a01b900460ff16155b15610fd157600b54610100900460ff16610c2d576001600160a01b0384165f9081526016602052604090205460ff1680610be857506001600160a01b0383165f9081526016602052604090205460ff165b610c2d5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161059c565b600d5460ff1615610d72576005546001600160a01b03848116911614801590610c8857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b8015610cc657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15610d7257325f908152600c60205260409020544311610d605760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161059c565b325f908152600c602052604090204390555b6001600160a01b0384165f9081526019602052604090205460ff168015610db157506001600160a01b0383165f9081526018602052604090205460ff16155b15610e9457600854821115610e265760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161059c565b600a546001600160a01b0384165f90815260208190526040902054610e4b9084611979565b1115610e8f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161059c565b610fd1565b6001600160a01b0383165f9081526019602052604090205460ff168015610ed357506001600160a01b0384165f9081526018602052604090205460ff16155b15610f4957600854821115610e8f5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161059c565b6001600160a01b0383165f9081526018602052604090205460ff16610fd157600a546001600160a01b0384165f90815260208190526040902054610f8d9084611979565b1115610fd15760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161059c565b305f9081526020819052604090205460095481108015908190610ffc5750600b5462010000900460ff165b80156110125750600554600160a01b900460ff16155b801561102b57505f838152601760205260409020546002115b801561104f57506001600160a01b0386165f9081526019602052604090205460ff16155b801561107257506001600160a01b0385165f9081526019602052604090205460ff165b801561109657506001600160a01b0386165f9081526016602052604090205460ff16155b80156110ba57506001600160a01b0385165f9081526016602052604090205460ff16155b15611107576005805460ff60a01b1916600160a01b1790556110da6114e9565b5f83815260176020526040812080549091906110f590611a4c565b909155506005805460ff60a01b191690555b6005546001600160a01b0387165f9081526016602052604090205460ff600160a01b90920482161591168061115357506001600160a01b0386165f9081526016602052604090205460ff165b1561115b57505f5b5f81156112dd576001600160a01b0387165f9081526019602052604090205460ff16801561118a57505f601154115b15611216576111af60646111a9601154896115fc90919063ffffffff16565b9061160e565b9050601154601354826111c29190611a64565b6111cc9190611a7b565b60155f8282546111dc9190611979565b90915550506011546012546111f19083611a64565b6111fb9190611a7b565b60145f82825461120b9190611979565b909155506112bf9050565b6001600160a01b0388165f9081526019602052604090205460ff16801561123e57505f600e54115b156112bf5761125d60646111a9600e54896115fc90919063ffffffff16565b9050600e54601054826112709190611a64565b61127a9190611a7b565b60155f82825461128a9190611979565b9091555050600e54600f5461129f9083611a64565b6112a99190611a7b565b60145f8282546112b99190611979565b90915550505b80156112d0576112d0883083611396565b6112da8187611a9a565b95505b6112e8888888611396565b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260196020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166113bc5760405162461bcd60e51b815260040161059c906119c4565b6001600160a01b0382166113e25760405162461bcd60e51b815260040161059c90611a09565b6001600160a01b0383165f90815260208190526040902054818110156114595760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161059c565b6001600160a01b038085165f9081526020819052604080822085850390559185168152908120805484929061148f908490611979565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114db91815260200190565b60405180910390a350505050565b305f9081526020819052604081205490505f60155460145461150b9190611979565b9050811580611518575080155b15611521575050565b60095461152f90600a611a64565b8211156115475760095461154490600a611a64565b91505b814761155282611619565b5f61155d47836117cf565b90505f611579856111a9601554856115fc90919063ffffffff16565b5f601481905560158190556007546040519293506001600160a01b03169183156108fc0291849190818181858888f193505050501580156115bc573d5f803e3d5ffd5b506006546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156115f3573d5f803e3d5ffd5b50505050505050565b5f6116078284611a64565b9392505050565b5f6116078284611a7b565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061164c5761164c611aad565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ec9190611ac1565b816001815181106116ff576116ff611aad565b60200260200101906001600160a01b031690816001600160a01b03168152505061174a307f000000000000000000000000000000000000000000000000000000000000000084610997565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac9479061179e9085905f90869030904290600401611adc565b5f604051808303815f87803b1580156117b5575f80fd5b505af11580156117c7573d5f803e3d5ffd5b505050505050565b5f6116078284611a9a565b5f80604083850312156117eb575f80fd5b50508035926020909101359150565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611843575f80fd5b50565b5f8060408385031215611857575f80fd5b82356118628161182f565b946020939093013593505050565b5f805f60608486031215611882575f80fd5b833561188d8161182f565b9250602084013561189d8161182f565b929592945050506040919091013590565b5f602082840312156118be575f80fd5b81356116078161182f565b5f80604083850312156118da575f80fd5b82356118e58161182f565b9150602083013580151581146118f9575f80fd5b809150509250929050565b5f8060408385031215611915575f80fd5b82356119208161182f565b915060208301356118f98161182f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106b2576106b2611965565b600181811c908216806119a057607f821691505b6020821081036119be57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b5f60018201611a5d57611a5d611965565b5060010190565b80820281158282048414176106b2576106b2611965565b5f82611a9557634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156106b2576106b2611965565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611ad1575f80fd5b81516116078161182f565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b2c5784516001600160a01b031683529383019391830191600101611b07565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220a00e1bc211c7bc23073a09725899f4a9755328241e627753d870a6e4ac7b023464736f6c634300081900334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
Deployed Bytecode
0x6080604052600436106101bd575f3560e01c806375f0a874116100f25780639c3b4fdc11610092578063c876d0b911610062578063c876d0b9146104ec578063c9567bf914610505578063d85ba06314610519578063dd62ed3e1461052e575f80fd5b80639c3b4fdc14610475578063a0d82dc51461048a578063a9059cbb1461049f578063b62496f5146104be575f80fd5b80638ea5220f116100cd5780638ea5220f1461040e578063921369131461042d57806395d89b41146104425780639a7a23d614610456575f80fd5b806375f0a874146103bd5780637bce5a04146103dc5780638da5cb5b146103f1575f80fd5b8063313ce5671161015d5780636a486a8e116101385780636a486a8e1461034c57806370a0823114610361578063715018a614610395578063751039fc146103a9575f80fd5b8063313ce567146102df57806349bd5a5e146102fa57806366ca9b831461032d575f80fd5b80631694505e116101985780631694505e1461024257806318160ddd1461028d57806323b872dd146102ab57806327c8f835146102ca575f80fd5b806302dbd8f8146101c857806306fdde03146101e9578063095ea7b314610213575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e23660046117da565b610572565b005b3480156101f4575f80fd5b506101fd610612565b60405161020a91906117fa565b60405180910390f35b34801561021e575f80fd5b5061023261022d366004611846565b6106a2565b604051901515815260200161020a565b34801561024d575f80fd5b506102757f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161020a565b348015610298575f80fd5b506002545b60405190815260200161020a565b3480156102b6575f80fd5b506102326102c5366004611870565b6106b8565b3480156102d5575f80fd5b5061027561dead81565b3480156102ea575f80fd5b506040516012815260200161020a565b348015610305575f80fd5b506102757f000000000000000000000000f47e9dad9d994fff5bf8f0aa0a34e8f7c342494881565b348015610338575f80fd5b506101e76103473660046117da565b610760565b348015610357575f80fd5b5061029d60115481565b34801561036c575f80fd5b5061029d61037b3660046118ae565b6001600160a01b03165f9081526020819052604090205490565b3480156103a0575f80fd5b506101e76107f3565b3480156103b4575f80fd5b50610232610828565b3480156103c8575f80fd5b50600654610275906001600160a01b031681565b3480156103e7575f80fd5b5061029d600f5481565b3480156103fc575f80fd5b506005546001600160a01b0316610275565b348015610419575f80fd5b50600754610275906001600160a01b031681565b348015610438575f80fd5b5061029d60125481565b34801561044d575f80fd5b506101fd610864565b348015610461575f80fd5b506101e76104703660046118c9565b610873565b348015610480575f80fd5b5061029d60105481565b348015610495575f80fd5b5061029d60135481565b3480156104aa575f80fd5b506102326104b9366004611846565b61094e565b3480156104c9575f80fd5b506102326104d83660046118ae565b60196020525f908152604090205460ff1681565b3480156104f7575f80fd5b50600d546102329060ff1681565b348015610510575f80fd5b506101e761095a565b348015610524575f80fd5b5061029d600e5481565b348015610539575f80fd5b5061029d610548366004611904565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6005546001600160a01b031633146105a55760405162461bcd60e51b815260040161059c90611930565b60405180910390fd5b601282905560138190556105b98183611979565b60118190556023101561060e5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420333525206f72206c657373000000604482015260640161059c565b5050565b6060600380546106219061198c565b80601f016020809104026020016040519081016040528092919081815260200182805461064d9061198c565b80156106985780601f1061066f57610100808354040283529160200191610698565b820191905f5260205f20905b81548152906001019060200180831161067b57829003601f168201915b5050505050905090565b5f6106ae338484610997565b5060015b92915050565b5f6106c4848484610aba565b6001600160a01b0384165f908152600160209081526040808320338452909152902054828110156107485760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161059c565b6107558533858403610997565b506001949350505050565b6005546001600160a01b0316331461078a5760405162461bcd60e51b815260040161059c90611930565b600f829055601081905561079e8183611979565b600e8190556023101561060e5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420333525206f72206c657373000000604482015260640161059c565b6005546001600160a01b0316331461081d5760405162461bcd60e51b815260040161059c90611930565b6108265f6112f2565b565b6005545f906001600160a01b031633146108545760405162461bcd60e51b815260040161059c90611930565b50600b805460ff19169055600190565b6060600480546106219061198c565b6005546001600160a01b0316331461089d5760405162461bcd60e51b815260040161059c90611930565b7f000000000000000000000000f47e9dad9d994fff5bf8f0aa0a34e8f7c34249486001600160a01b0316826001600160a01b0316036109445760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161059c565b61060e8282611343565b5f6106ae338484610aba565b6005546001600160a01b031633146109845760405162461bcd60e51b815260040161059c90611930565b600b805462ffff00191662010100179055565b6001600160a01b0383166109f95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161059c565b6001600160a01b038216610a5a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161059c565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ae05760405162461bcd60e51b815260040161059c906119c4565b6001600160a01b038216610b065760405162461bcd60e51b815260040161059c90611a09565b805f03610b1d57610b1883835f611396565b505050565b600b54439060ff1615610fd1576005546001600160a01b03858116911614801590610b5657506005546001600160a01b03848116911614155b8015610b6a57506001600160a01b03831615155b8015610b8157506001600160a01b03831661dead14155b8015610b975750600554600160a01b900460ff16155b15610fd157600b54610100900460ff16610c2d576001600160a01b0384165f9081526016602052604090205460ff1680610be857506001600160a01b0383165f9081526016602052604090205460ff165b610c2d5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161059c565b600d5460ff1615610d72576005546001600160a01b03848116911614801590610c8857507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316836001600160a01b031614155b8015610cc657507f000000000000000000000000f47e9dad9d994fff5bf8f0aa0a34e8f7c34249486001600160a01b0316836001600160a01b031614155b15610d7257325f908152600c60205260409020544311610d605760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161059c565b325f908152600c602052604090204390555b6001600160a01b0384165f9081526019602052604090205460ff168015610db157506001600160a01b0383165f9081526018602052604090205460ff16155b15610e9457600854821115610e265760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161059c565b600a546001600160a01b0384165f90815260208190526040902054610e4b9084611979565b1115610e8f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161059c565b610fd1565b6001600160a01b0383165f9081526019602052604090205460ff168015610ed357506001600160a01b0384165f9081526018602052604090205460ff16155b15610f4957600854821115610e8f5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161059c565b6001600160a01b0383165f9081526018602052604090205460ff16610fd157600a546001600160a01b0384165f90815260208190526040902054610f8d9084611979565b1115610fd15760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161059c565b305f9081526020819052604090205460095481108015908190610ffc5750600b5462010000900460ff165b80156110125750600554600160a01b900460ff16155b801561102b57505f838152601760205260409020546002115b801561104f57506001600160a01b0386165f9081526019602052604090205460ff16155b801561107257506001600160a01b0385165f9081526019602052604090205460ff165b801561109657506001600160a01b0386165f9081526016602052604090205460ff16155b80156110ba57506001600160a01b0385165f9081526016602052604090205460ff16155b15611107576005805460ff60a01b1916600160a01b1790556110da6114e9565b5f83815260176020526040812080549091906110f590611a4c565b909155506005805460ff60a01b191690555b6005546001600160a01b0387165f9081526016602052604090205460ff600160a01b90920482161591168061115357506001600160a01b0386165f9081526016602052604090205460ff165b1561115b57505f5b5f81156112dd576001600160a01b0387165f9081526019602052604090205460ff16801561118a57505f601154115b15611216576111af60646111a9601154896115fc90919063ffffffff16565b9061160e565b9050601154601354826111c29190611a64565b6111cc9190611a7b565b60155f8282546111dc9190611979565b90915550506011546012546111f19083611a64565b6111fb9190611a7b565b60145f82825461120b9190611979565b909155506112bf9050565b6001600160a01b0388165f9081526019602052604090205460ff16801561123e57505f600e54115b156112bf5761125d60646111a9600e54896115fc90919063ffffffff16565b9050600e54601054826112709190611a64565b61127a9190611a7b565b60155f82825461128a9190611979565b9091555050600e54600f5461129f9083611a64565b6112a99190611a7b565b60145f8282546112b99190611979565b90915550505b80156112d0576112d0883083611396565b6112da8187611a9a565b95505b6112e8888888611396565b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260196020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166113bc5760405162461bcd60e51b815260040161059c906119c4565b6001600160a01b0382166113e25760405162461bcd60e51b815260040161059c90611a09565b6001600160a01b0383165f90815260208190526040902054818110156114595760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161059c565b6001600160a01b038085165f9081526020819052604080822085850390559185168152908120805484929061148f908490611979565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114db91815260200190565b60405180910390a350505050565b305f9081526020819052604081205490505f60155460145461150b9190611979565b9050811580611518575080155b15611521575050565b60095461152f90600a611a64565b8211156115475760095461154490600a611a64565b91505b814761155282611619565b5f61155d47836117cf565b90505f611579856111a9601554856115fc90919063ffffffff16565b5f601481905560158190556007546040519293506001600160a01b03169183156108fc0291849190818181858888f193505050501580156115bc573d5f803e3d5ffd5b506006546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156115f3573d5f803e3d5ffd5b50505050505050565b5f6116078284611a64565b9392505050565b5f6116078284611a7b565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061164c5761164c611aad565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ec9190611ac1565b816001815181106116ff576116ff611aad565b60200260200101906001600160a01b031690816001600160a01b03168152505061174a307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610997565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac9479061179e9085905f90869030904290600401611adc565b5f604051808303815f87803b1580156117b5575f80fd5b505af11580156117c7573d5f803e3d5ffd5b505050505050565b5f6116078284611a9a565b5f80604083850312156117eb575f80fd5b50508035926020909101359150565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611843575f80fd5b50565b5f8060408385031215611857575f80fd5b82356118628161182f565b946020939093013593505050565b5f805f60608486031215611882575f80fd5b833561188d8161182f565b9250602084013561189d8161182f565b929592945050506040919091013590565b5f602082840312156118be575f80fd5b81356116078161182f565b5f80604083850312156118da575f80fd5b82356118e58161182f565b9150602083013580151581146118f9575f80fd5b809150509250929050565b5f8060408385031215611915575f80fd5b82356119208161182f565b915060208301356118f98161182f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106b2576106b2611965565b600181811c908216806119a057607f821691505b6020821081036119be57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b5f60018201611a5d57611a5d611965565b5060010190565b80820281158282048414176106b2576106b2611965565b5f82611a9557634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156106b2576106b2611965565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611ad1575f80fd5b81516116078161182f565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b2c5784516001600160a01b031683529383019391830191600101611b07565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220a00e1bc211c7bc23073a09725899f4a9755328241e627753d870a6e4ac7b023464736f6c63430008190033
Deployed Bytecode Sourcemap
14779:12576:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19551:318;;;;;;;;;;-1:-1:-1;19551:318:0;;;;;:::i;:::-;;:::i;:::-;;3514:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4414:169;;;;;;;;;;-1:-1:-1;4414:169:0;;;;;:::i;:::-;;:::i;:::-;;;1311:14:1;;1304:22;1286:41;;1274:2;1259:18;4414:169:0;1146:187:1;14857:51:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1529:32:1;;;1511:51;;1499:2;1484:18;14857:51:0;1338:230:1;3829:108:0;;;;;;;;;;-1:-1:-1;3917:12:0;;3829:108;;;1719:25:1;;;1707:2;1692:18;3829:108:0;1573:177:1;4589:492:0;;;;;;;;;;-1:-1:-1;4589:492:0;;;;;:::i;:::-;;:::i;14960:53::-;;;;;;;;;;;;15006:6;14960:53;;3730:93;;;;;;;;;;-1:-1:-1;3730:93:0;;3813:2;2566:36:1;;2554:2;2539:18;3730:93:0;2424:184:1;14915:38:0;;;;;;;;;;;;;;;19234:311;;;;;;;;;;-1:-1:-1;19234:311:0;;;;;:::i;:::-;;:::i;15709:28::-;;;;;;;;;;;;;;;;3943:127;;;;;;;;;;-1:-1:-1;3943:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;4044:18:0;4017:7;4044:18;;;;;;;;;;;;3943:127;1862:103;;;;;;;;;;;;;:::i;18951:121::-;;;;;;;;;;;;;:::i;15052:38::-;;;;;;;;;;-1:-1:-1;15052:38:0;;;;-1:-1:-1;;;;;15052:38:0;;;15639:30;;;;;;;;;;;;;;;;1643:87;;;;;;;;;;-1:-1:-1;1716:6:0;;-1:-1:-1;;;;;1716:6:0;1643:87;;15097:32;;;;;;;;;;-1:-1:-1;15097:32:0;;;;-1:-1:-1;;;;;15097:32:0;;;15744:31;;;;;;;;;;;;;;;;3620:104;;;;;;;;;;;;;:::i;20064:286::-;;;;;;;;;;-1:-1:-1;20064:286:0;;;;;:::i;:::-;;:::i;15676:24::-;;;;;;;;;;;;;;;;15782:25;;;;;;;;;;;;;;;;4076:175;;;;;;;;;;-1:-1:-1;4076:175:0;;;;;:::i;:::-;;:::i;16229:57::-;;;;;;;;;;-1:-1:-1;16229:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15557:39;;;;;;;;;;-1:-1:-1;15557:39:0;;;;;;;;18791:110;;;;;;;;;;;;;:::i;15605:27::-;;;;;;;;;;;;;;;;4257:151;;;;;;;;;;-1:-1:-1;4257:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;4373:18:0;;;4346:7;4373:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4257:151;19551:318;1716:6;;-1:-1:-1;;;;;1716:6:0;1273:10;1776:23;1768:68;;;;-1:-1:-1;;;1768:68:0;;;;;;;:::i;:::-;;;;;;;;;19670:16:::1;:32:::0;;;19713:10:::1;:20:::0;;;19760:29:::1;19726:7:::0;19689:13;19760:29:::1;:::i;:::-;19744:13;:45:::0;;;19825:2:::1;-1:-1:-1::0;19808:19:0::1;19800:61;;;::::0;-1:-1:-1;;;19800:61:0;;4728:2:1;19800:61:0::1;::::0;::::1;4710:21:1::0;4767:2;4747:18;;;4740:30;4806:31;4786:18;;;4779:59;4855:18;;19800:61:0::1;4526:353:1::0;19800:61:0::1;19551:318:::0;;:::o;3514:100::-;3568:13;3601:5;3594:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3514:100;:::o;4414:169::-;4497:4;4514:39;1273:10;4537:7;4546:6;4514:8;:39::i;:::-;-1:-1:-1;4571:4:0;4414:169;;;;;:::o;4589:492::-;4729:4;4746:36;4756:6;4764:9;4775:6;4746:9;:36::i;:::-;-1:-1:-1;;;;;4822:19:0;;4795:24;4822:19;;;:11;:19;;;;;;;;1273:10;4822:33;;;;;;;;4874:26;;;;4866:79;;;;-1:-1:-1;;;4866:79:0;;5471:2:1;4866:79:0;;;5453:21:1;5510:2;5490:18;;;5483:30;5549:34;5529:18;;;5522:62;-1:-1:-1;;;5600:18:1;;;5593:38;5648:19;;4866:79:0;5269:404:1;4866:79:0;4981:57;4990:6;1273:10;5031:6;5012:16;:25;4981:8;:57::i;:::-;-1:-1:-1;5069:4:0;;4589:492;-1:-1:-1;;;;4589:492:0:o;19234:311::-;1716:6;;-1:-1:-1;;;;;1716:6:0;1273:10;1776:23;1768:68;;;;-1:-1:-1;;;1768:68:0;;;;;;;:::i;:::-;19352:15:::1;:31:::0;;;19394:9:::1;:19:::0;;;19439:27:::1;19406:7:::0;19370:13;19439:27:::1;:::i;:::-;19424:12;:42:::0;;;19501:2:::1;-1:-1:-1::0;19485:18:0::1;19477:60;;;::::0;-1:-1:-1;;;19477:60:0;;4728:2:1;19477:60:0::1;::::0;::::1;4710:21:1::0;4767:2;4747:18;;;4740:30;4806:31;4786:18;;;4779:59;4855:18;;19477:60:0::1;4526:353:1::0;1862:103:0;1716:6;;-1:-1:-1;;;;;1716:6:0;1273:10;1776:23;1768:68;;;;-1:-1:-1;;;1768:68:0;;;;;;;:::i;:::-;1927:30:::1;1954:1;1927:18;:30::i;:::-;1862:103::o:0;18951:121::-;1716:6;;19003:4;;-1:-1:-1;;;;;1716:6:0;1273:10;1776:23;1768:68;;;;-1:-1:-1;;;1768:68:0;;;;;;;:::i;:::-;-1:-1:-1;19020:14:0::1;:22:::0;;-1:-1:-1;;19020:22:0::1;::::0;;;18951:121;:::o;3620:104::-;3676:13;3709:7;3702:14;;;;;:::i;20064:286::-;1716:6;;-1:-1:-1;;;;;1716:6:0;1273:10;1776:23;1768:68;;;;-1:-1:-1;;;1768:68:0;;;;;;;:::i;:::-;20190:13:::1;-1:-1:-1::0;;;;;20182:21:0::1;:4;-1:-1:-1::0;;;;;20182:21:0::1;::::0;20160:128:::1;;;::::0;-1:-1:-1;;;20160:128:0;;5880:2:1;20160:128:0::1;::::0;::::1;5862:21:1::0;5919:2;5899:18;;;5892:30;5958:34;5938:18;;;5931:62;6029:27;6009:18;;;6002:55;6074:19;;20160:128:0::1;5678:421:1::0;20160:128:0::1;20301:41;20330:4;20336:5;20301:28;:41::i;4076:175::-:0;4162:4;4179:42;1273:10;4203:9;4214:6;4179:9;:42::i;18791:110::-;1716:6;;-1:-1:-1;;;;;1716:6:0;1273:10;1776:23;1768:68;;;;-1:-1:-1;;;1768:68:0;;;;;;;:::i;:::-;18844:13:::1;:20:::0;;-1:-1:-1;;18875:18:0;;;;;18791:110::o;6828:380::-;-1:-1:-1;;;;;6964:19:0;;6956:68;;;;-1:-1:-1;;;6956:68:0;;6306:2:1;6956:68:0;;;6288:21:1;6345:2;6325:18;;;6318:30;6384:34;6364:18;;;6357:62;-1:-1:-1;;;6435:18:1;;;6428:34;6479:19;;6956:68:0;6104:400:1;6956:68:0;-1:-1:-1;;;;;7043:21:0;;7035:68;;;;-1:-1:-1;;;7035:68:0;;6711:2:1;7035:68:0;;;6693:21:1;6750:2;6730:18;;;6723:30;6789:34;6769:18;;;6762:62;-1:-1:-1;;;6840:18:1;;;6833:32;6882:19;;7035:68:0;6509:398:1;7035:68:0;-1:-1:-1;;;;;7116:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7168:32;;1719:25:1;;;7168:32:0;;1692:18:1;7168:32:0;;;;;;;6828:380;;;:::o;20683:4721::-;-1:-1:-1;;;;;20815:18:0;;20807:68;;;;-1:-1:-1;;;20807:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20894:16:0;;20886:64;;;;-1:-1:-1;;;20886:64:0;;;;;;;:::i;:::-;20967:6;20977:1;20967:11;20963:93;;20995:28;21011:4;21017:2;21021:1;20995:15;:28::i;:::-;20683:4721;;;:::o;20963:93::-;21116:14;;21087:12;;21116:14;;21112:2479;;;1716:6;;-1:-1:-1;;;;;21169:15:0;;;1716:6;;21169:15;;;;:49;;-1:-1:-1;1716:6:0;;-1:-1:-1;;;;;21205:13:0;;;1716:6;;21205:13;;21169:49;:86;;;;-1:-1:-1;;;;;;21239:16:0;;;;21169:86;:128;;;;-1:-1:-1;;;;;;21276:21:0;;21290:6;21276:21;;21169:128;:158;;;;-1:-1:-1;21319:8:0;;-1:-1:-1;;;21319:8:0;;;;21318:9;21169:158;21147:2433;;;21367:13;;;;;;;21362:223;;-1:-1:-1;;;;;21439:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;21468:23:0;;;;;;:19;:23;;;;;;;;21439:52;21405:160;;;;-1:-1:-1;;;21405:160:0;;7924:2:1;21405:160:0;;;7906:21:1;7963:2;7943:18;;;7936:30;-1:-1:-1;;;7982:18:1;;;7975:52;8044:18;;21405:160:0;7722:346:1;21405:160:0;21741:20;;;;21737:641;;;1716:6;;-1:-1:-1;;;;;21816:13:0;;;1716:6;;21816:13;;;;:72;;;21872:15;-1:-1:-1;;;;;21858:30:0;:2;-1:-1:-1;;;;;21858:30:0;;;21816:72;:129;;;;;21931:13;-1:-1:-1;;;;;21917:28:0;:2;-1:-1:-1;;;;;21917:28:0;;;21816:129;21786:573;;;22063:9;22034:39;;;;:28;:39;;;;;;22109:12;-1:-1:-1;21996:258:0;;;;-1:-1:-1;;;21996:258:0;;8275:2:1;21996:258:0;;;8257:21:1;8314:2;8294:18;;;8287:30;8353:34;8333:18;;;8326:62;8424:34;8404:18;;;8397:62;-1:-1:-1;;;8475:19:1;;;8468:40;8525:19;;21996:258:0;8073:477:1;21996:258:0;22310:9;22281:39;;;;:28;:39;;;;;22323:12;22281:54;;21786:573;-1:-1:-1;;;;;22448:31:0;;;;;;:25;:31;;;;;;;;:92;;;;-1:-1:-1;;;;;;22505:35:0;;;;;;:31;:35;;;;;;;;22504:36;22448:92;22422:1143;;;22627:20;;22617:6;:30;;22583:169;;;;-1:-1:-1;;;22583:169:0;;8757:2:1;22583:169:0;;;8739:21:1;8796:2;8776:18;;;8769:30;8835:34;8815:18;;;8808:62;-1:-1:-1;;;8886:18:1;;;8879:51;8947:19;;22583:169:0;8555:417:1;22583:169:0;22835:9;;-1:-1:-1;;;;;4044:18:0;;4017:7;4044:18;;;;;;;;;;;22809:22;;:6;:22;:::i;:::-;:35;;22775:140;;;;-1:-1:-1;;;22775:140:0;;9179:2:1;22775:140:0;;;9161:21:1;9218:2;9198:18;;;9191:30;-1:-1:-1;;;9237:18:1;;;9230:49;9296:18;;22775:140:0;8977:343:1;22775:140:0;22422:1143;;;-1:-1:-1;;;;;23009:29:0;;;;;;:25;:29;;;;;;;;:92;;;;-1:-1:-1;;;;;;23064:37:0;;;;;;:31;:37;;;;;;;;23063:38;23009:92;22983:582;;;23188:20;;23178:6;:30;;23144:170;;;;-1:-1:-1;;;23144:170:0;;9527:2:1;23144:170:0;;;9509:21:1;9566:2;9546:18;;;9539:30;9605:34;9585:18;;;9578:62;-1:-1:-1;;;9656:18:1;;;9649:52;9718:19;;23144:170:0;9325:418:1;22983:582:0;-1:-1:-1;;;;;23345:35:0;;;;;;:31;:35;;;;;;;;23340:225;;23465:9;;-1:-1:-1;;;;;4044:18:0;;4017:7;4044:18;;;;;;;;;;;23439:22;;:6;:22;:::i;:::-;:35;;23405:140;;;;-1:-1:-1;;;23405:140:0;;9179:2:1;23405:140:0;;;9161:21:1;9218:2;9198:18;;;9191:30;-1:-1:-1;;;9237:18:1;;;9230:49;9296:18;;23405:140:0;8977:343:1;23405:140:0;23652:4;23603:28;4044:18;;;;;;;;;;;23710;;23686:42;;;;;;;23759:35;;-1:-1:-1;23783:11:0;;;;;;;23759:35;:61;;;;-1:-1:-1;23812:8:0;;-1:-1:-1;;;23812:8:0;;;;23811:9;23759:61;:105;;;;-1:-1:-1;23838:21:0;;;;:11;:21;;;;;;23862:1;-1:-1:-1;23759:105:0;:154;;;;-1:-1:-1;;;;;;23882:31:0;;;;;;:25;:31;;;;;;;;23881:32;23759:154;:200;;;;-1:-1:-1;;;;;;23930:29:0;;;;;;:25;:29;;;;;;;;23759:200;:243;;;;-1:-1:-1;;;;;;23977:25:0;;;;;;:19;:25;;;;;;;;23976:26;23759:243;:284;;;;-1:-1:-1;;;;;;24020:23:0;;;;;;:19;:23;;;;;;;;24019:24;23759:284;23741:456;;;24070:8;:15;;-1:-1:-1;;;;24070:15:0;-1:-1:-1;;;24070:15:0;;;24102:10;:8;:10::i;:::-;24131:21;;;;:11;:21;;;;;24129:23;;24131:21;;;24129:23;;;:::i;:::-;;;;-1:-1:-1;24169:8:0;:16;;-1:-1:-1;;;;24169:16:0;;;23741:456;24225:8;;-1:-1:-1;;;;;24335:25:0;;24209:12;24335:25;;;:19;:25;;;;;;24225:8;-1:-1:-1;;;24225:8:0;;;;;24224:9;;24335:25;;:52;;-1:-1:-1;;;;;;24364:23:0;;;;;;:19;:23;;;;;;;;24335:52;24331:100;;;-1:-1:-1;24414:5:0;24331:100;24443:12;24548:7;24544:807;;;-1:-1:-1;;;;;24600:29:0;;;;;;:25;:29;;;;;;;;:50;;;;;24649:1;24633:13;;:17;24600:50;24596:606;;;24678:34;24708:3;24678:25;24689:13;;24678:6;:10;;:25;;;;:::i;:::-;:29;;:34::i;:::-;24671:41;;24769:13;;24755:10;;24748:4;:17;;;;:::i;:::-;24747:35;;;;:::i;:::-;24731:12;;:51;;;;;;;:::i;:::-;;;;-1:-1:-1;;24851:13:0;;24831:16;;24824:23;;:4;:23;:::i;:::-;24823:41;;;;:::i;:::-;24801:18;;:63;;;;;;;:::i;:::-;;;;-1:-1:-1;24596:606:0;;-1:-1:-1;24596:606:0;;-1:-1:-1;;;;;24926:31:0;;;;;;:25;:31;;;;;;;;:51;;;;;24976:1;24961:12;;:16;24926:51;24922:280;;;25005:33;25034:3;25005:24;25016:12;;25005:6;:10;;:24;;;;:::i;:33::-;24998:40;;25094:12;;25081:9;;25074:4;:16;;;;:::i;:::-;25073:33;;;;:::i;:::-;25057:12;;:49;;;;;;;:::i;:::-;;;;-1:-1:-1;;25174:12:0;;25155:15;;25148:22;;:4;:22;:::i;:::-;25147:39;;;;:::i;:::-;25125:18;;:61;;;;;;;:::i;:::-;;;;-1:-1:-1;;24922:280:0;25222:8;;25218:91;;25251:42;25267:4;25281;25288;25251:15;:42::i;:::-;25325:14;25335:4;25325:14;;:::i;:::-;;;24544:807;25363:33;25379:4;25385:2;25389:6;25363:15;:33::i;:::-;20796:4608;;;;;20683:4721;;;:::o;1971:191::-;2064:6;;;-1:-1:-1;;;;;2081:17:0;;;-1:-1:-1;;;;;;2081:17:0;;;;;;;2114:40;;2064:6;;;2081:17;2064:6;;2114:40;;2045:16;;2114:40;2034:128;1971:191;:::o;20356:188::-;-1:-1:-1;;;;;20439:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;20439:39:0;;;;;;;;;;20496:40;;20439:39;;:31;20496:40;;;20356:188;;:::o;5087:733::-;-1:-1:-1;;;;;5227:20:0;;5219:70;;;;-1:-1:-1;;;5219:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5308:23:0;;5300:71;;;;-1:-1:-1;;;5300:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5468:17:0;;5444:21;5468:17;;;;;;;;;;;5504:23;;;;5496:74;;;;-1:-1:-1;;;5496:74:0;;10618:2:1;5496:74:0;;;10600:21:1;10657:2;10637:18;;;10630:30;10696:34;10676:18;;;10669:62;-1:-1:-1;;;10747:18:1;;;10740:36;10793:19;;5496:74:0;10416:402:1;5496:74:0;-1:-1:-1;;;;;5606:17:0;;;:9;:17;;;;;;;;;;;5626:22;;;5606:42;;5670:20;;;;;;;;:30;;5642:6;;5606:9;5670:30;;5642:6;;5670:30;:::i;:::-;;;;;;;;5735:9;-1:-1:-1;;;;;5718:35:0;5727:6;-1:-1:-1;;;;;5718:35:0;;5746:6;5718:35;;;;1719:25:1;;1707:2;1692:18;;1573:177;5718:35:0;;;;;;;;5208:612;5087:733;;;:::o;26534:816::-;26613:4;26569:23;4044:18;;;;;;;;;;;26569:50;;26626:25;26675:12;;26654:18;;:33;;;;:::i;:::-;26626:61;-1:-1:-1;26700:20:0;;;:46;;-1:-1:-1;26724:22:0;;26700:46;26696:77;;;26759:7;;26534:816::o;26696:77::-;26803:18;;:23;;26824:2;26803:23;:::i;:::-;26785:15;:41;26781:107;;;26857:18;;:23;;26878:2;26857:23;:::i;:::-;26839:41;;26781:107;26925:15;26977:21;27007:36;26925:15;27007:16;:36::i;:::-;27052:18;27073:44;:21;27099:17;27073:25;:44::i;:::-;27052:65;;27124:17;27144:51;27177:17;27144:28;27159:12;;27144:10;:14;;:28;;;;:::i;:51::-;27225:1;27204:18;:22;;;27233:12;:16;;;27258:9;;:29;;27124:71;;-1:-1:-1;;;;;;27258:9:0;;:29;;;;;27124:71;;27258:29;;27225:1;27258:29;27124:71;27258:9;:29;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27296:15:0;;:47;;-1:-1:-1;;;;;27296:15:0;;;;27321:21;27296:47;;;;;:15;:47;:15;:47;27321:21;27296:15;:47;;;;;;;;;;;;;;;;;;;;;26562:788;;;;;;26534:816::o;8818:98::-;8876:7;8903:5;8907:1;8903;:5;:::i;:::-;8896:12;8818:98;-1:-1:-1;;;8818:98:0:o;8922:::-;8980:7;9007:5;9011:1;9007;:5;:::i;25412:589::-;25562:16;;;25576:1;25562:16;;;;;;;;25538:21;;25562:16;;;;;;;;;;-1:-1:-1;25562:16:0;25538:40;;25607:4;25589;25594:1;25589:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;25589:23:0;;;-1:-1:-1;;;;;25589:23:0;;;;;25633:15;-1:-1:-1;;;;;25633:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25623:4;25628:1;25623:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;25623:32:0;;;-1:-1:-1;;;;;25623:32:0;;;;;25668:62;25685:4;25700:15;25718:11;25668:8;:62::i;:::-;25769:224;;-1:-1:-1;;;25769:224:0;;-1:-1:-1;;;;;25769:15:0;:66;;;;:224;;25850:11;;25876:1;;25920:4;;25947;;25967:15;;25769:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25467:534;25412:589;:::o;8714:98::-;8772:7;8799:5;8803:1;8799;:5;:::i;14:248:1:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;182:23:1;;;252:2;237:18;;;224:32;;-1:-1:-1;14:248:1:o;267:418::-;416:2;405:9;398:21;379:4;448:6;442:13;491:6;486:2;475:9;471:18;464:34;550:6;545:2;537:6;533:15;528:2;517:9;513:18;507:50;606:1;601:2;592:6;581:9;577:22;573:31;566:42;676:2;669;665:7;660:2;652:6;648:15;644:29;633:9;629:45;625:54;617:62;;;267:418;;;;:::o;690:131::-;-1:-1:-1;;;;;765:31:1;;755:42;;745:70;;811:1;808;801:12;745:70;690:131;:::o;826:315::-;894:6;902;955:2;943:9;934:7;930:23;926:32;923:52;;;971:1;968;961:12;923:52;1010:9;997:23;1029:31;1054:5;1029:31;:::i;:::-;1079:5;1131:2;1116:18;;;;1103:32;;-1:-1:-1;;;826:315:1:o;1755:456::-;1832:6;1840;1848;1901:2;1889:9;1880:7;1876:23;1872:32;1869:52;;;1917:1;1914;1907:12;1869:52;1956:9;1943:23;1975:31;2000:5;1975:31;:::i;:::-;2025:5;-1:-1:-1;2082:2:1;2067:18;;2054:32;2095:33;2054:32;2095:33;:::i;:::-;1755:456;;2147:7;;-1:-1:-1;;;2201:2:1;2186:18;;;;2173:32;;1755:456::o;2613:247::-;2672:6;2725:2;2713:9;2704:7;2700:23;2696:32;2693:52;;;2741:1;2738;2731:12;2693:52;2780:9;2767:23;2799:31;2824:5;2799:31;:::i;3089:416::-;3154:6;3162;3215:2;3203:9;3194:7;3190:23;3186:32;3183:52;;;3231:1;3228;3221:12;3183:52;3270:9;3257:23;3289:31;3314:5;3289:31;:::i;:::-;3339:5;-1:-1:-1;3396:2:1;3381:18;;3368:32;3438:15;;3431:23;3419:36;;3409:64;;3469:1;3466;3459:12;3409:64;3492:7;3482:17;;;3089:416;;;;;:::o;3510:388::-;3578:6;3586;3639:2;3627:9;3618:7;3614:23;3610:32;3607:52;;;3655:1;3652;3645:12;3607:52;3694:9;3681:23;3713:31;3738:5;3713:31;:::i;:::-;3763:5;-1:-1:-1;3820:2:1;3805:18;;3792:32;3833:33;3792:32;3833:33;:::i;3903:356::-;4105:2;4087:21;;;4124:18;;;4117:30;4183:34;4178:2;4163:18;;4156:62;4250:2;4235:18;;3903:356::o;4264:127::-;4325:10;4320:3;4316:20;4313:1;4306:31;4356:4;4353:1;4346:15;4380:4;4377:1;4370:15;4396:125;4461:9;;;4482:10;;;4479:36;;;4495:18;;:::i;4884:380::-;4963:1;4959:12;;;;5006;;;5027:61;;5081:4;5073:6;5069:17;5059:27;;5027:61;5134:2;5126:6;5123:14;5103:18;5100:38;5097:161;;5180:10;5175:3;5171:20;5168:1;5161:31;5215:4;5212:1;5205:15;5243:4;5240:1;5233:15;5097:161;;4884:380;;;:::o;6912:401::-;7114:2;7096:21;;;7153:2;7133:18;;;7126:30;7192:34;7187:2;7172:18;;7165:62;-1:-1:-1;;;7258:2:1;7243:18;;7236:35;7303:3;7288:19;;6912:401::o;7318:399::-;7520:2;7502:21;;;7559:2;7539:18;;;7532:30;7598:34;7593:2;7578:18;;7571:62;-1:-1:-1;;;7664:2:1;7649:18;;7642:33;7707:3;7692:19;;7318:399::o;9748:135::-;9787:3;9808:17;;;9805:43;;9828:18;;:::i;:::-;-1:-1:-1;9875:1:1;9864:13;;9748:135::o;9888:168::-;9961:9;;;9992;;10009:15;;;10003:22;;9989:37;9979:71;;10030:18;;:::i;10061:217::-;10101:1;10127;10117:132;;10171:10;10166:3;10162:20;10159:1;10152:31;10206:4;10203:1;10196:15;10234:4;10231:1;10224:15;10117:132;-1:-1:-1;10263:9:1;;10061:217::o;10283:128::-;10350:9;;;10371:11;;;10368:37;;;10385:18;;:::i;10955:127::-;11016:10;11011:3;11007:20;11004:1;10997:31;11047:4;11044:1;11037:15;11071:4;11068:1;11061:15;11087:251;11157:6;11210:2;11198:9;11189:7;11185:23;11181:32;11178:52;;;11226:1;11223;11216:12;11178:52;11258:9;11252:16;11277:31;11302:5;11277:31;:::i;11343:980::-;11605:4;11653:3;11642:9;11638:19;11684:6;11673:9;11666:25;11710:2;11748:6;11743:2;11732:9;11728:18;11721:34;11791:3;11786:2;11775:9;11771:18;11764:31;11815:6;11850;11844:13;11881:6;11873;11866:22;11919:3;11908:9;11904:19;11897:26;;11958:2;11950:6;11946:15;11932:29;;11979:1;11989:195;12003:6;12000:1;11997:13;11989:195;;;12068:13;;-1:-1:-1;;;;;12064:39:1;12052:52;;12159:15;;;;12124:12;;;;12100:1;12018:9;11989:195;;;-1:-1:-1;;;;;;;12240:32:1;;;;12235:2;12220:18;;12213:60;-1:-1:-1;;;12304:3:1;12289:19;12282:35;12201:3;11343:980;-1:-1:-1;;;11343:980:1:o
Swarm Source
ipfs://a00e1bc211c7bc23073a09725899f4a9755328241e627753d870a6e4ac7b0234
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.