ERC-20
Overview
Max Total Supply
1,000,000,000 APE
Holders
148
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Ape
Compiler Version
v0.8.24+commit.e11b9ed9
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-12 */ // SPDX-License-Identifier: MIT /* TG: https://t.me/ApeByMattFurie X: https://x.com/ApebyMattFurie Web: http://apebymattfurie.xyz/ */ pragma solidity = 0.8.24; pragma experimental ABIEncoderV2; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } 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 swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) 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 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; } 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 IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount ) external returns (bool); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } 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 to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, 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) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, 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; unchecked { _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 _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } contract Ape is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable _uniswapV2Router; address private uniswapV2Pair; address private deployerWallet; address private marketingWallet; address private constant deadAddress = address(0xdead); bool private swapping; string private constant _name = "Ape"; string private constant _symbol = "APE"; uint256 public initialTotalSupply = 1000000000 * 1e18; uint256 public maxTransactionAmount = 20000000 * 1e18; uint256 public maxWallet = 20000000 * 1e18; uint256 public swapTokensAtAmount = 10000000 * 1e18; bool public tradingOpen = false; uint256 public BuyFee = 25; uint256 public SellFee = 45; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) private _isExcludedMaxTransactionAmount; mapping(address => bool) private automatedMarketMakerPairs; event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); constructor(address wallet) ERC20(_name, _symbol) { _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); excludeFromMaxTransaction(address(uniswapV2Pair), true); excludeFromMaxTransaction(address(_uniswapV2Router), true); marketingWallet = payable(wallet); deployerWallet = payable(_msgSender()); excludeFromFees(owner(), true); excludeFromFees(address(this), true); excludeFromFees(address(wallet), true); excludeFromFees(address(0xdead), true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(wallet), true); excludeFromMaxTransaction(address(0xdead), true); _mint(deployerWallet, initialTotalSupply); } receive() external payable {} function openTrade() external onlyOwner() { tradingOpen = true; } function excludeFromMaxTransaction(address updAds, bool isEx) private { _isExcludedMaxTransactionAmount[updAds] = isEx; } function excludeFromFees(address account, bool excluded) private { _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) public 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; } bool isTransfer = !automatedMarketMakerPairs[from] && !automatedMarketMakerPairs[to]; if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) { if (!tradingOpen) { require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active."); } if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) { require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount."); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } 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 > 0 && !isTransfer; if (canSwap && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) { swapping = true; swapBack(amount); swapping = false; } bool takeFee = !swapping && !isTransfer; if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; if (takeFee) { if (automatedMarketMakerPairs[to]) { fees = amount.mul(SellFee).div(100); } else { fees = amount.mul(BuyFee).div(100); } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } 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, marketingWallet, block.timestamp ); } function removesLimit() external onlyOwner { uint256 totalSupplyAmount = totalSupply(); maxTransactionAmount = totalSupplyAmount; maxWallet = totalSupplyAmount; } function clearStuckEth() external { require(_msgSender() == deployerWallet); require(address(this).balance > 0, "Token: no ETH to clear"); payable(msg.sender).transfer(address(this).balance); } function clearStuckTokens(address tokenAddress) external { require(_msgSender() == deployerWallet); IERC20 tokenContract = IERC20(tokenAddress); uint256 balance = tokenContract.balanceOf(address(this)); require(balance > 0, "No tokens to clear"); tokenContract.transfer(deployerWallet, balance); } function setTax(uint256 _buyFee, uint256 _sellFee) external onlyOwner { require(_buyFee <= 99 && _sellFee <= 99, "Fees cannot exceed 99%"); BuyFee = _buyFee; SellFee = _sellFee; } function setSwapTokensAtAmount(uint256 _amount) external onlyOwner { swapTokensAtAmount = _amount * (10 ** 18); } function manualSwap(uint256 percent) external { require(_msgSender() == deployerWallet); uint256 totalSupplyAmount = totalSupply(); uint256 contractBalance = balanceOf(address(this)); uint256 tokensToSwap; if (percent == 100) { tokensToSwap = contractBalance; } else { tokensToSwap = totalSupplyAmount * percent / 100; if (tokensToSwap > contractBalance) { tokensToSwap = contractBalance; } } require(tokensToSwap <= contractBalance, "Swap amount exceeds contract balance"); swapTokensForEth(tokensToSwap); } function swapBack(uint256 tokens) private { uint256 contractBalance = balanceOf(address(this)); uint256 tokensToSwap; if (contractBalance == 0) { return; } if ((BuyFee+SellFee) == 0) { if(contractBalance > 0 && contractBalance < swapTokensAtAmount) { tokensToSwap = contractBalance; } else { uint256 sellFeeTokens = tokens.mul(SellFee).div(100); tokens -= sellFeeTokens; if (tokens > swapTokensAtAmount) { tokensToSwap = swapTokensAtAmount; } else { tokensToSwap = tokens; } } } else { if(contractBalance > 0 && contractBalance < swapTokensAtAmount.div(5)) { return; } else if (contractBalance > 0 && contractBalance > swapTokensAtAmount.div(5) && contractBalance < swapTokensAtAmount) { tokensToSwap = swapTokensAtAmount.div(5); } else { uint256 sellFeeTokens = tokens.mul(SellFee).div(100); tokens -= sellFeeTokens; if (tokens > swapTokensAtAmount) { tokensToSwap = swapTokensAtAmount; } else { tokensToSwap = tokens; } } } swapTokensForEth(tokensToSwap); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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"},{"inputs":[],"name":"BuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"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":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"clearStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removesLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526b033b2e3c9fd0803ce80000006009556a108b2a2c28029094000000600a819055600b556a084595161401484a000000600c55600d805460ff191690556019600e55602d600f5534801562000057575f80fd5b5060405162002421380380620024218339810160408190526200007a91620005d7565b6040518060400160405280600381526020016241706560e81b8152506040518060400160405280600381526020016241504560e81b8152508160039081620000c39190620006a3565b506004620000d28282620006a3565b505050620000ef620000e96200040860201b60201c565b6200040c565b737a250d5630b4cf539739df2c5dacb4c659f2488d60808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000143573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001699190620005d7565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001dd9190620005d7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000228573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200024e9190620005d7565b600680546001600160a01b0319166001600160a01b039290921691821790556200027a9060016200045d565b6006546001600160a01b03165f908152601160205260409020805460ff191660011790556080516001600160a01b03165f908152601160205260409020805460ff19166001179055600880546001600160a01b0319166001600160a01b038316179055620002e53390565b600780546001600160a01b0319166001600160a01b039283161790556005546200031291166001620004b0565b6200031f306001620004b0565b6200032c816001620004b0565b6200033b61dead6001620004b0565b62000375620003526005546001600160a01b031690565b6001600160a01b03165f908152601160205260409020805460ff19166001179055565b305f908152601160205260409020805460ff191660011790556001600160a01b0381165f908152601160205260409020805460ff1916600117905561dead5f5260116020527f97847ee99463795296047093514439c3127772df3715e628aa85601cf8541716805460ff1916600117905560075460095462000401916001600160a01b0316906200050e565b5062000795565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260126020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0382165f81815260106020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620005695760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f8282546200057c91906200076f565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b5f60208284031215620005e8575f80fd5b81516001600160a01b0381168114620005ff575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200062f57607f821691505b6020821081036200064e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620005d257805f5260205f20601f840160051c810160208510156200067b5750805b601f840160051c820191505b818110156200069c575f815560010162000687565b5050505050565b81516001600160401b03811115620006bf57620006bf62000606565b620006d781620006d084546200061a565b8462000654565b602080601f8311600181146200070d575f8415620006f55750858301515b5f19600386901b1c1916600185901b17855562000767565b5f85815260208120601f198616915b828110156200073d578886015182559484019460019091019084016200071c565b50858210156200075b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b808201808211156200078f57634e487b7160e01b5f52601160045260245ffd5b92915050565b608051611c5e620007c35f395f8181610340015281816114a70152818161155e015261159d0152611c5e5ff3fe6080604052600436106101d3575f3560e01c80638da5cb5b116100fd578063cf9522fd11610092578063f2fde38b11610062578063f2fde38b14610534578063f8b45b0514610553578063fb201b1d14610568578063ffb54a991461057c575f80fd5b8063cf9522fd146104d6578063dd62ed3e146104eb578063dd8546521461050a578063e2f456051461051f575f80fd5b8063a9059cbb116100cd578063a9059cbb14610464578063afa4f3b214610483578063b70143c9146104a2578063c8c8ebe4146104c1575f80fd5b80638da5cb5b146103f557806395d89b41146104125780639a7a23d614610426578063a457c2d714610445575f80fd5b80633950935111610173578063667f652611610143578063667f65261461037a57806370a0823114610399578063715018a6146103cd57806389291a8f146103e1575f80fd5b806339509351146102c55780633efb4783146102e45780634fbee193146102f8578063583e05681461032f575f80fd5b806323b872dd116101ae57806323b872dd14610255578063311028af14610274578063313ce56714610289578063346cc7be146102a4575f80fd5b806306fdde03146101de578063095ea7b31461020857806318160ddd14610237575f80fd5b366101da57005b5f80fd5b3480156101e9575f80fd5b506101f2610595565b6040516101ff919061189c565b60405180910390f35b348015610213575f80fd5b506102276102223660046118fc565b610625565b60405190151581526020016101ff565b348015610242575f80fd5b506002545b6040519081526020016101ff565b348015610260575f80fd5b5061022761026f366004611926565b61063e565b34801561027f575f80fd5b5061024760095481565b348015610294575f80fd5b50604051601281526020016101ff565b3480156102af575f80fd5b506102c36102be366004611964565b610661565b005b3480156102d0575f80fd5b506102276102df3660046118fc565b6107af565b3480156102ef575f80fd5b506102c36107d0565b348015610303575f80fd5b50610227610312366004611964565b6001600160a01b03165f9081526010602052604090205460ff1690565b34801561033a575f80fd5b506103627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101ff565b348015610385575f80fd5b506102c361039436600461197f565b6107ed565b3480156103a4575f80fd5b506102476103b3366004611964565b6001600160a01b03165f9081526020819052604090205490565b3480156103d8575f80fd5b506102c3610857565b3480156103ec575f80fd5b506102c361086a565b348015610400575f80fd5b506005546001600160a01b0316610362565b34801561041d575f80fd5b506101f26108fd565b348015610431575f80fd5b506102c36104403660046119ac565b61090c565b348015610450575f80fd5b5061022761045f3660046118fc565b6109a6565b34801561046f575f80fd5b5061022761047e3660046118fc565b610a20565b34801561048e575f80fd5b506102c361049d3660046119e3565b610a2d565b3480156104ad575f80fd5b506102c36104bc3660046119e3565b610a4d565b3480156104cc575f80fd5b50610247600a5481565b3480156104e1575f80fd5b50610247600f5481565b3480156104f6575f80fd5b506102476105053660046119fa565b610b20565b348015610515575f80fd5b50610247600e5481565b34801561052a575f80fd5b50610247600c5481565b34801561053f575f80fd5b506102c361054e366004611964565b610b4a565b34801561055e575f80fd5b50610247600b5481565b348015610573575f80fd5b506102c3610bc0565b348015610587575f80fd5b50600d546102279060ff1681565b6060600380546105a490611a26565b80601f01602080910402602001604051908101604052809291908181526020018280546105d090611a26565b801561061b5780601f106105f25761010080835404028352916020019161061b565b820191905f5260205f20905b8154815290600101906020018083116105fe57829003601f168201915b5050505050905090565b5f33610632818585610bd7565b60019150505b92915050565b5f3361064b858285610cfa565b610656858585610d6c565b506001949350505050565b6007546001600160a01b0316336001600160a01b031614610680575f80fd5b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156106c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ea9190611a5e565b90505f81116107355760405162461bcd60e51b81526020600482015260126024820152712737903a37b5b2b739903a379031b632b0b960711b60448201526064015b60405180910390fd5b60075460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610785573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a99190611a75565b50505050565b5f336106328185856107c18383610b20565b6107cb9190611aa4565b610bd7565b6107d8611354565b5f6107e260025490565b600a819055600b5550565b6107f5611354565b60638211158015610807575060638111155b61084c5760405162461bcd60e51b8152602060048201526016602482015275466565732063616e6e6f74206578636565642039392560501b604482015260640161072c565b600e91909155600f55565b61085f611354565b6108685f6113ae565b565b6007546001600160a01b0316336001600160a01b031614610889575f80fd5b5f47116108d15760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b604482015260640161072c565b60405133904780156108fc02915f818181858888f193505050501580156108fa573d5f803e3d5ffd5b50565b6060600480546105a490611a26565b610914611354565b6006546001600160a01b03908116908316036109985760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161072c565b6109a282826113ff565b5050565b5f33816109b38286610b20565b905083811015610a135760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161072c565b6106568286868403610bd7565b5f33610632818585610d6c565b610a35611354565b610a4781670de0b6b3a7640000611ab7565b600c5550565b6007546001600160a01b0316336001600160a01b031614610a6c575f80fd5b5f610a7660025490565b305f908152602081905260408120549192506064849003610a98575080610abb565b6064610aa48585611ab7565b610aae9190611ace565b905081811115610abb5750805b81811115610b175760405162461bcd60e51b8152602060048201526024808201527f5377617020616d6f756e74206578636565647320636f6e74726163742062616c604482015263616e636560e01b606482015260840161072c565b6107a981611452565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610b52611354565b6001600160a01b038116610bb75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161072c565b6108fa816113ae565b610bc8611354565b600d805460ff19166001179055565b6001600160a01b038316610c395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161072c565b6001600160a01b038216610c9a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161072c565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f610d058484610b20565b90505f1981146107a95781811015610d5f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161072c565b6107a98484848403610bd7565b6001600160a01b038316610d925760405162461bcd60e51b815260040161072c90611aed565b6001600160a01b038216610db85760405162461bcd60e51b815260040161072c90611b32565b805f03610dcf57610dca83835f61160f565b505050565b6001600160a01b0383165f9081526012602052604081205460ff16158015610e0f57506001600160a01b0383165f9081526012602052604090205460ff16155b9050610e236005546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610e5257506005546001600160a01b03848116911614155b8015610e6657506001600160a01b03831615155b8015610e7d57506001600160a01b03831661dead14155b8015610e935750600854600160a01b900460ff16155b1561118357600d5460ff16610f24576001600160a01b0384165f9081526010602052604090205460ff1680610edf57506001600160a01b0383165f9081526010602052604090205460ff165b610f245760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161072c565b6001600160a01b0384165f9081526012602052604090205460ff168015610f6357506001600160a01b0383165f9081526011602052604090205460ff16155b1561104657600a54821115610fd85760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161072c565b600b546001600160a01b0384165f90815260208190526040902054610ffd9084611aa4565b11156110415760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161072c565b611183565b6001600160a01b0383165f9081526012602052604090205460ff16801561108557506001600160a01b0384165f9081526011602052604090205460ff16155b156110fb57600a548211156110415760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161072c565b6001600160a01b0383165f9081526011602052604090205460ff1661118357600b546001600160a01b0384165f9081526020819052604090205461113f9084611aa4565b11156111835760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161072c565b305f908152602081905260408120549081158015906111a0575082155b90508080156111b95750600854600160a01b900460ff16155b80156111dd57506001600160a01b0386165f9081526012602052604090205460ff16155b801561120157506001600160a01b0386165f9081526010602052604090205460ff16155b801561122557506001600160a01b0385165f9081526010602052604090205460ff16155b15611254576008805460ff60a01b1916600160a01b17905561124684611737565b6008805460ff60a01b191690555b6008545f90600160a01b900460ff1615801561126e575083155b6001600160a01b0388165f9081526010602052604090205490915060ff16806112ae57506001600160a01b0386165f9081526010602052604090205460ff165b156112b657505f5b5f811561133f576001600160a01b0387165f9081526012602052604090205460ff1615611304576112fd60646112f7600f548961187f90919063ffffffff16565b90611891565b9050611321565b61131e60646112f7600e548961187f90919063ffffffff16565b90505b80156113325761133288308361160f565b61133c8187611b75565b95505b61134a88888861160f565b5050505050505050565b6005546001600160a01b031633146108685760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161072c565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260126020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061148557611485611b88565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611501573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115259190611b9c565b8160018151811061153857611538611b88565b60200260200101906001600160a01b031690816001600160a01b031681525050611583307f000000000000000000000000000000000000000000000000000000000000000084610bd7565b60085460405163791ac94760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263791ac947926115de9287925f92889291909116904290600401611bb7565b5f604051808303815f87803b1580156115f5575f80fd5b505af1158015611607573d5f803e3d5ffd5b505050505050565b6001600160a01b0383166116355760405162461bcd60e51b815260040161072c90611aed565b6001600160a01b03821661165b5760405162461bcd60e51b815260040161072c90611b32565b6001600160a01b0383165f90815260208190526040902054818110156116d25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161072c565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36107a9565b305f908152602081905260408120549081810361175357505050565b600f54600e546117639190611aa4565b5f036117cc575f821180156117795750600c5482105b15611785575080611876565b5f6117a060646112f7600f548761187f90919063ffffffff16565b90506117ac8185611b75565b9350600c548411156117c257600c5491506117c6565b8391505b50611876565b5f821180156117e75750600c546117e4906005611891565b82105b156117f157505050565b5f8211801561180c5750600c54611809906005611891565b82115b80156118195750600c5482105b1561183357600c5461182c906005611891565b9050611876565b5f61184e60646112f7600f548761187f90919063ffffffff16565b905061185a8185611b75565b9350600c5484111561187057600c549150611874565b8391505b505b610dca81611452565b5f61188a8284611ab7565b9392505050565b5f61188a8284611ace565b5f602080835283518060208501525f5b818110156118c8578581018301518582016040015282016118ac565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108fa575f80fd5b5f806040838503121561190d575f80fd5b8235611918816118e8565b946020939093013593505050565b5f805f60608486031215611938575f80fd5b8335611943816118e8565b92506020840135611953816118e8565b929592945050506040919091013590565b5f60208284031215611974575f80fd5b813561188a816118e8565b5f8060408385031215611990575f80fd5b50508035926020909101359150565b80151581146108fa575f80fd5b5f80604083850312156119bd575f80fd5b82356119c8816118e8565b915060208301356119d88161199f565b809150509250929050565b5f602082840312156119f3575f80fd5b5035919050565b5f8060408385031215611a0b575f80fd5b8235611a16816118e8565b915060208301356119d8816118e8565b600181811c90821680611a3a57607f821691505b602082108103611a5857634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215611a6e575f80fd5b5051919050565b5f60208284031215611a85575f80fd5b815161188a8161199f565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561063857610638611a90565b808202811582820484141761063857610638611a90565b5f82611ae857634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561063857610638611a90565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611bac575f80fd5b815161188a816118e8565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611c075784516001600160a01b031683529383019391830191600101611be2565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c17d4b36444e8d1325f6d0a8705e4d707d7f1482774ab10a5496bdb42c66421f64736f6c63430008180033000000000000000000000000ab963eb2348f9a757d48b85ae8553febca70f916
Deployed Bytecode
0x6080604052600436106101d3575f3560e01c80638da5cb5b116100fd578063cf9522fd11610092578063f2fde38b11610062578063f2fde38b14610534578063f8b45b0514610553578063fb201b1d14610568578063ffb54a991461057c575f80fd5b8063cf9522fd146104d6578063dd62ed3e146104eb578063dd8546521461050a578063e2f456051461051f575f80fd5b8063a9059cbb116100cd578063a9059cbb14610464578063afa4f3b214610483578063b70143c9146104a2578063c8c8ebe4146104c1575f80fd5b80638da5cb5b146103f557806395d89b41146104125780639a7a23d614610426578063a457c2d714610445575f80fd5b80633950935111610173578063667f652611610143578063667f65261461037a57806370a0823114610399578063715018a6146103cd57806389291a8f146103e1575f80fd5b806339509351146102c55780633efb4783146102e45780634fbee193146102f8578063583e05681461032f575f80fd5b806323b872dd116101ae57806323b872dd14610255578063311028af14610274578063313ce56714610289578063346cc7be146102a4575f80fd5b806306fdde03146101de578063095ea7b31461020857806318160ddd14610237575f80fd5b366101da57005b5f80fd5b3480156101e9575f80fd5b506101f2610595565b6040516101ff919061189c565b60405180910390f35b348015610213575f80fd5b506102276102223660046118fc565b610625565b60405190151581526020016101ff565b348015610242575f80fd5b506002545b6040519081526020016101ff565b348015610260575f80fd5b5061022761026f366004611926565b61063e565b34801561027f575f80fd5b5061024760095481565b348015610294575f80fd5b50604051601281526020016101ff565b3480156102af575f80fd5b506102c36102be366004611964565b610661565b005b3480156102d0575f80fd5b506102276102df3660046118fc565b6107af565b3480156102ef575f80fd5b506102c36107d0565b348015610303575f80fd5b50610227610312366004611964565b6001600160a01b03165f9081526010602052604090205460ff1690565b34801561033a575f80fd5b506103627f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016101ff565b348015610385575f80fd5b506102c361039436600461197f565b6107ed565b3480156103a4575f80fd5b506102476103b3366004611964565b6001600160a01b03165f9081526020819052604090205490565b3480156103d8575f80fd5b506102c3610857565b3480156103ec575f80fd5b506102c361086a565b348015610400575f80fd5b506005546001600160a01b0316610362565b34801561041d575f80fd5b506101f26108fd565b348015610431575f80fd5b506102c36104403660046119ac565b61090c565b348015610450575f80fd5b5061022761045f3660046118fc565b6109a6565b34801561046f575f80fd5b5061022761047e3660046118fc565b610a20565b34801561048e575f80fd5b506102c361049d3660046119e3565b610a2d565b3480156104ad575f80fd5b506102c36104bc3660046119e3565b610a4d565b3480156104cc575f80fd5b50610247600a5481565b3480156104e1575f80fd5b50610247600f5481565b3480156104f6575f80fd5b506102476105053660046119fa565b610b20565b348015610515575f80fd5b50610247600e5481565b34801561052a575f80fd5b50610247600c5481565b34801561053f575f80fd5b506102c361054e366004611964565b610b4a565b34801561055e575f80fd5b50610247600b5481565b348015610573575f80fd5b506102c3610bc0565b348015610587575f80fd5b50600d546102279060ff1681565b6060600380546105a490611a26565b80601f01602080910402602001604051908101604052809291908181526020018280546105d090611a26565b801561061b5780601f106105f25761010080835404028352916020019161061b565b820191905f5260205f20905b8154815290600101906020018083116105fe57829003601f168201915b5050505050905090565b5f33610632818585610bd7565b60019150505b92915050565b5f3361064b858285610cfa565b610656858585610d6c565b506001949350505050565b6007546001600160a01b0316336001600160a01b031614610680575f80fd5b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156106c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ea9190611a5e565b90505f81116107355760405162461bcd60e51b81526020600482015260126024820152712737903a37b5b2b739903a379031b632b0b960711b60448201526064015b60405180910390fd5b60075460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610785573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a99190611a75565b50505050565b5f336106328185856107c18383610b20565b6107cb9190611aa4565b610bd7565b6107d8611354565b5f6107e260025490565b600a819055600b5550565b6107f5611354565b60638211158015610807575060638111155b61084c5760405162461bcd60e51b8152602060048201526016602482015275466565732063616e6e6f74206578636565642039392560501b604482015260640161072c565b600e91909155600f55565b61085f611354565b6108685f6113ae565b565b6007546001600160a01b0316336001600160a01b031614610889575f80fd5b5f47116108d15760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b604482015260640161072c565b60405133904780156108fc02915f818181858888f193505050501580156108fa573d5f803e3d5ffd5b50565b6060600480546105a490611a26565b610914611354565b6006546001600160a01b03908116908316036109985760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161072c565b6109a282826113ff565b5050565b5f33816109b38286610b20565b905083811015610a135760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161072c565b6106568286868403610bd7565b5f33610632818585610d6c565b610a35611354565b610a4781670de0b6b3a7640000611ab7565b600c5550565b6007546001600160a01b0316336001600160a01b031614610a6c575f80fd5b5f610a7660025490565b305f908152602081905260408120549192506064849003610a98575080610abb565b6064610aa48585611ab7565b610aae9190611ace565b905081811115610abb5750805b81811115610b175760405162461bcd60e51b8152602060048201526024808201527f5377617020616d6f756e74206578636565647320636f6e74726163742062616c604482015263616e636560e01b606482015260840161072c565b6107a981611452565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610b52611354565b6001600160a01b038116610bb75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161072c565b6108fa816113ae565b610bc8611354565b600d805460ff19166001179055565b6001600160a01b038316610c395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161072c565b6001600160a01b038216610c9a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161072c565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f610d058484610b20565b90505f1981146107a95781811015610d5f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161072c565b6107a98484848403610bd7565b6001600160a01b038316610d925760405162461bcd60e51b815260040161072c90611aed565b6001600160a01b038216610db85760405162461bcd60e51b815260040161072c90611b32565b805f03610dcf57610dca83835f61160f565b505050565b6001600160a01b0383165f9081526012602052604081205460ff16158015610e0f57506001600160a01b0383165f9081526012602052604090205460ff16155b9050610e236005546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610e5257506005546001600160a01b03848116911614155b8015610e6657506001600160a01b03831615155b8015610e7d57506001600160a01b03831661dead14155b8015610e935750600854600160a01b900460ff16155b1561118357600d5460ff16610f24576001600160a01b0384165f9081526010602052604090205460ff1680610edf57506001600160a01b0383165f9081526010602052604090205460ff165b610f245760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161072c565b6001600160a01b0384165f9081526012602052604090205460ff168015610f6357506001600160a01b0383165f9081526011602052604090205460ff16155b1561104657600a54821115610fd85760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161072c565b600b546001600160a01b0384165f90815260208190526040902054610ffd9084611aa4565b11156110415760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161072c565b611183565b6001600160a01b0383165f9081526012602052604090205460ff16801561108557506001600160a01b0384165f9081526011602052604090205460ff16155b156110fb57600a548211156110415760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161072c565b6001600160a01b0383165f9081526011602052604090205460ff1661118357600b546001600160a01b0384165f9081526020819052604090205461113f9084611aa4565b11156111835760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161072c565b305f908152602081905260408120549081158015906111a0575082155b90508080156111b95750600854600160a01b900460ff16155b80156111dd57506001600160a01b0386165f9081526012602052604090205460ff16155b801561120157506001600160a01b0386165f9081526010602052604090205460ff16155b801561122557506001600160a01b0385165f9081526010602052604090205460ff16155b15611254576008805460ff60a01b1916600160a01b17905561124684611737565b6008805460ff60a01b191690555b6008545f90600160a01b900460ff1615801561126e575083155b6001600160a01b0388165f9081526010602052604090205490915060ff16806112ae57506001600160a01b0386165f9081526010602052604090205460ff165b156112b657505f5b5f811561133f576001600160a01b0387165f9081526012602052604090205460ff1615611304576112fd60646112f7600f548961187f90919063ffffffff16565b90611891565b9050611321565b61131e60646112f7600e548961187f90919063ffffffff16565b90505b80156113325761133288308361160f565b61133c8187611b75565b95505b61134a88888861160f565b5050505050505050565b6005546001600160a01b031633146108685760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161072c565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260126020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061148557611485611b88565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611501573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115259190611b9c565b8160018151811061153857611538611b88565b60200260200101906001600160a01b031690816001600160a01b031681525050611583307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610bd7565b60085460405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81169263791ac947926115de9287925f92889291909116904290600401611bb7565b5f604051808303815f87803b1580156115f5575f80fd5b505af1158015611607573d5f803e3d5ffd5b505050505050565b6001600160a01b0383166116355760405162461bcd60e51b815260040161072c90611aed565b6001600160a01b03821661165b5760405162461bcd60e51b815260040161072c90611b32565b6001600160a01b0383165f90815260208190526040902054818110156116d25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161072c565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36107a9565b305f908152602081905260408120549081810361175357505050565b600f54600e546117639190611aa4565b5f036117cc575f821180156117795750600c5482105b15611785575080611876565b5f6117a060646112f7600f548761187f90919063ffffffff16565b90506117ac8185611b75565b9350600c548411156117c257600c5491506117c6565b8391505b50611876565b5f821180156117e75750600c546117e4906005611891565b82105b156117f157505050565b5f8211801561180c5750600c54611809906005611891565b82115b80156118195750600c5482105b1561183357600c5461182c906005611891565b9050611876565b5f61184e60646112f7600f548761187f90919063ffffffff16565b905061185a8185611b75565b9350600c5484111561187057600c549150611874565b8391505b505b610dca81611452565b5f61188a8284611ab7565b9392505050565b5f61188a8284611ace565b5f602080835283518060208501525f5b818110156118c8578581018301518582016040015282016118ac565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108fa575f80fd5b5f806040838503121561190d575f80fd5b8235611918816118e8565b946020939093013593505050565b5f805f60608486031215611938575f80fd5b8335611943816118e8565b92506020840135611953816118e8565b929592945050506040919091013590565b5f60208284031215611974575f80fd5b813561188a816118e8565b5f8060408385031215611990575f80fd5b50508035926020909101359150565b80151581146108fa575f80fd5b5f80604083850312156119bd575f80fd5b82356119c8816118e8565b915060208301356119d88161199f565b809150509250929050565b5f602082840312156119f3575f80fd5b5035919050565b5f8060408385031215611a0b575f80fd5b8235611a16816118e8565b915060208301356119d8816118e8565b600181811c90821680611a3a57607f821691505b602082108103611a5857634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215611a6e575f80fd5b5051919050565b5f60208284031215611a85575f80fd5b815161188a8161199f565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561063857610638611a90565b808202811582820484141761063857610638611a90565b5f82611ae857634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561063857610638611a90565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611bac575f80fd5b815161188a816118e8565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611c075784516001600160a01b031683529383019391830191600101611be2565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c17d4b36444e8d1325f6d0a8705e4d707d7f1482774ab10a5496bdb42c66421f64736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ab963eb2348f9a757d48b85ae8553febca70f916
-----Decoded View---------------
Arg [0] : wallet (address): 0xAb963Eb2348F9a757D48B85ae8553feBCa70f916
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ab963eb2348f9a757d48b85ae8553febca70f916
Deployed Bytecode Sourcemap
14734:9361:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9758:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10690:201;;;;;;;;;;-1:-1:-1;10690:201:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10690:201:0;1023:187:1;10079:108:0;;;;;;;;;;-1:-1:-1;10167:12:0;;10079:108;;;1361:25:1;;;1349:2;1334:18;10079:108:0;1215:177:1;10899:295:0;;;;;;;;;;-1:-1:-1;10899:295:0;;;;;:::i;:::-;;:::i;15168:53::-;;;;;;;;;;;;;;;;9978:93;;;;;;;;;;-1:-1:-1;9978:93:0;;10061:2;2000:36:1;;1988:2;1973:18;9978:93:0;1858:184:1;21311:347:0;;;;;;;;;;-1:-1:-1;21311:347:0;;;;;:::i;:::-;;:::i;:::-;;11202:238;;;;;;;;;;-1:-1:-1;11202:238:0;;;;;:::i;:::-;;:::i;20876:194::-;;;;;;;;;;;;;:::i;17812:126::-;;;;;;;;;;-1:-1:-1;17812:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;17902:28:0;17878:4;17902:28;;;:19;:28;;;;;;;;;17812:126;14813:52;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2488:32:1;;;2470:51;;2458:2;2443:18;14813:52:0;2299:228:1;21666:211:0;;;;;;;;;;-1:-1:-1;21666:211:0;;;;;:::i;:::-;;:::i;10195:127::-;;;;;;;;;;-1:-1:-1;10195:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;10296:18:0;10269:7;10296:18;;;;;;;;;;;;10195:127;8834:103;;;;;;;;;;;;;:::i;21078:225::-;;;;;;;;;;;;;:::i;8599:87::-;;;;;;;;;;-1:-1:-1;8672:6:0;;-1:-1:-1;;;;;8672:6:0;8599:87;;9866:104;;;;;;;;;;;;;:::i;17368:242::-;;;;;;;;;;-1:-1:-1;17368:242:0;;;;;:::i;:::-;;:::i;11448:436::-;;;;;;;;;;-1:-1:-1;11448:436:0;;;;;:::i;:::-;;:::i;10330:193::-;;;;;;;;;;-1:-1:-1;10330:193:0;;;;;:::i;:::-;;:::i;21885:127::-;;;;;;;;;;-1:-1:-1;21885:127:0;;;;;:::i;:::-;;:::i;22020:667::-;;;;;;;;;;-1:-1:-1;22020:667:0;;;;;:::i;:::-;;:::i;15228:53::-;;;;;;;;;;;;;;;;15470:27;;;;;;;;;;;;;;;;10531:151;;;;;;;;;;-1:-1:-1;10531:151:0;;;;;:::i;:::-;;:::i;15437:26::-;;;;;;;;;;;;;;;;15337:51;;;;;;;;;;;;;;;;8945:201;;;;;;;;;;-1:-1:-1;8945:201:0;;;;;:::i;:::-;;:::i;15288:42::-;;;;;;;;;;;;;;;;16957:79;;;;;;;;;;;;;:::i;15397:31::-;;;;;;;;;;-1:-1:-1;15397:31:0;;;;;;;;9758:100;9812:13;9845:5;9838:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9758:100;:::o;10690:201::-;10773:4;323:10;10829:32;323:10;10845:7;10854:6;10829:8;:32::i;:::-;10879:4;10872:11;;;10690:201;;;;;:::o;10899:295::-;11030:4;323:10;11088:38;11104:4;323:10;11119:6;11088:15;:38::i;:::-;11137:27;11147:4;11153:2;11157:6;11137:9;:27::i;:::-;-1:-1:-1;11182:4:0;;10899:295;-1:-1:-1;;;;10899:295:0:o;21311:347::-;21403:14;;-1:-1:-1;;;;;21403:14:0;323:10;-1:-1:-1;;;;;21387:30:0;;21379:39;;;;;;21501:38;;-1:-1:-1;;;21501:38:0;;21533:4;21501:38;;;2470:51:1;21459:12:0;;21429:20;;-1:-1:-1;;;;;21501:23:0;;;;;2443:18:1;;21501:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21483:56;;21568:1;21558:7;:11;21550:42;;;;-1:-1:-1;;;21550:42:0;;4857:2:1;21550:42:0;;;4839:21:1;4896:2;4876:18;;;4869:30;-1:-1:-1;;;4915:18:1;;;4908:48;4973:18;;21550:42:0;;;;;;;;;21626:14;;21603:47;;-1:-1:-1;;;21603:47:0;;-1:-1:-1;;;;;21626:14:0;;;21603:47;;;5176:51:1;5243:18;;;5236:34;;;21603:22:0;;;;;;5149:18:1;;21603:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21368:290;;21311:347;:::o;11202:238::-;11290:4;323:10;11346:64;323:10;11362:7;11399:10;11371:25;323:10;11362:7;11371:9;:25::i;:::-;:38;;;;:::i;:::-;11346:8;:64::i;20876:194::-;8558:13;:11;:13::i;:::-;20930:25:::1;20958:13;10167:12:::0;;;10079:108;20958:13:::1;20982:20;:40:::0;;;21033:9:::1;:29:::0;-1:-1:-1;20876:194:0:o;21666:211::-;8558:13;:11;:13::i;:::-;21766:2:::1;21755:7;:13;;:31;;;;;21784:2;21772:8;:14;;21755:31;21747:66;;;::::0;-1:-1:-1;;;21747:66:0;;5995:2:1;21747:66:0::1;::::0;::::1;5977:21:1::0;6034:2;6014:18;;;6007:30;-1:-1:-1;;;6053:18:1;;;6046:52;6115:18;;21747:66:0::1;5793:346:1::0;21747:66:0::1;21824:6;:16:::0;;;;21851:7:::1;:18:::0;21666:211::o;8834:103::-;8558:13;:11;:13::i;:::-;8899:30:::1;8926:1;8899:18;:30::i;:::-;8834:103::o:0;21078:225::-;21147:14;;-1:-1:-1;;;;;21147:14:0;323:10;-1:-1:-1;;;;;21131:30:0;;21123:39;;;;;;21205:1;21181:21;:25;21173:60;;;;-1:-1:-1;;;21173:60:0;;6346:2:1;21173:60:0;;;6328:21:1;6385:2;6365:18;;;6358:30;-1:-1:-1;;;6404:18:1;;;6397:52;6466:18;;21173:60:0;6144:346:1;21173:60:0;21244:51;;21252:10;;21273:21;21244:51;;;;;;;;;21273:21;21252:10;21244:51;;;;;;;;;;;;;;;;;;;;;21078:225::o;9866:104::-;9922:13;9955:7;9948:14;;;;;:::i;17368:242::-;8558:13;:11;:13::i;:::-;17475::::1;::::0;-1:-1:-1;;;;;17475:13:0;;::::1;17467:21:::0;;::::1;::::0;17459:91:::1;;;::::0;-1:-1:-1;;;17459:91:0;;6697:2:1;17459:91:0::1;::::0;::::1;6679:21:1::0;6736:2;6716:18;;;6709:30;6775:34;6755:18;;;6748:62;6846:27;6826:18;;;6819:55;6891:19;;17459:91:0::1;6495:421:1::0;17459:91:0::1;17561:41;17590:4;17596:5;17561:28;:41::i;:::-;17368:242:::0;;:::o;11448:436::-;11541:4;323:10;11541:4;11624:25;323:10;11641:7;11624:9;:25::i;:::-;11597:52;;11688:15;11668:16;:35;;11660:85;;;;-1:-1:-1;;;11660:85:0;;7123:2:1;11660:85:0;;;7105:21:1;7162:2;7142:18;;;7135:30;7201:34;7181:18;;;7174:62;-1:-1:-1;;;7252:18:1;;;7245:35;7297:19;;11660:85:0;6921:401:1;11660:85:0;11781:60;11790:5;11797:7;11825:15;11806:16;:34;11781:8;:60::i;10330:193::-;10409:4;323:10;10465:28;323:10;10482:2;10486:6;10465:9;:28::i;21885:127::-;8558:13;:11;:13::i;:::-;21984:20:::1;:7:::0;21995:8:::1;21984:20;:::i;:::-;21963:18;:41:::0;-1:-1:-1;21885:127:0:o;22020:667::-;22101:14;;-1:-1:-1;;;;;22101:14:0;323:10;-1:-1:-1;;;;;22085:30:0;;22077:39;;;;;;22127:25;22155:13;10167:12;;;10079:108;22155:13;22223:4;22179:23;10296:18;;;;;;;;;;;22127:41;;-1:-1:-1;22288:3:0;22277:14;;;22273:273;;-1:-1:-1;22323:15:0;22273:273;;;22416:3;22386:27;22406:7;22386:17;:27;:::i;:::-;:33;;;;:::i;:::-;22371:48;;22453:15;22438:12;:30;22434:101;;;-1:-1:-1;22504:15:0;22434:101;22582:15;22566:12;:31;;22558:80;;;;-1:-1:-1;;;22558:80:0;;7924:2:1;22558:80:0;;;7906:21:1;7963:2;7943:18;;;7936:30;8002:34;7982:18;;;7975:62;-1:-1:-1;;;8053:18:1;;;8046:34;8097:19;;22558:80:0;7722:400:1;22558:80:0;22649:30;22666:12;22649:16;:30::i;10531:151::-;-1:-1:-1;;;;;10647:18:0;;;10620:7;10647:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10531:151::o;8945:201::-;8558:13;:11;:13::i;:::-;-1:-1:-1;;;;;9034:22:0;::::1;9026:73;;;::::0;-1:-1:-1;;;9026:73:0;;8329:2:1;9026:73:0::1;::::0;::::1;8311:21:1::0;8368:2;8348:18;;;8341:30;8407:34;8387:18;;;8380:62;-1:-1:-1;;;8458:18:1;;;8451:36;8504:19;;9026:73:0::1;8127:402:1::0;9026:73:0::1;9110:28;9129:8;9110:18;:28::i;16957:79::-:0;8558:13;:11;:13::i;:::-;17010:11:::1;:18:::0;;-1:-1:-1;;17010:18:0::1;17024:4;17010:18;::::0;;16957:79::o;13621:380::-;-1:-1:-1;;;;;13757:19:0;;13749:68;;;;-1:-1:-1;;;13749:68:0;;8736:2:1;13749:68:0;;;8718:21:1;8775:2;8755:18;;;8748:30;8814:34;8794:18;;;8787:62;-1:-1:-1;;;8865:18:1;;;8858:34;8909:19;;13749:68:0;8534:400:1;13749:68:0;-1:-1:-1;;;;;13836:21:0;;13828:68;;;;-1:-1:-1;;;13828:68:0;;9141:2:1;13828:68:0;;;9123:21:1;9180:2;9160:18;;;9153:30;9219:34;9199:18;;;9192:62;-1:-1:-1;;;9270:18:1;;;9263:32;9312:19;;13828:68:0;8939:398:1;13828:68:0;-1:-1:-1;;;;;13909:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13961:32;;1361:25:1;;;13961:32:0;;1334:18:1;13961:32:0;;;;;;;13621:380;;;:::o;14009:453::-;14144:24;14171:25;14181:5;14188:7;14171:9;:25::i;:::-;14144:52;;-1:-1:-1;;14211:16:0;:37;14207:248;;14293:6;14273:16;:26;;14265:68;;;;-1:-1:-1;;;14265:68:0;;9544:2:1;14265:68:0;;;9526:21:1;9583:2;9563:18;;;9556:30;9622:31;9602:18;;;9595:59;9671:18;;14265:68:0;9342:353:1;14265:68:0;14377:51;14386:5;14393:7;14421:6;14402:16;:25;14377:8;:51::i;17946:2433::-;-1:-1:-1;;;;;18046:18:0;;18038:68;;;;-1:-1:-1;;;18038:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18125:16:0;;18117:64;;;;-1:-1:-1;;;18117:64:0;;;;;;;:::i;:::-;18198:6;18208:1;18198:11;18194:93;;18226:28;18242:4;18248:2;18252:1;18226:15;:28::i;:::-;17946:2433;;;:::o;18194:93::-;-1:-1:-1;;;;;18326:31:0;;18307:15;18326:31;;;:25;:31;;;;;;;;18325:32;:66;;;;-1:-1:-1;;;;;;18362:29:0;;;;;;:25;:29;;;;;;;;18361:30;18325:66;18307:84;;18416:7;8672:6;;-1:-1:-1;;;;;8672:6:0;;8599:87;18416:7;-1:-1:-1;;;;;18408:15:0;:4;-1:-1:-1;;;;;18408:15:0;;;:32;;;;-1:-1:-1;8672:6:0;;-1:-1:-1;;;;;18427:13:0;;;8672:6;;18427:13;;18408:32;:52;;;;-1:-1:-1;;;;;;18444:16:0;;;;18408:52;:77;;;;-1:-1:-1;;;;;;18464:21:0;;18478:6;18464:21;;18408:77;:90;;;;-1:-1:-1;18490:8:0;;-1:-1:-1;;;18490:8:0;;;;18489:9;18408:90;18404:1000;;;18522:11;;;;18517:140;;-1:-1:-1;;;;;18562:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;18591:23:0;;;;;;:19;:23;;;;;;;;18562:52;18554:87;;;;-1:-1:-1;;;18554:87:0;;10712:2:1;18554:87:0;;;10694:21:1;10751:2;10731:18;;;10724:30;-1:-1:-1;;;10770:18:1;;;10763:52;10832:18;;18554:87:0;10510:346:1;18554:87:0;-1:-1:-1;;;;;18677:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;18713:35:0;;;;;;:31;:35;;;;;;;;18712:36;18677:71;18673:706;;;18787:20;;18777:6;:30;;18769:96;;;;-1:-1:-1;;;18769:96:0;;11063:2:1;18769:96:0;;;11045:21:1;11102:2;11082:18;;;11075:30;11141:34;11121:18;;;11114:62;-1:-1:-1;;;11192:18:1;;;11185:51;11253:19;;18769:96:0;10861:417:1;18769:96:0;18918:9;;-1:-1:-1;;;;;10296:18:0;;10269:7;10296:18;;;;;;;;;;;18892:22;;:6;:22;:::i;:::-;:35;;18884:67;;;;-1:-1:-1;;;18884:67:0;;11485:2:1;18884:67:0;;;11467:21:1;11524:2;11504:18;;;11497:30;-1:-1:-1;;;11543:18:1;;;11536:49;11602:18;;18884:67:0;11283:343:1;18884:67:0;18673:706;;;-1:-1:-1;;;;;18992:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;19026:37:0;;;;;;:31;:37;;;;;;;;19025:38;18992:71;18988:391;;;19102:20;;19092:6;:30;;19084:97;;;;-1:-1:-1;;;19084:97:0;;11833:2:1;19084:97:0;;;11815:21:1;11872:2;11852:18;;;11845:30;11911:34;11891:18;;;11884:62;-1:-1:-1;;;11962:18:1;;;11955:52;12024:19;;19084:97:0;11631:418:1;18988:391:0;-1:-1:-1;;;;;19240:35:0;;;;;;:31;:35;;;;;;;;19235:144;;19330:9;;-1:-1:-1;;;;;10296:18:0;;10269:7;10296:18;;;;;;;;;;;19304:22;;:6;:22;:::i;:::-;:35;;19296:67;;;;-1:-1:-1;;;19296:67:0;;11485:2:1;19296:67:0;;;11467:21:1;11524:2;11504:18;;;11497:30;-1:-1:-1;;;11543:18:1;;;11536:49;11602:18;;19296:67:0;11283:343:1;19296:67:0;19465:4;19416:28;10296:18;;;;;;;;;;;;19499:24;;;;;:39;;;19528:10;19527:11;19499:39;19484:54;;19555:7;:20;;;;-1:-1:-1;19567:8:0;;-1:-1:-1;;;19567:8:0;;;;19566:9;19555:20;:56;;;;-1:-1:-1;;;;;;19580:31:0;;;;;;:25;:31;;;;;;;;19579:32;19555:56;:86;;;;-1:-1:-1;;;;;;19616:25:0;;;;;;:19;:25;;;;;;;;19615:26;19555:86;:114;;;;-1:-1:-1;;;;;;19646:23:0;;;;;;:19;:23;;;;;;;;19645:24;19555:114;19551:224;;;19686:8;:15;;-1:-1:-1;;;;19686:15:0;-1:-1:-1;;;19686:15:0;;;19716:16;19725:6;19716:8;:16::i;:::-;19747:8;:16;;-1:-1:-1;;;;19747:16:0;;;19551:224;19803:8;;19787:12;;-1:-1:-1;;;19803:8:0;;;;19802:9;:24;;;;;19816:10;19815:11;19802:24;-1:-1:-1;;;;;19843:25:0;;;;;;:19;:25;;;;;;19787:39;;-1:-1:-1;19843:25:0;;;:52;;-1:-1:-1;;;;;;19872:23:0;;;;;;:19;:23;;;;;;;;19843:52;19839:100;;;-1:-1:-1;19922:5:0;19839:100;19951:12;19984:7;19980:348;;;-1:-1:-1;;;;;20012:29:0;;;;;;:25;:29;;;;;;;;20008:193;;;20069:28;20093:3;20069:19;20080:7;;20069:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;20062:35;;20008:193;;;20158:27;20181:3;20158:18;20169:6;;20158;:10;;:18;;;;:::i;:27::-;20151:34;;20008:193;20217:8;;20213:83;;20242:42;20258:4;20272;20279;20242:15;:42::i;:::-;20306:14;20316:4;20306:14;;:::i;:::-;;;19980:348;20338:33;20354:4;20360:2;20364:6;20338:15;:33::i;:::-;18025:2354;;;;;17946:2433;;;:::o;8694:132::-;8672:6;;-1:-1:-1;;;;;8672:6:0;323:10;8758:23;8750:68;;;;-1:-1:-1;;;8750:68:0;;12389:2:1;8750:68:0;;;12371:21:1;;;12408:18;;;12401:30;12467:34;12447:18;;;12440:62;12519:18;;8750:68:0;12187:356:1;9154:191:0;9247:6;;;-1:-1:-1;;;;;9264:17:0;;;-1:-1:-1;;;;;;9264:17:0;;;;;;;9297:40;;9247:6;;;9264:17;9247:6;;9297:40;;9228:16;;9297:40;9217:128;9154:191;:::o;17618:186::-;-1:-1:-1;;;;;17701:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;17701:39:0;;;;;;;;;;17756:40;;17701:39;;:31;17756:40;;;17618:186;;:::o;20387:482::-;20479:16;;;20493:1;20479:16;;;;;;;;20455:21;;20479:16;;;;;;;;;;-1:-1:-1;20479:16:0;20455:40;;20524:4;20506;20511:1;20506:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;20506:23:0;;;-1:-1:-1;;;;;20506:23:0;;;;;20550:16;-1:-1:-1;;;;;20550:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20540:4;20545:1;20540:7;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;20540:33:0;;;-1:-1:-1;;;;;20540:33:0;;;;;20586:63;20603:4;20618:16;20637:11;20586:8;:63::i;:::-;20805:15;;20662:199;;-1:-1:-1;;;20662:199:0;;-1:-1:-1;;;;;20662:16:0;:67;;;;;:199;;20744:11;;20770:1;;20786:4;;20805:15;;;;;20835;;20662:199;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20442:427;20387:482;:::o;11892:675::-;-1:-1:-1;;;;;12023:18:0;;12015:68;;;;-1:-1:-1;;;12015:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12102:16:0;;12094:64;;;;-1:-1:-1;;;12094:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12244:15:0;;12222:19;12244:15;;;;;;;;;;;12278:21;;;;12270:72;;;;-1:-1:-1;;;12270:72:0;;14255:2:1;12270:72:0;;;14237:21:1;14294:2;14274:18;;;14267:30;14333:34;14313:18;;;14306:62;-1:-1:-1;;;14384:18:1;;;14377:36;14430:19;;12270:72:0;14053:402:1;12270:72:0;-1:-1:-1;;;;;12378:15:0;;;:9;:15;;;;;;;;;;;12396:20;;;12378:38;;12431:13;;;;;;;;;;:23;;;;;;12483:26;;1361:25:1;;;12431:13:0;;12483:26;;1334:18:1;12483:26:0;;;;;;;12522:37;17946:2433;22695:1397;22792:4;22748:23;10296:18;;;;;;;;;;;;22847:20;;;22843:59;;22884:7;;22695:1397;:::o;22843:59::-;22926:7;;22919:6;;:14;;;;:::i;:::-;22938:1;22918:21;22914:1130;;22975:1;22957:15;:19;:59;;;;;22998:18;;22980:15;:36;22957:59;22954:443;;;-1:-1:-1;23048:15:0;22914:1130;;22954:443;23105:21;23129:28;23153:3;23129:19;23140:7;;23129:6;:10;;:19;;;;:::i;:28::-;23105:52;-1:-1:-1;23172:23:0;23105:52;23172:23;;:::i;:::-;;;23223:18;;23214:6;:27;23210:176;;;23277:18;;23262:33;;23210:176;;;23364:6;23349:21;;23210:176;23090:307;22914:1130;;;23451:1;23433:15;:19;:66;;;;-1:-1:-1;23474:18:0;;:25;;23497:1;23474:22;:25::i;:::-;23456:15;:43;23433:66;23430:607;;;23516:7;;22695:1397;:::o;23430:607::-;23571:1;23553:15;:19;:66;;;;-1:-1:-1;23594:18:0;;:25;;23617:1;23594:22;:25::i;:::-;23576:15;:43;23553:66;:106;;;;;23641:18;;23623:15;:36;23553:106;23549:488;;;23691:18;;:25;;23714:1;23691:22;:25::i;:::-;23676:40;;23549:488;;;23758:21;23782:28;23806:3;23782:19;23793:7;;23782:6;:10;;:19;;;;:::i;:28::-;23758:52;-1:-1:-1;23825:23:0;23758:52;23825:23;;:::i;:::-;;;23876:18;;23867:6;:27;23863:163;;;23930:18;;23915:33;;23863:163;;;24004:6;23989:21;;23863:163;23743:294;23549:488;24054:30;24071:12;24054:16;:30::i;6395:98::-;6453:7;6480:5;6484:1;6480;:5;:::i;:::-;6473:12;6395:98;-1:-1:-1;;;6395:98:0:o;6501:::-;6559:7;6586:5;6590:1;6586;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2532:248::-;2600:6;2608;2661:2;2649:9;2640:7;2636:23;2632:32;2629:52;;;2677:1;2674;2667:12;2629:52;-1:-1:-1;;2700:23:1;;;2770:2;2755:18;;;2742:32;;-1:-1:-1;2532:248:1:o;2993:118::-;3079:5;3072:13;3065:21;3058:5;3055:32;3045:60;;3101:1;3098;3091:12;3116:382;3181:6;3189;3242:2;3230:9;3221:7;3217:23;3213:32;3210:52;;;3258:1;3255;3248:12;3210:52;3297:9;3284:23;3316:31;3341:5;3316:31;:::i;:::-;3366:5;-1:-1:-1;3423:2:1;3408:18;;3395:32;3436:30;3395:32;3436:30;:::i;:::-;3485:7;3475:17;;;3116:382;;;;;:::o;3503:180::-;3562:6;3615:2;3603:9;3594:7;3590:23;3586:32;3583:52;;;3631:1;3628;3621:12;3583:52;-1:-1:-1;3654:23:1;;3503:180;-1:-1:-1;3503:180:1:o;3688:388::-;3756:6;3764;3817:2;3805:9;3796:7;3792:23;3788:32;3785:52;;;3833:1;3830;3823:12;3785:52;3872:9;3859:23;3891:31;3916:5;3891:31;:::i;:::-;3941:5;-1:-1:-1;3998:2:1;3983:18;;3970:32;4011:33;3970:32;4011:33;:::i;4081:380::-;4160:1;4156:12;;;;4203;;;4224:61;;4278:4;4270:6;4266:17;4256:27;;4224:61;4331:2;4323:6;4320:14;4300:18;4297:38;4294:161;;4377:10;4372:3;4368:20;4365:1;4358:31;4412:4;4409:1;4402:15;4440:4;4437:1;4430:15;4294:161;;4081:380;;;:::o;4466:184::-;4536:6;4589:2;4577:9;4568:7;4564:23;4560:32;4557:52;;;4605:1;4602;4595:12;4557:52;-1:-1:-1;4628:16:1;;4466:184;-1:-1:-1;4466:184:1:o;5281:245::-;5348:6;5401:2;5389:9;5380:7;5376:23;5372:32;5369:52;;;5417:1;5414;5407:12;5369:52;5449:9;5443:16;5468:28;5490:5;5468:28;:::i;5531:127::-;5592:10;5587:3;5583:20;5580:1;5573:31;5623:4;5620:1;5613:15;5647:4;5644:1;5637:15;5663:125;5728:9;;;5749:10;;;5746:36;;;5762:18;;:::i;7327:168::-;7400:9;;;7431;;7448:15;;;7442:22;;7428:37;7418:71;;7469:18;;:::i;7500:217::-;7540:1;7566;7556:132;;7610:10;7605:3;7601:20;7598:1;7591:31;7645:4;7642:1;7635:15;7673:4;7670:1;7663:15;7556:132;-1:-1:-1;7702:9:1;;7500:217::o;9700:401::-;9902:2;9884:21;;;9941:2;9921:18;;;9914:30;9980:34;9975:2;9960:18;;9953:62;-1:-1:-1;;;10046:2:1;10031:18;;10024:35;10091:3;10076:19;;9700:401::o;10106:399::-;10308:2;10290:21;;;10347:2;10327:18;;;10320:30;10386:34;10381:2;10366:18;;10359:62;-1:-1:-1;;;10452:2:1;10437:18;;10430:33;10495:3;10480:19;;10106:399::o;12054:128::-;12121:9;;;12142:11;;;12139:37;;;12156:18;;:::i;12680:127::-;12741:10;12736:3;12732:20;12729:1;12722:31;12772:4;12769:1;12762:15;12796:4;12793:1;12786:15;12812:251;12882:6;12935:2;12923:9;12914:7;12910:23;12906:32;12903:52;;;12951:1;12948;12941:12;12903:52;12983:9;12977:16;13002:31;13027:5;13002:31;:::i;13068:980::-;13330:4;13378:3;13367:9;13363:19;13409:6;13398:9;13391:25;13435:2;13473:6;13468:2;13457:9;13453:18;13446:34;13516:3;13511:2;13500:9;13496:18;13489:31;13540:6;13575;13569:13;13606:6;13598;13591:22;13644:3;13633:9;13629:19;13622:26;;13683:2;13675:6;13671:15;13657:29;;13704:1;13714:195;13728:6;13725:1;13722:13;13714:195;;;13793:13;;-1:-1:-1;;;;;13789:39:1;13777:52;;13884:15;;;;13849:12;;;;13825:1;13743:9;13714:195;;;-1:-1:-1;;;;;;;13965:32:1;;;;13960:2;13945:18;;13938:60;-1:-1:-1;;;14029:3:1;14014:19;14007:35;13926:3;13068:980;-1:-1:-1;;;13068:980:1:o
Swarm Source
ipfs://c17d4b36444e8d1325f6d0a8705e4d707d7f1482774ab10a5496bdb42c66421f
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.